ShadowSocks用於加密客戶端和伺服器通信之間的數據。ShadowSocks伺服器是一個代理伺服器,它將與ShadowSocks客戶端使用指定的加密方法進行通信。它不是VPN,但它可以像VPN一樣通過加密您的互聯網數據來保護您。因此,本文將告訴您如何在Ubuntu中設置和配置ShadowSocks伺服器,以及如何在MacOS,Windows和Linux中設置和使用ShadowSocks客戶端工具。
1.在Ubuntu中設置ShadowSocks伺服器。
- 使用SSH客戶端連接Ubuntu伺服器。
- 執行
sudo -i
切換到root用戶。 - 使用以下命令更新和升級OS軟體包。
#apt update #apt升級
- 通過使用gedit編輯/etc/sysctl.conf文件啟用BBR 。啟用bbr可以通過最大化網路帶寬使用來提高ShadowSocks代理性能。
〜#gedit /etc/sysctl.conf
- 在文件/etc/sysctl.conf的末尾添加以下兩行並保存。
net.core.default_qdisc = FQ net.ipv4.tcp_congestion_control = BBR
- 執行命令
reboot
重啟ubuntu操作系統。 - 重啟後,運行
lsmod | grep bbr
命令驗證bbr配置。如果在控制台輸出中看到tcp_bbr行,則表示正確啟用了bbr。〜#lsmod | grep bbr tcp_bbr 20480 11
- 現在,您可以通過以下任一命令安裝ShadowSocks伺服器。
〜#apt安裝shadowsocks 要麼 〜#apt install python-pip 〜#pip安裝shadowsocks
- 之後,您可以
ssserver
在終端中運行命令以驗證是否已安裝ShadowSocks伺服器。
2.配置並啟動ShadowSocks Server。
- 如果文件夾不存在,請創建目錄/ etc / shadowsocks。
$ sudo mkdir / etc / shadowsocks
- 如果文件不存在,請在上面的文件夾中創建ShadowSocks配置文件。
$ sudo gedit /etc/shadowsocks/config.json
- 在上面的文件中添加以下json數據。在下面的json數據中使用您自己的伺服器數據。
{ 「server」:「0.0.0.0」,##代理伺服器外部ip地址。 「server_port」:8888,##代理伺服器偵聽埠號。 「local_address」: 「127.0.0.1」, 「local_port」:1080,##本地偵聽埠號。 「password」:「888888」,##代理伺服器連接密碼 「超時」:300, 「method」:「aes-256-cfb」,##數據加密方法 「dast_open」:假的 }
- 使用以下命令啟動ShadowSocks伺服器。要確保可以正確啟動shadowsocks伺服器,請刪除
-d
命令參數以在控制台中顯示伺服器日誌。〜 $ sudo ssserver -c /etc/shadowsocks/config.json -d start
- 如果您遇到如下錯誤消息。
AttributeError:/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1:未定義的符號:EVP_CIPHER_CTX_cleanup - 您需要編輯 /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py文件。
將第22行從 libcrypto.EVP_CIPHER_CTX_cleanup.argtypes =(c_void_p,) 更改為 libcrypto.EVP_CIPHER_CTX_reset.argtypes =(c_void_p,),將
第111行從libcrypto.EVP_CIPHER_CTX_cleanup(self._ctx)更改 為 libcrypto.EVP_CIPHER_CTX_reset(self._ctx)。 - 然後再次啟動ShadowSocks伺服器,錯誤將消失。
- 如果您遇到socket.error:[Errno 99]啟動shadowsocks伺服器時無法分配請求的地址錯誤,如下所示。要修復它,只需在/etc/shadowsocks/config.json文件中將伺服器ip更改為「0.0.0.0」。
root @ instance-3 :〜#ssserver -c /etc/shadowsocks/config.json start 信息:從/etc/shadowsocks/config.json載入配置 2019-02-06 09:47:00 INFO從libcrypto.so.1.1載入libcrypto 2019-02-06 09:47:00 INFO啟動伺服器在34.73.193.214:9090 Traceback(最近一次調用最後一次): 在<module>中的文件「/ usr / bin / ssserver」,第11行 load_entry_point('shadowsocks == 2.9.0','console_scripts','ssserver')() 文件「/usr/lib/python2.7/dist-packages/shadowsocks/server.py」,第74行,主要 tcp_servers.append(tcprelay.TCPRelay(a_config,dns_resolver,False)) 在__init__中輸入文件「/usr/lib/python2.7/dist-packages/shadowsocks/tcprelay.py」,第733行 server_socket.bind(SA) 文件「/usr/lib/python2.7/socket.py」,第228行,在meth return getattr(self._sock,name)(* args) socket.error:[Errno 99]無法分配請求的地址
3.設置ShadowSocks客戶端工具。
您可以從官方下載頁面下載ShadowSocks客戶端工具。
閱讀: 如何在Amazon EC2 Linux上安裝ShadowSocks Server
3.1對於MacOS。
- 從github 下載ShadowsocksX-NG。
- 它是一個zip文件,解壓縮後,您可以直接使用它。
- 當您單擊它開始時,它將出現在MacOS查找器欄的右上角。第一個小飛機圖標就是它的圖標。
- 單擊小平面圖標,將彈出菜單列表,單擊伺服器 – >伺服器首選項…菜單項以打開伺服器管理器對話框。
- 單擊伺服器列表中的+按鈕添加新的ShadowSocks伺服器,輸入相關的伺服器信息,單擊確定按鈕進行保存。
- 現在您可以在ShadossocksX NG彈出菜單列表中選擇ShadowSocks伺服器來使用它。打開Web瀏覽器,然後您可以通過ShadowSocks伺服器找到Web流量。
3.2對於Windows。
ShadowSocks windows客戶端工具與MacOS客戶端工具類似,可以 從github 下載shadowsocks-win,配置也很容易像MacOS。
3.3對於Linux。
3.3.1設置ShadowSocks客戶端工具。
此工具將與ShadowSocks伺服器通信使用加密通信數據。
- 在Linux中安裝ShadowSocks遵循本文第1,2節。
- ShadowSocks安裝可以用作伺服器,但也可以用作客戶端工具。當您將其用作伺服器時,使用ssserver命令,sslocal命令將啟動客戶端工具。
- 運行以下命令以安裝ShadowSocks軟體。
〜$ sudo apt安裝shadowsocks
- 安裝後,已創建/etc/shadowsocks/config.json文件。只需將其內容編輯為您自己的內容即可。
〜$ sudo gedit /etc/shadowsocks/config.json { 「伺服器」: 「1.2.1.2」, 「SERVER_PORT」:8888, 「local_address」: 「127.0.0.1」, 「LOCAL_PORT」:1080, 「密碼」: 「888888」, 「超時」:300, 「方法」: 「AES-256-CFB」, 「dast_open」:假的 }
- 運行sslocal命令以啟動ShadowSocks客戶端工具。當您看到以下消息時,表示客戶端工具已成功啟動。
jerry @jerry-VirtualBox :〜$ sslocal -c /etc/shadowsocks/config.json 信息:從/etc/shadowsocks/config.json載入配置 2018-10-01 21:28:25 INFO從libcrypto.so.1.1載入libcrypto 2018-10-01 21:28:25 INFO從127.0.0.1:1080開始本地化
3.3.2設置本地Http代理伺服器。
polipo是一個緩存Web代理,它可以將您的http請求重定向到socks5代理伺服器。或者您可以使用其他http代理工具具有您熟悉的相同功能。
- 在ubuntu下使用以下命令安裝polipo。
〜$ sudo apt-get install polipo
- 停止polipo並在polipo配置文件/ etc / polipo / configure中添加以下代理配置代碼
〜$ sudo服務polipo停止 〜$ sudo gedit / etc / polipo / config #添加以下polopo設置數據 socksParentProxy = localhost:1080 proxyPort = 8787
- 再次啟動polipo服務。
〜$ sudo服務polipo開始
- 運行
ps -ef | grep polipo
以確保polipo已啟動。傑里@jerry-VirtualBox :〜$ ps -ef | grep polipo proxy 641 1 0 15:37?00:00:00 / usr / bin / polipo -c / etc / polipo / config pidFile = / var / run / polipo / polipo.pid daemonise = true
export http_proxy=http://127.0.0.1:8787
在當前用戶$ HOME / .bashrc文件的末尾添加 。- 運行
source $HOME/.bashrc
命令使上述配置生效。
閱讀: 如何在Mac OS和Linux中編輯主機文件
3.3.3設置Firefox使用polipo本地Http代理伺服器。
- 打開Firefox Web瀏覽器。單擊右上角的「 打開菜單」按鈕,然後單擊「首選項」菜單項,在頂部搜索框中輸入代理,單擊「 網路代理配置」 後面的「設置…」按鈕。
- 選擇手動代理配置單選按鈕,在地址輸入框中輸入127.0.0.1,在埠號輸入框中輸入8787。我們的polipo緩存代理只在localhost上運行,並在埠8787上偵聽。
3.3.4設置Chrome使用polipo本地Http代理伺服器。
- 打開谷歌瀏覽器設置對話框。
- 在Google Chrome設置對話框中搜索代理。
- 單擊打開代理設置 項以打開網路配置對話框。
- 單擊網路代理項目以手動將代理伺服器IP更改為127.0.0.1並將埠更改為polipo http代理伺服器正在偵聽的8787。
3.3.5設置ShadowSocks Android App。
- 從谷歌遊戲商店下載ShadowSocks安卓應用程序。
- 在Android設備上安裝它。
- 單擊ShadowSocks圖標以啟動Android應用程序。
- 在應用程序中添加ShadowSocks伺服器配置文件。
- 單擊配置文件列表中的ShadowSocks伺服器,單擊右下方的小平面按鈕以連接到ShadowSocks伺服器。當您在頂部狀態欄中看到一個鍵圖標時,ShadowSocks伺服器已連接。
Comments are closed.