linux下使用v2ray客户端以及PAC配置

安装v2ray

V2Ray 是一个与 Shadowsocks 类似的代理软件,可以用来科学上网(翻墙)学习国外先进科学技术。

首先你需要一台服务器,配置v2ray服务器端,推荐使用一键脚本

v2ray客户端使用官方提供的脚本安装

除非你是大佬,或者能够自行处理类似 command not found 的问题,否则请你使用 Debian 8.x 以上或者 Ubuntu 16.04 以上的 Linux 系统 本示例使用 ubuntu18.04 系统作为示范。

首先下载脚本:

wget https://install.direct/go.sh

然后执行脚本安装 V2Ray:

sudo bash go.sh

使用以下命令启动 V2Ray:

sudo systemctl start v2ray

停止运行 V2Ray:

sudo systemctl stop v2ray

重启 V2Ray:

sudo systemctl restart v2ray

在安装完 V2Ray 之后,修改配置文件重启 V2Ray 即可,配置文件路径为 /etc/v2ray/config.json。

更新 V2Ray 的方法是再次执行安装脚本。安装脚本更多使用方法可以执行bash go.sh -h看帮助

客户端配置

windows 和 mac 系统v2ray都有客户端GUI可以使用,在linux系统下只能通过修改配置来使用。

如果配置比较复杂的话 个人建议的解决方案是 在win或者mac下使用GUI工具配置完成后复制一份config文件在linux下使用

我的服务器配置使用的是一键安装脚本选择TCP协议,以下配置就可以满足需求

    {
        "inbound": {
            "port": 1080, // 监听端口
            "protocol": "socks", // 入口协议为 SOCKS 5
            "domainOverride": ["tls","http"],
            "settings": {
            "auth": "noauth"
            }
        },
        "outbound": {
            "protocol": "vmess", // 出口协议
            "settings": {
            "vnext": [
                {
                "address": "imcaviare.com", // 服务器地址,请修改为你自己的服务器 IP 或域名
                "port": 16823,  // 服务器端口
                "users": [
                    {
                    "id": "*********-6324-4d53-ad4f-8cda48b30811",  // 用户 ID,必须与服务器端配置相同
                    "alterId": 233 // 此处的值也应当与服务器相同
                    }
                ]
                }
            ]
            }
        }
    }

注意事项:

  • 修改配置一定要记得重启v2ray
  • VMess 协议的认证基于时间,一定要保证服务器和客户端的系统时间相差要在一分钟以内。

请看配置中的 inbound,port 为 1080,V2Ray 监听了一个端口 1080,协议是 socks。

所以我们还需要为电脑设置网络代理

配置PAC

我们配置了网络代理后会发现它是全局的 当我们访问国内网站他还是会去走代理,反而影响了国内网站的访问速度。而且还有出现一些bug例如host修改失效,这种时候就需要用到PAC它会帮我们检测分辨网站是国内还是国外是否通过代理来访问。

安装与使用

我们通过GenPAC来生成pac文件

# 安装
$ pip install genpac

# 从gfwlist生成代理信息为SOCKS5 127.0.0.1:1080的PAC文件
genpac --format=pac --pac-proxy="SOCKS5 127.0.0.1:1080" -o /etc/v2ray/autoproxy.pac

为避免不必要的bug请注意以下两点:

  • 文件有足够的读写权限
  • 配置URL以file://开头电脑根目录为起始。
  • -o为输出目录你可以指定你电脑的任意位置最后在网络设置中自动代理设置为你的pac文件位置以下是我的pac设置: