Trojan運作原理
從最早的VPN協議,到後來的Shadowsock、SSR等
GFW也從被動偵測進步到主動偵測
開始針對異常封包的流量分析
也因此有了Trojan出現了
Trojan顧名思義是木馬的意思
但他不是一個木馬軟體,而是欺騙GFW
在過去,人們認為強加密和隨機混淆可能會欺騙GFW的過濾機制
然而,Trojan實現了這個思路的反面
它模仿了網路上最常見的HTTPS協議,欺騙GFW此為HTTPS的流量
比起Shadowsocks/SSR/V2ray等工作,更有偽裝的效果,
目前已經被牆的機率相當小
Trojan使用443端口,並且處理來自外界的HTTPS請求
如果是合法的Trojan請求,那麼為該請求提供服務
否則將該流量轉交給web伺服器ginx,由Nginx為其提供服務
基於這個工作過程可以知道,Trojan的一切表現均與Nginx一致
不會引入額外特徵,從而達到無法識別的效果
當然,為了防止惡意探測,我們需要將80端口的流量全部重定向到443端口
並且服務器只暴露80和443端口,使得服務器與常見的Web伺服器表現一致
Step1 事先準備
1.一台linux系統伺服器,建議ubuntu18.04+ 系統,
不建議在已運作網站的伺服器
2.一個域名,用來做偽裝網站,並且設置好DNS
如果沒有域名可參考freenom 免費網域申請
Step2 一鍵安裝Trojan腳本
此腳本內容為
1.自動申請配置SSL證書,並且到期之前自動延展,免得忘記而過期
2.自動配置客戶端文件即參數,下載即可使用
3.自動配置偽裝網站,可以自行修改,位置/usr/share/nginx/html
安裝流程
安裝curl
apt-get install curl -y
安裝腳本
curl -O https://raw.githubusercontent.com/atrandys/trojan/master/trojan_mult.sh && chmod +x trojan_mult.sh && ./trojan_mult.sh
進入安裝介面後,選擇1.安裝trojan
輸入域名
輸入trojan使用的密碼
安裝完成,可以此用FTP軟體下載此客戶端
Step3 BBR加速
BBR是Google的一種壅塞控制演算法
在網路連結的電腦或行動裝置中運行,可決定數據發送的速度
旨在解決網路壅塞問題,可以提升TCP傳輸的效率
安裝BBR
sudo bash -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf'
sudo bash -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'
sudo sysctl -p
Step4 Trojan客户端
Windows
除了上速的安裝包建立的客戶端,也可以使用v2rayN-Core來連接
https://github.com/2dust/v2rayN/releases/download/3.29/v2rayN-Core.zip
解壓縮,啟動v2rayN.exe,選擇右下角的程式圖示,右鍵啟動Http代理
選擇添加Trojan服務器
設定連接的主機、端口、密碼
按下確定後,即可以連接使用
Android
使用igniter來連接,可以在google 商店裡面下載
或是下列官方下載連結,如果程式開不起來,可以上網找其他debug或相容版本
使用方法很簡單,一樣是填上主機網址、端口、密碼就可以連接
IOS
使用shadowrocket來連接,但此為付費軟體,約3美元,
需要使用非中國地區APPLE帳號來購買
開啟程式,進入主畫面
點擊右上角的“➕” 添加節點。進入節點配置頁面
點擊“類型”進入協議選擇選單,選擇最下面的trojan
進入配置界面,服務器一欄填入域名、端口(一般是443)、密碼
勾選“允許不安全”,Peer名稱填寫域名。除非服務端支持,不要勾選“快速打開
不用理會轉發選項(除非你知道怎麼回事),備註填一個方便記憶的名稱
填好後點擊右上角的“完成”,程式提示“保存成功”
然後回到主畫面,“服務器節點”下方出現剛才配置的服務器
點擊“延遲測試”,可以查看服務器的延遲
接下來點“未連接”那一欄右邊的開關
打開VPN。首次使用會彈出添加vpn確認框
點擊“允許”,彈出密碼界面,輸入iphone/ipad的解鎖密碼
軟件界面的按鈕變藍表示成功開啟,同時狀態欄出現vpn圖示
到這邊即可以連接。