linux环境下配置v2ray
1. 下载v2ray对应linux版本
在下载地址选择v2ray-linux-64.zip下载。并且在服务器解压。

复制需要下载的链接使用wget
命令下载(推荐下载好了传到服务器,这一步不走代理很慢)。

使用unzip
命令解压文件unzip v2ray-linux-64.zip

2. 将可执行命令转移到指定目录
将划线的命令权限改成所有用户可执行(v2ray.service v2ray@.service v2ctl v2ray)
1 2 3 4 5
| chmod 777 v2ray chmod 777 v2ctl cd systemd/system/ chmod v2ray.service chmod v2ray@.service
|


创建指定目录
1 2
| mkdir /usr/local/share/v2ray/ mkdir /var/log/v2ray/
|
往对应目录转移命令 这样就可以使用systemctl启动了。
1 2 3 4 5 6 7 8 9 10 11 12 13
| cp v2ray.service /etc/systemd/system/ cp v2ray@.service /etc/systemd/system/ cd ../../ cp geoip.dat /usr/local/share/v2ray/ cp geosite.dat /usr/local/share/v2ray/ # 在指定目录新建日志文档 这个在配置文件需要配置指定路径 # 因为我们日志如果权限不够启动会报错 需要加上权限 touch /var/log/v2ray/access.log touch /var/log/v2ray/error.log chmod 777 /var/log/v2ray/access.log chmod 777 /var/log/v2ray/error.log cp v2ctl /usr/local/bin/ cp v2ray /usr/local/bin/
|
3. 从v2ray中导出配置文件并且修改
我们可以从电脑的v2ray中右键某一节点,并且导出配置。

将对应配置文件上传到服务器。

修改配置文件
我们使用默认的配置就好了,只需要指定我们两个日志文件路径就好(路径就是我们之前创建日志文件的两个路径)。

将配置文件移动到指定位置
1 2
| mkdir /usr/local/etc/v2ray/ mv zwz-20240304.json /usr/local/etc/v2ray/config.json
|
4. 修改配置文件全局代理
我们可以配置.bashrc
文件 修改本机代理(这样就是在当前命令行生效)。也可以修改/etc/profile
文件,这样就是所有命令行都会生效。
修改/etc/profile
文件
设置两个函数,分别是设置代理和不设置代理。这样我们就可以在shell
命令行执行对应函数,来设置全局代理和取消全局代理。
1 2 3 4 5 6 7 8 9 10
| # set proxy setproxy() { export all_proxy="socks5://127.0.0.1:10808" source /etc/profile } # unset proxy unsetproxy() { unset all_proxy source /etc/profile }
|
修改完了/etc/profile
文件之后记得执行source /etc/profile
使修改生效。
5. 设置全局代理
如果需要使用全局代理,我们可以在shell命令行执行setproxy
函数,这样就会让我们代理生效。
1 2 3 4 5 6 7 8 9 10
| # 设置全局代理 setproxy # 打开v2ray systemctl start v2ray # 设置V2ray开机自启动 systemctl enable v2ray # 检查v2ray启动状态 systemctl status v2ray # 验证是否能够走代理 curl -v http://www.google.com/
|
如果v2ray启动成功,和下面显示相同。

如果我们curl -v http://www.google.com/
能够走代理,显示如下,就说明成功了。

6. 取消全局代理
1 2
| unsetproxy curl -v http://www.google.com/
|
显示网络不可达,取消成功

7. 如何在python文件中使用代理 和取消代理
新建两个python文件 setproxy.py 和unsetproxy.py分别是设置代理和取消代理(仅在python执行环境中代理,不在shell环境中)
这两个文件均在/usr/local/v2ray
路径下
setproxy.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import os import requests
os.environ['all_proxy'] = 'socks5://127.0.0.1:10808'
def check_internet(): try: response = requests.get("https://www.google.com", timeout=5) if response.status_code == 200: print("能够访问外部网站!") else: print("无法访问外部网站。") except requests.ConnectionError: print("无法连接到互联网。")
check_internet()
|
unsetproxy.py
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
| import os import requests
os.environ['all_proxy'] = 'socks5://127.0.0.1:10808'
def check_internet(): try: response = requests.get("https://www.google.com", timeout=5) if response.status_code == 200: print("能够访问外部网站!") else: print("无法访问外部网站。") except requests.ConnectionError: print("无法连接到互联网。")
check_internet()
os.environ.pop('all_proxy', None) print("代理已取消。")
check_internet()
|