最近要準備出差去對岸,最早是使用VPN走L2tp協定,但會出現偶發斷線問題。
歷經三年疫情、中間不斷有SS、SSR、v2ray新技術出來,但直到trojan和Naive我覺得這才是最終解決方案。
它們是以chrome的內核模仿用戶上網的行為,而且是走443 Port的加密連線,所以在資訊安全性和操作行為上是可以放心使用的。
Table of Contents
NaiveProxy前期準備
- Ubuntu 伺服器
- 網域一組,並指向伺服器
NaiveProxy伺服器規格
- Ubuntu 20.04 LTS
- 1CPUs
- 1GB RAM
- 15G Disk
- 1TB Bandwidth
NaiveProxy伺服器更新
更新伺服器的套件檔案清單
apt-get update
更新套件
sudo apt upgrade
安裝建議套件
sudo apt-get dist-upgrade
NaiveProxy伺服器設定
安裝核心
安裝Golang、預設安裝是1.13版,需要1.21版以上才能順利編譯
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
解壓縮到/usr/local
tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
設置PATH
mkdir ~/.go
GOROOT=/usr/local/go
GOPATH=~/.go
PATH=$PATH:$GOROOT/bin:$GOPATH/bin
安裝xcaddy
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
編譯xcaddy
~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive
Caddyfile配置
新增檔案
touch Caddyfile
編輯Caddyfile
nano Caddyfile
將下方資料替換成自己的後貼上,帳號和密碼中間要空格。
需要2個帳號只需將forward_proxy{…….}這段複製到後面接續即可。
預設是443 port,如果要改成其他port 第一行要修正為「:8080, naive.rdfarm.net:8080 」。
:443, naive.rdfarm.net #你的網域
tls example@gmail.com #你的信箱
route {
#用户1
forward_proxy {
basic_auth user pass #帳號和密碼
hide_ip
hide_via
probe_resistance
}
#用户2
forward_proxy {
basic_auth user2 pass2 #帳號和密碼
hide_ip
hide_via
probe_resistance
}
reverse_proxy https://rdfarm.net { #偽裝網址
header_up Host {upstream_hostport}
header_up X-Forwarded-Host {host}
}
}
接著執行以下指令,讓前台系統運作起來
第一次執行因為網域還沒取得憑證,所以會比較慢
./caddy run
這時鍵盤輸入Ctrl + C 先關閉目前頁面,接著輸入下方指令讓後台系統也運作起來
./caddy start
當系統都啟動後,輸入網址會發現網站內容是從我們偽裝網址所提供的
如果要讓服務關閉可以輸入下方指令
./caddy stop
如果服務在執行中有修改Caddyfile,記得輸入下面指令讓系統重新載入
./caddy reload
Ubuntu設定BBR加速
BBR是Google基於TCP擁塞所提出的優化方法,針對Web伺服器、影像串流等應用可以提升性能和增加用戶體驗,所以這部分會建議開啟。
修改sysctl.conf,依序輸入下面這三段指令
sudo -i
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
生效設定
sysctl -p
確認Linux內和已開啟BBR,輸入後會顯示下面的這段
net.ipv4.tcp_available_congestion_control = reno cubic bbr
sysctl net.ipv4.tcp_available_congestion_control
確認已啟動BBR,輸入後會顯示下面的這段
tcp_bbr 20480 42
lsmod | grep bbr
NaiveProxy用戶端設定
Windows用戶
首先要下載v2rayN和Naive
下載完後,解壓縮v2rayN
因為v2rayN沒有Naive的伺服器,所以將v2rayN和config複製到v2rayN資料夾內
以文字編輯器開啟config檔,設定好之後要存檔。
「user1」請填寫帳號、「passsss」請填寫密碼、「@」 後面填寫網域名稱
接著「以系統管理員身分」開啟v2rayN
點擊「添加自訂義服務器」
「別名」可填寫記得住的名稱
「地址」點擊瀏覽,將剛剛設定的config檔帶入
「Core類型」選擇naiveproxy
「Stock端口」填寫和config一樣的1080
接著將剛剛自訂的服務器設定為活動服務器
最後將v2rayN改為「自動配置系統代理」就可以穿透防火牆
Android用戶
Android需要先安裝SagerNet和naive-plugin
接著開啟SagerNet,點擊右上角+符號
選擇手動設定
選擇Naive
這邊一樣填入我們前面所設定的資料後點擊右上角打勾符號儲存設定
「伺服器」填寫網址
「遠端連接埠」填寫443
「使用者名稱」填寫帳號
「密碼」填寫密碼
接著點擊右下角紙飛機的圖案後就可以開啟NaiveProxy連線
點擊下方粉紅色區塊,可以知道目前網路延遲狀況
Mac/iOS用戶
從Apple Store安裝Shadowrocket這套工具
這套工具需付費台幣90元,但之後使用同帳號登入iPhone、iPad、Macbook等裝置可以免費下載
下載完成後,點擊新增伺服器
型別,這邊選擇HTTPS或HTTP2都可以
下面資料依序填好之後,點擊右上角儲存
「地址」填寫網址
「埠」填寫443
「使用者」填寫帳號
「密碼」填寫密碼
最後點擊右上角即可開啟NaiveProxy連線
使用心得和常見問題
中國使用的網路營運商有中國聯通、中國移動、中國電信三家,投宿地方所提供的WiFi服務商不同、會影響連到國外的伺服器速度。
可以在香港、新加坡、日本、美國,這幾個租伺服器比較便宜的地區設定2-3台作為備援使用,選擇一個月5美金的即可。
*2024/10/25更新
如果伺服器突然不能使用可以使用下面的方法查看看是不是IP被ban掉了,被ban掉就只能租新的或者換個網路環境就有機率能使用。
使用traceroute追蹤網路連線是否正常或者斷線,適用Windows,Mac,Linux