再談科學上網
轉載請註明文章出處:ofollow,noindex" target="_blank">https://tlanyan.me/on-fuck-gfw-again/
近日,一條關於VPN的新聞引起了大範圍的討論,也提醒了部分人:VPN有風險,F牆需謹慎。
從早期的免費代理,自X門,到GoAgent,SSH隧道,再到如今使用的SS,本人算得上科學上網的老司機。但如果不謹慎駕駛,老司機難免有翻車的時候。所以一直以來,本人的首要目標是自己能順利獲取資訊,順道幫助有需求的朋友。大肆宣揚某種技術的牛逼,或高調的秀優越感,只會讓以後F牆更艱難。
某工具本人一直未用過,原因是其太過高調。我們國家實行社會主義制度,對資本主義那一套東西的打擊向來毫不手軟。不知道該工具是否如宣傳般牛逼,但個人覺得再厲害的網路工具,在金正恩將軍的物理斷網、肉身封鎖下也會無效,更何況金將軍還有犬決、炮決、核決等小手段可使用。我不認為其網站所謂的“大殺器”能與社會主義制度的優越性抗衡。在目前新時代的環境下,在這方面越高調只會越快的堵死以後的路。
本文的主角是SS,這是近幾年來一直有效的技術。SS支援多平臺,無論客戶端還是服務端,部署和使用都非常方便。鑑於其簡單易用且穩定的特點,從專案誕生以來本人一直在用且推薦。
SS現狀
SS的原作者是clowwindy ,每一位使用SS技術的人都不應該忘記。原作者2015年被有關部門請去喝茶,然後刪除了GitHub上的專案。目前的SS由社群維護,社群官網是socks.org" rel="nofollow,noindex" target="_blank">https://shadowsocks.org 。SS相關的各個專案的程式碼庫座標可參見官方的GitHub主頁:https://github.com/shadowsocks 。
SSR是SS的一個分支,由breakwa11 建立。據加入了混淆/偽裝的特性,本人未使用過。但從Github上看,SSR似乎已經黃了?還是說覺得已經足夠成熟,無需更新?
使用上SS分服務端和客戶端,接下來分兩部分討論。
服務端
可以從某些渠道獲取免費或者付費賬號,省去自行部署的麻煩。如果對隱私比較在意或者動手能力強,建議自行購買伺服器搭建。就本人的使用體驗而言,僅供個人常規用途的IP流量比較小,被封的可能性很小(使用至今,沒有被封過的IP)。
clowwindy用Python寫的服務端版本已經停止更新,不建議使用。目前仍處於活躍開發的服務端版本有libev(C語言)、go(兩個)和rust。相對於原版,這幾個版本佔用資源少,效能更好,推薦使用。
以libev版說一下伺服器端的部署,前提是你有一臺境外伺服器。對於CentOS/Fedora/RHEL系統,建議從librehat 維護的官方源安裝SS。librehat是SS多個專案的核心貢獻者,其中文部落格:https://www.librehat.com/ 。其他系統的安裝和使用請參考libev專案:https://github.com/shadowsocks/shadowsocks-libev 。
在CentOS 7下安裝libev版的步驟是:
-
從https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/ 下載軟體源配置檔案放到
/etc/yum.repos.d
目錄下。Linux命令是:wget -O /etc/yum.repos.d/librehat-shadowsocks-epel-7.repo 'https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/repo/epel-7/librehat-shadowsocks-epel-7.repo'
-
用yum安裝libev版的SS:
yum install -y shadowsocks-libev
接下來編輯/etc/shadowsocks-libev/config.json
配置檔案,主要是填寫埠號和密碼。一個演示配置:
{ "server":"0.0.0.0", "server_port":35697, "local_port":1080, "password":"#[email protected]#ASD", "timeout":60, "method":"aes-256-cfb", "fastopen": true }
關於加密演算法的選擇,個人建議使用AES-256-CFB 或。原因之一是加密強度足夠高,其次幾乎所有的客戶端都支援。始終不應該使用的演算法是table和RC4(這兩種演算法已被廢棄)。
配置好後,將其放入後臺執行即可(為避免不必要的麻煩,我們將日誌清空):
nohup ss-server -c /etc/shadowsocks-libev/config.json > /dev/null 2>&1 &
如果開啟了防火牆,記得將SS的埠放行。
客戶端
根據作業系統不同,各個平臺的客戶端下載地址如下:
- Windows(即常說的PC版),官方支援的Github地址:https://github.com/shadowsocks/shadowsocks-windows ,編譯好的exe下載地址:https://github.com/shadowsocks/shadowsocks-windows/releases ;
- MacOS: 官方支援的Github地址:https://github.com/shadowsocks/ShadowsocksX-NG ,編譯好的安裝包下載地址:https://github.com/shadowsocks/ShadowsocksX-NG/releases ;
- 安卓:官方支援的Github地址:https://github.com/shadowsocks/shadowsocks-android ,編譯好的APK地址:https://github.com/shadowsocks/shadowsocks-android/releases
- 跨平臺:QtShadowsocks" rel="nofollow,noindex" target="_blank">libQtShadowsocks 或者shadowsocks-qt5 ,有可能需要自行編譯。
主流系統中,比較尷尬的是iOS,也就是iPhone/iPad這些裝置的SS客戶端。非iOS系統,某個人有客戶端,可以將安裝包傳送分享給其他人。但iOS不一樣,軟體都要從App Store裡安裝。一臺裝置安裝了,因為被下架、系統不支援舊程式等原因,新裝置也可能無法安裝和使用。
雖然蘋果爸爸在應用稽核等多方面很強勢,但我們的祖國母親更強硬。蘋果在國內不至於頭埋進土裡,但頭至少彎到膝蓋。蘋果的應用商店上,代理相關應用被下架是常有的事。另外iOS上可用的開源客戶端貌似只有Potasto,且作者的最新版本已經不再開源。下架搜不到,沒有開源的替代,iOS使用者需要換區/付費等才能保證客戶端可用。鑑於iOS客戶端的不穩定性,本人之前寫了構建自己iOS客戶端的博文,詳情請點選:構建自己的iOS網路代理客戶端 。
下載安裝好客戶端後,首先配置伺服器資訊,接著建議更新PAC資訊。網上的圖文文章教你配置伺服器資訊,本文不再詳述。安裝包自帶的PAC檔案較舊,新加入的被遮蔽網址需要全域性模式或者修改本地PAC檔案才能正常訪問。所以安裝好後線上更新PAC,及時獲取最新被遮蔽的網址列表,本人認為非常必要。具體操作為:
右鍵SS客戶端->PAC->從GFWList更新本地PAC
配置好伺服器資訊,更新PAC後,勾選“啟用系統代理”即可讓(幾乎)所有的應用都能順暢的訪問網路。啟用系統代理後,瀏覽器無需再安裝Switchy Omega等外掛,絕大部分軟體也能無需任何特殊設定便能訪問外網,非常方便。
由於Github客戶端的下載連結可能指向被封的AWS伺服器,本站提供了最新版的下載地址:點選進入客戶端下載。
本文到此該結束了。如有疑問或建議歡迎指出,感謝閱讀!