在树莓派中设置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