設定 V2ray + TLS(進階篇)
前面那麽多步驟,就是希望 V2ray 能使用 TLS 來偽裝,現在到戲玉了。
這部份進階篇會假設大家已經懂得使用 SSH 進入,已經懂得安裝 V2Ray,如果不懂可以由第一頁看起,不再重複了。
最初準備工作會和基本篇一樣,在 firewall 開 port 和令 V2ray 開機自動執行。
使用 TLS 偽裝,當然最好使用 port 443, 萬一真的不能使用的話,可以考慮 8443. 而今次教學會使用 443.
本篇文假設你已經完成了基本篇,所以只會標示需要修改的地方。
首先在 firewall 開啓 port 443(將基本篇的 10086 改為 443)
nano /jffs/scripts/firewall-start
將以下內容複制 & 貼上
#!/bin/sh iptables -I INPUT -p tcp --dport 443 -j ACCEPT
按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。
再來建立一個令 V2ray reload 的設定。
nano /jffs/scripts/v2ray-reload.sh
#!/bin/sh
#find old v2ray process and kill it.
ps -w | grep /jffs/v2ray/v2ray | grep -v grep | awk '{print $1}' | xargs kill
#sleep 10s for wait port release
sleep 10
#load v2ray again
nohup /jffs/v2ray/v2ray --config=/jffs/v2ray/config.json >/dev/null 2>&1 &按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。
之後令到所有指令都變為可執行狀態:
chmod a+rx /jffs/scripts/*
現在,將 v2ray 自動重載指令會定時啓動,所以要將它加入 services-start.
現在 services-start 應該會變成這樣子。
nano /jffs/scripts/services-start
#!/bin/sh
RC='/opt/etc/init.d/rc.unslung'
i=30
until [ -x "$RC" ] ; do
i=$(($i-1))
if [ "$i" -lt 1 ] ; then
logger "Could not start Entware"
exit
fi
sleep 1
done
$RC start
#sleep 5min for DNS update
sleep 300
#cert create
sh /jffs/scripts/acme-issue.sh&
#v2ray start
mkdir /var/log/v2ray/
nohup /jffs/v2ray/v2ray --config=/jffs/v2ray/config.json > /dev/null 2>&1 &
#check v2ray every 15 minute
cru a check-v2ray "*/15 * * * * /jffs/scripts/v2ray-check.sh > /dev/null"
#let v2ray auto restart
cru a restart-v2ray "30 3 1 * * /jffs/scripts/v2ray-reload.sh > /dev/null"按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。
現在每個月 1 日 3:30am 都會自動重啓一次。
最大改變,就是 V2ray 的設定檔,今次介紹的設定是 V2ray + TLS 偽裝。
雖然比不上 NGINX 的完全 HTTP 連線,但已經是第二隱密的設定了。
nano /jffs/v2ray/config.json
將以下內容貼上,但同樣再次提醒,記得更改 ID,和你的 domain 域名。
如需要新的 UUID 可以到這個網站抄一個。
{
"log" : {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbound": {
"port": 443,
"protocol": "vmess",
"settings": {
"clients": [{
"id": "23ad6b10-8d1a-40f7-8ad0-e3e35cd38297",
"level": 1,
"alterId": 64
}]
},
"streamSettings": {
"security": "tls",
"tlsSettings": {
"serverName": "ent-home.asuscomm.com",
"certificates": [
{
"certificateFile": "/jffs/ssl/cert.pem",
"keyFile": "/jffs/ssl/key.pem"
}
]
}
}
},
"outbound": {
"protocol": "freedom",
"settings": {}
},
"outboundDetour": [{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}],
"routing": {
"strategy": "rules",
"settings": {
"rules": [{
"type": "field",
"ip": [
"0.0.0.0/8",
"10.0.0.0/8",
"100.64.0.0/10",
"127.0.0.0/8",
"169.254.0.0/16",
"172.16.0.0/12",
"192.0.0.0/24",
"192.0.2.0/24",
"192.168.0.0/16",
"198.18.0.0/15",
"198.51.100.0/24",
"203.0.113.0/24",
"::1/128",
"fc00::/7",
"fe80::/10"
],
"outboundTag": "blocked"
}]
}
}
}






























