shadowsocks简易代理隧道

shadowsocks测试

1.安装

1
$ pip install shadowsocks

2.服务端

  • 执行命令:

    1
    $ ssserver -c /etc/shadowsocks.json
  • 配置内容:/etc/shadowsocks.json

    1
    2
    3
    4
    5
    6
    7
    {
    "server":"0.0.0.0",
    "server_port":10086,
    "password":"nopassword",
    "timeout":300,
    "method":"aes-256-cfb"
    }
  • 测试服务器

    1
    2
    # 测试服务器 10.2.2.2
    $ python -m http.server

3.客户端

  • 执行命令:

    1
    $ /usr/local/bin/sslocal -c /etc/shadowsocks.json
  • 配置内容:/etc/shadowsocks.json

    1
    2
    3
    4
    5
    6
    7
    8
    {
    "server":"100.100.2.181",
    "server_port":10086,
    "local_port":1080,
    "password":"nopassword",
    "timeout":300,
    "method":"aes-256-cfb"
    }
  • 测试生效

    1
    $ curl --socks5 127.0.0.1:1080 http://10.2.2.2:8000

polipo全局代理

1.安装

1
$ apt-get install polipo

2.配置文件

/etc/polipo/config

3.重启polipo服务:

1
$ sudo /etc/init.d/polipo restart

4.为终端配置http代理:

1
$ export http_proxy="http://127.0.0.1:1080/"

5.接着测试下能否翻墙:

1
$ wget http://www.google.com  #如果收到index.html则终端代理成功!

报错解决

1. AttributeError: /lib64/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup

  • /usr/local/lib/python3.6/site-packages/shadowsocks/crypto/openssl.py 里的 EVP_CIPHER_CTX_cleanup 替换为 EVP_CIPHER_CTX_reset 即可
  • 或者用python3低版本

参考