v2rayA 局域网特定 IP 直连
经过 core 直连这种情况下会经过 core 的一层 NAT,不仅耗费资源,源端口会发生改变,如果 core 的 NAT 类型受限时,UDP 的 NAT 类型也会受限,是一种较为局限的直连方式。但该方式配置简单,可在要求不高的情况下使用。 将“透明代理”选为“与规则端口所选模式一致”;将“规则端口的分流模式”选为“RoutingA”。 使用 RoutingA 设置直连源 IP: 12# 下条规则需要插入靠前位置source(192.168.0.12/32, 192.168.0.15/32) -> direct 此时 192.168.0.12/32 和 192.168.0.15/32 即可直连。上述 IP 表示法为 CIDR,如需表示多个 IP,可于互联网搜索 CIDR 相关写法,也可通过多写几条规则实现。 不经过 core 的完全直连由于经过 core 的直连有诸多弊处,下面介绍利用 tproxy 生命周期钩子修改 iptables 规则,使得局域网 IP 不经过 core 直连。生命周期钩子的介绍见 生命周期钩子 一节。 下面以使局域网 IP...
v2rayA高级应用介绍
v2rayA 高级应用无 ROOT 权限运行 V2rayA 多节点分流 指定 Docker 容器代理 BT 下载直连 解锁网易云灰色歌曲 群晖实现透明代理 高级 DNS 设置 作为服务端进行公网传输 HTTP/Socks 带密码的入站 将 V2rayA 部署于前缀路径中 使 Tproxy 支持本机 Docker 容器 自定义 V2ray-Core 配置 局域网特定 IP 直连
自定义 v2ray-core 配置
自定义 v2ray-core 配置下面介绍利用 core 生命周期钩子修改 v2ray-core 的 config.json,使得自定义配置文件成为可能。生命周期钩子的介绍见 生命周期钩子 一节。 下面使用脚本在 v2ray-core 启动前添加一个支持 sniffing 的 sniffing-socks 入站,并修改路由部分使得该端口的分流模式跟随规则端口。 首先确保 /usr/bin/python 可用。 编写如下 python 脚本,将其存储于 /etc/v2raya/core-hook.py : 1234567891011121314151617181920212223242526272829303132333435363738394041424344#!/usr/bin/pythonimport argparsefrom os import pathimport jsondef main(): # parse the arguments parser = argparse.ArgumentParser() ...
使 tproxy 支持本机 docker 容器
使 tproxy 模式支持 docker 容器由于默认情况下 docker 加载的 iptables 网桥模块并不被 tproxy 所支持,v2rayA 在 tproxy 模式下会添加一条规则跳过 docker 容器的代理。而根据 springzfx/cgproxy#10 ,如果你不需要避免 hairpin nat 问题,可通过一些操作使得 tproxy 模式重新支持代理 docker 容器。 下面介绍利用透明代理生命周期钩子修改 iptables 规则使得 tproxy 支持 docker 容器。生命周期钩子的介绍见 生命周期钩子 一节。 编写如下脚本,将其存储于 /etc/v2raya/tproxy-hook.sh : 1234567891011121314151617181920212223242526272829303132333435363738394041#!/bin/bash# parse the argumentsfor i in "$@"; do case $i in --transparent-type=*) ...
v2rayA 生命周期钩子
使用 v2rayA 的 --transparent-hook 参数以及对应的环境变量 V2RAYA_TRANSPARENT_HOOK 可在透明代理启动前、启动后,停止前、停止后运行用户提供的程序,用户可在自定义程序中添加、删除或修改 iptables 规则、sysctl 规则或执行任意其他命令,以达成高级用法。v2rayA 参数的传递请参考 环境变量和命令行参数 一节中的说明。与其对应的,--core-hook 可在 v2ray-core 启动前、启动后,停止前、停止后运行用户提供的程序。 除了用户需要给 v2rayA 提供的一个参数外,v2rayA 还会在执行用户自定义程序时传入参数以告知上下文信息。用户可在自定义程序中解析传入的参数,以判断当前 v2rayA 的透明代理类型 (tproxy, redirect, system_proxy),以及当前所处阶段 (pre-start, post-start, pre-stop, post-stop)。 下表表示了 v2rayA...
将 v2rayA 部署于前缀路径中
Nginx下面例子中将 v2rayA 部署到 http://example.com:8080/v2raya 。注意,例中未包含 TLS 相关配置,建议添加 TLS 相关配置。 1234567891011121314151617181920212223http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 8080; server_name example.com; location ^~ /v2raya { proxy_pass http://bla:2017/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; ...
群晖实现透明代理
安装也是采用Docker的方式,所以首先确认你的群晖系统是否支持Docker 补齐缺失的iptables模块按照 Docker安装 之后,启用redirect或tproxy透明代理模式,类似旁路由模式,就会遇到iptables缺失相关的报错。群晖系统是一个定制版Linux系统,透明代理需要的iptables相关模块并没有包含,所以解决方案就是补齐缺失的iptables模块,具体参考 syno-iptables 下载安装预编译模块或者自编译。 加载缺失的模块并启动容器在v2rayA启动时,为了确保所需的内核模块已经加载,可以覆盖默认的entrypoint为一个脚本,负责加载模块然后启动v2rayA,以下为docker run示例。 1234567891011docker run -d \ --restart=always \ --privileged \ --network=host \ --name v2raya \ -e V2RAYA_ADDRESS=0.0.0.0:2017 \ -v /lib/modules:/lib/modules \ -v...
如何编译v2rayA
准备构建环境确保你的系统上安装了 yarn、nodejs、git 和 golang。 Windows从 scoop 安装: 1scoop install yarn nodejs-lts go 如果你是在刚刚安装 scoop 之后运行该命令,那么你还需要安装 git 或 mingit。 建议安装 PowerShell Core,,如此 scoop 将能更好地工作(尤其是在旧版本 Windows 系统中)。可以从 GitHub 或 Microsoft Store 下载 PowerShell Core。 Arch Linux 及其衍生版1sudo pacman -S git yarn go 其它 Linux 部分发行版可能提供了 NodeJS 与 Go 语言的安装包,下面的安装方法主要以手动安装为主。 安装 Git:Debian / Ubuntu 1sudo apt install git RedHat / Alma Linux / Rocky Linux /Fedora 1sudo dnf install...
v2rayA FAQ
v2rayA 会有 Electron 版本吗?A: v2rayA 变成 Electron 是可能的,但是官方不会去做,因为大家的 PC 上有太多的 Chromium 了,我们不想让这个世界上再多一个 Chromium 的新皮肤。 开发组提供付费服务吗?A: 不提供任何付费服务,如果你愿意支持我们,提交代码是一个非常好的选择。 旁路由需要注意什么?A: 需要注意网关的层次,不能“互指”,同时建议开启“允许 IP 转发”以启用 Linux 系统的 IP Forwarding 功能。除此之外,DNS 查询也需要让 v2rayA 本身或者 v2rayA 所在主机的 DNS 查询软件接管,否则很可能无法避免 DNS 污染问题。 v2rayA 开发者都是哪里人?A: 我们都是 100% 的地球人,相信我,我们中间没有外星人或机器人。 为啥快捷方式/桌面图标打开来是空白的网页?A: 桌面上的图标、菜单里面的图标的本质都是试图打开 http://localhost:2017 这个网页,即 v2rayA 默认监听的端口。你需要使用 systemctl 或 brew services...
v2rayA 高级 DNS 设置
常规用法默认的防止 DNS 污染规则通常使用预设的 DNS 公共服务器,高级用户可使用高级 DNS 设置进行自定义。 规则如下: 123tcp://223.5.5.5 -> direct119.29.29.29 -> directhttps://dns.google -> proxy 通常使用第一条规则进行 DNS 查询,当查询失败时将使用第二条,其后亦然。 使用 TCP 方式查询时应注意 DNS 是否支持 TCP 查询。 箭头右方的“出站名”表示使用左侧的 DNS 进行查询时使用的出站出口。 使用其他 DNS 客户端有时我们希望使用其他 DNS 客户端,例如 AdGuard 的 dnsproxy 接管本机的 DNS 请求。本节介绍如何做到这点。本节默认你已开启透明代理。 当使用 redirect 模式时当“透明代理实现方式”使用 redirect 时,将“防止DNS污染”设为关闭即可。 将“防止DNS污染”设为关闭后,v2ray-core 将不会设置 DNS 入站,从而避免 DNS 冲突。 redirect 模式下 UDP 流量不会经过...
