linux server使用v2ray

前言

在平时工作学习中很多时候需要访问外面的网站。如Mac、Windows等有界面的拥有GUI客户端,使用起来比较方便。那么Linux服务器如何使用v2ray客户端呢?我们冲一波!

安装

下载安装 我这里是通过下载安装包的方式,然后拷贝到工作目录,添加环境变量

1
2
3
cp -R v2ray-linux-64 /usr/local/v2ray
echo PATH=/usr/local/v2ray:$PATH >> ~/.zshrc
source ~/.zshrc

主要文件作用

  • v2ray/v2ray:V2Ray 程序;
  • v2ray/v2ctl:V2Ray 工具;
  • v2ray/config.json:默认配置文件;
  • v2ray/geoip.dat:IP 数据文件
  • v2ray/geosite.dat:域名数据文件

验证版本信息

1
2
3
v2ray -version
V2Ray 4.45.2 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.18.3 linux/amd64)
A unified platform for anti-censorship.

运行

编写配置文件,比如下面这样。这里主要讲下几个配置

  • log部分:我觉得这里是需要将日志输出到文件的,若有问题时方便查看
  • outbounds.settings.vnext 里的配置需要对应服务器的配置
  • inbounds[*].port 最好使用不常见的接口,避免冲突
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
{
  "policy": {
    "system": {
      "statsOutboundUplink": true,
      "statsOutboundDownlink": true
    }
  },
  "log": {
    "access": "/home/young/v2ray-log/access.log",
    "error": "/home/young/v2ray-log/error.log",
    "loglevel": "info"
  },
  "inbounds": [
    {
      "tag": "socks",
      "port": 10708,
      "listen": "0.0.0.0",
      "protocol": "socks",
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls",
          "https"
        ]
      },
      "settings": {
        "auth": "noauth",
        "udp": false,
        "allowTransparent": false
      }
    },
    {
      "tag": "http",
      "port": 10709,
      "listen": "0.0.0.0",
      "protocol": "http",
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      },
      "settings": {
        "udp": false,
        "allowTransparent": false
      }
    },
    {
      "tag": "api",
      "port": 59486,
      "listen": "127.0.0.1",
      "protocol": "dokodemo-door",
      "settings": {
        "udp": false,
        "address": "127.0.0.1",
        "allowTransparent": false
      }
    }
  ],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "*.*.*.*", // 服务器IP
            "port": 9999, // 服务业端口
            "users": [
              {
                "id": "fc474f11-7eb2-4503-a5e8-3bdafe9d958e", // uuid 需要跟服务器对应
                "alterId": 0,
                "email": "t@t.tt",
                "security": "auto"
              }
            ]
          }
        ]
      },
    },
  ],
}

运行下满命令后,会显示进程号、v2ray版本信息、配置文件地址

1
v2ray --config=/home/young/my-vpn.json &

使用

添加临时环境变量,只在当前终端生效

1
export HTTPS_PROXY=127.0.0.1:10709

输入下面的命令,可以看到会输出谷歌首页的HTML代码就成功了

1
curl https://www.google.com

优化

通过alias命令来简化设置环境变量的方式 在.zshrc(或.bashrc)文件上添加下述代码后,运行source ~/.zshrc使之生效

1
2
alias start_proxy='export ALL_PROXY=127.0.0.1:10708;export HTTPS_PROXY=127.0.0.1:10709;export HTTP_PEOXY=127.0.0.1:10708'
alias close_proxy='unset ALL_PROXY; unset HTTPS_PROXY; unset HTTP_PEOXY'

启用代理时只要运行start_proxy,关闭时运行close_proxy