我剛買了一部新的iPhone 6,升級到iOS 8.4.1,不容錯過。所以我在網上搜索了ShadowSocks的分享。實際上Windows版本內置了這樣的功能。但對於Mac版本,我們需要一些其他的處理。
首先,我想談談ShadowSocks的機制。有幾種方法可以繞過GFW的審查,比如VPN和http / socks代理。普通的http / socks代理不需要對您的設備進行特殊處理。那麼為什麼我們需要GoAgent和ShadowSocks?因為GFW很容易檢測到普通代理的流量。如果我們有一個私人海外伺服器並將其用作簡單的http代理,GFW可能會在檢測到流量後阻止該IP。
GoAgent和ShadowSocks都偽裝成流量,假裝是正常的http。它們實際上是「加密代理」。但是,我們的操作系統無法識別此類加密代理。它只有內置的標準代理協議。所以我們需要在我們的操作系統上運行另一個程序來解密代理。
瀏覽器(通過內置的socks協議) – > ShadowSocks客戶端(通過Internet解釋為ShadowSocks代理) – > ShadowSocks伺服器 – >像Google這樣的目標網站
在Mac上將GoAgent客戶端分享到iOS設備更容易。但對於ShadowSocks,我們還需要一次治療。對於未破解的設備,只有內置的http代理,沒有socks代理。我們必須從Mac ShadowSocks客戶端轉發socks代理作為http代理。
iOS設備(通過本地網路http代理) – > Mac上的privoxy(將http代理轉換為socks代理) – > ShadowSocks客戶端(通過Internet解釋為ShadowSocks代理) – > ShadowSocks伺服器 – > Google等目標網站
我找到了本文中的步驟:http:
//1992s.com/blog/share-shadowsocks-over-lan-on-mac-os-x.html
- 安裝privoxy:http: //www.privoxy.org/#DOWNLOAD
- 修改/ usr / local / etc / privoxy / config
- 搜索包含「forward-socks5t /」的行,刪除注釋符號「#」,將埠更改為1080(或ShadowSocks客戶端使用的其他埠)
forward-socks5t / 127.0.0.1:1080。
- 搜索包含「listen-address 127.0.0.1:8118」的行,刪除注釋符號「#」,將監聽地址IP從127.0.0.1更改為0.0.0.0(此更改啟用外部連接)。保留默認埠或選擇其他埠。
listen-address 0.0.0.0:8118
- 搜索包含「forward-socks5t /」的行,刪除注釋符號「#」,將埠更改為1080(或ShadowSocks客戶端使用的其他埠)
- 在終端中運行命令(可能需要sudo):
/ usr / local / sbin / privoxy --no-daemon / usr / local / etc / privoxy / config
- 在iOS設備上使用全局代理模式:將Wi-Fi手動http代理設置為$ IP_OF_MAC:$ PORT。埠是8118的監聽埠,而不是原始的ShadowSocks埠1080。
對於自動代理模式,需要pac文件。我在mac上設置pac並使用Apache作為Web伺服器。
- 運行該命令以啟動Apache Web伺服器
sudo apachectl start
- 啟動瀏覽器瀏覽http://127.0.0.1進行驗證。如果Web伺服器正常工作,您將看到「It Works!」消息。
- 伺服器的內容位於/ Library / WebServer / Documents /,在那裡複製pac文件。通常,ShadowSocks的位置是$ HOME / .ShadowsocksX / gfwlist.js
- 最後更改包含「var proxy」的行。將「SOCKS5」更改為「PROXY」,將「127.0.0.1」更改為Mac的IP地址。
var proxy =「PROXY 127.0.0.1:1080; DIRECT;」;
- 將Wi-Fi「自動」http代理設置為http:// $ MAC_IP / $ PAC_NAME並享受!
我認為你外出時也應該有用。只允許從Internet到privoxy和pac伺服器的連接。