在樹莓派中設置shadowsocks客戶端

從組中設置覆盆子pi的代理是混亂的,因為許多教程已經過時。經過2個小時的痛苦,我終於弄明白了如何在我的覆盆子pi 3B +上進行設置。

  1. 假設您安裝了最新的Raspbian拉伸,並了解如何使用shell的基礎知識。操作系統本身將安裝「openssl 1.1.0」和「python 2.7 pip」。你可以通過openssl version和檢查出來pip --version
  2. 安裝shadowsocks-python sudo pip install shadowsocks
  3. 配置shadowsocks配置sudo nano /etc/shadowsocks.json,有很多關於如何配置的教程,你可以搜索它。請注意,在json格式中,您必須在字元串周圍使用雙引號,並且只有純數字可以省略引號。
  4. 運行ss by sslocal -c /etc/shadowsocks.json,你可能會遇到錯誤。錯誤的最後一行是AttributeError: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup,這意味著openssl 1.1.0中的libcrypto模塊沒有EVP_CIPHER_CTX_cleanup方法。在openssl 1.1.0中,它被EVP_CIPHER_CTX_reset取代。
  5. 所以你必須按照錯誤信息,找到「openssl.py」的地址。例如,我的是「/usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py」。然後打開文件,找到並用EVP_CIPHER_CTX_reset替換所有EVP_CIPHER_CTX_cleanup。
  6. sslocal -c /etc/shadowsocks.json再次跑,你這次應該沒問題。然後運行chromium-browser --proxy-server="socks5://127.0.0.1:1080"在代理中打開瀏覽器,注意它是「socks5」協議,但不是「http」協議!
  7. 現在你可以自由瀏覽互聯網,嘗試訪問一些網站!但它還沒有結束。您應該前往chrome web store查找並安裝SwitchyOmega,並將其配置為匹配shadowsocks配置。之後,您可以像往常一樣點擊並啟動鉻,並可以選擇打開/關閉代理。
  8. 最後,將sslocal添加到systemd以便在登錄時自動啟動。
    sudo nano /etc/systemd/system/shadowsocks.service
    #將以下內容粘貼到其中

[Unit] 
Description = SS 
After = network.target 

[Service] 
Type = simple 
User = root 
ExecStart = / usr / bin / sslocal -c /etc/shadowsocks.json 

[Install] 
WantedBy = multi-user.target

9.啟用服務 systemctl enable /etc/systemd/system/shadowsocks.service