(本文操作环境:debian10)v2ray翻墙方式有许多种,这里只介绍其中websocket+tls这种翻墙方式的整合,这种方式也是目前大家认为安全性和抗封锁比较好的方式。
v2ray原安装脚本(bash <(curl -L -s https://install.direct/go.sh))已被弃置,目前已经在新官网https://www.v2fly.org/发布了新的安装脚本(https://github.com/v2fly/fhs-install-v2ray),本文所讲述的整合步骤是以新安装脚本为基础的。
1.安装curl debian或ubuntu: apt update apt install curl centos: yum makecache yum install curl
2.下载脚本 curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-dat-release.sh
3.安裝 V2Ray(以后要更新v2ray也可以使用该脚本命令) bash install-release.sh
4.安裝最新發行的 geoip.dat 和 geosite.dat bash install-dat-release.sh
5.编写v2ray配置文件 先安装nano debian: apt install nano -y centos: yum install nano -y 创建配置文件config.json【注意:不要使用文本文档编写然后上传,格式有问题,如果你不是小白可以使用set ff=unix解决,否则请按如下步骤操作】 nano /usr/local/lib/v2ray/config.json 复制下面配置内容放入记事本或notepad++之类软件中,将下面红色加粗显示的内容(v2ray监听端口,uuid(在线生成:https://www.v2fly.org/awesome/tools.html),额外id以及分流path)进行修改后再复制粘贴进config.json,然后使用ctrl+o再回车保存,ctrl+x退出。
{ "log": { "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "warning" }, "inbounds": [{ "port": 12345, "listen": "127.0.0.1", "tag": "vmess-in", "protocol": "vmess", "settings": { "clients": [{ "id": "a24e3758-7338-4344-ae36-041c1c781e47", "alterId": 18 }] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/v2raypath" } } }], "outbounds": [{ "protocol": "freedom", "settings": {}, "tag": "direct" }, { "protocol": "blackhole", "settings": {}, "tag": "blocked" } ], "dns": { "servers": [ "https+local://1.1.1.1/dns-query", "1.1.1.1", "1.0.0.1", "8.8.8.8", "8.8.4.4", "localhost" ] }, "routing": { "domainStrategy": "AsIs", "rules": [{ "type": "field", "inboundTag": [ "vmess-in" ], "outboundTag": "direct" }] } }
6.修改caddy配置文件
nano /etc/caddy/caddy.json
使用ctrl+k删除原有内容,将下面的内容复制到记事本或notepad++之类软件中进行完善修改后(要修改完善的部分全部使用了红色加粗显示,如果8383端口你换成了其他端口,那么你还需要把它也改成你所用的),再复制粘贴进caddy.json,然后保存退出。注意:"dial": "127.0.0.1:12345"配置中的端口12345要和v2ray的配置保持一致,还有分流路径"/v2raypath"也是要和v2ray配置文件中的值保持一致。将来客户端填写配置时分流路径一定要保持一致(不能写成/v2raypath/,多加了那个斜杠/,caddy无法转发,导致无法翻墙)
{ "apps": { "http": { "servers": { "srv0": { "listen": [":443"], "routes": [ { "handle": [{ "handler": "forward_proxy", "hide_ip": true, "hide_via": true, "auth_user": "搭建naiveproxy所使用的用户名", "auth_pass": "搭建naiveproxy所使用的密码", "upstream": "http://127.0.0.1:8383", "probe_resistance": {"domain": "搭建naiveproxy所使用的防主动探测域名"} }] }, { "match": [{"host": ["搭建naiveproxy所使用的域名"]}], "handle": [{ "handler": "subroute", "routes": [ { "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "127.0.0.1:12345" } ] } ], "match": [{ "path": [ "/v2raypath" ] } ] }, { "handle": [ { "handler": "file_server", "root": "/var/www/html" } ] } ] }], "terminal": true } ], "tls_connection_policies": [{ "match": {"sni": [ "搭建naiveproxy所使用的域名"]} }] } } }, "tls": { "automation": { "policies": [{ "subjects": ["搭建naiveproxy所使用的域名"], "issuer": { "email": "搭建naiveproxy所使用的邮箱", "module": "acme" } }] } } } }
7.重启caddy和v2ray systemctl restart caddy systemctl restart v2ray 分别使用 systemctl status caddy systemctl status v2ray 查看caddy和v2ray是否正常启动运行(正常启动运行会有绿色的active(running)显示) 8.验证v2ray及设置开机启动 访问https://github.com/2dust/v2rayN/releases,下载v2ray客户端软件v2rayN-Core.zip,验证所搭建的v2ray是否能正确翻墙(配置填写与你单独搭建websocket+tls的v2ray是一样的,端口仍然是使用的443)。如果没有问题,使用systemctl enable v2ray设置v2ray开机启动。 |