科学上网利器 Shadowsocks 简介

科学上网利器 Shadowsocks 简介
    windows、ios、android、mac
    2.6.3
    最后更新:2016年06月07日

Shadowsocks原理

简单理解的话,Shadowsocks是将以前通过SSH创建的Socks5协议拆开成Server端和client端,下面这个原理图能简单介绍其翻墙原理,基本上和利用SSH tunnel大致类似:

科学上网利器 Shadowsocks 简介

  1. PC客户端(即你的电脑)发出请求基于Socks5协议跟SS-Local端进行通讯,由于这个SS-Local一般是本机或路由器等局域网的其他机器,不经过GFW,所以解决GFW通过特征分析进行干扰的问题。
  2. SS-Local和SS-Server两端通过多种可选的加密方法进行通讯,经过GFW的时候因为是常规的TCP包,没有明显特征码GFW也无法对通讯数据进行解密,因此通讯放行。
  3. SS-Server将收到的加密数据进行解密,还原初始请求,再发送到用户需要访问的服务网站,获取响应原路再返回SS-04,返回途中依然使用了加密,使得流量是普通TCP包,并成功穿过GFW防火墙。

因此,Shadowsocks的优点在于它解决了GFW通过分析流量特征从而干扰的问题,这是它优于SSH和VPN翻墙的地方。

安装使用说明

Shadowsocks服务端有Python、libev、go版本,从系统占用资源和多用户配置方面来考虑,我选择使用Python来作为 Shadowsocks的服务端,网上已经有很多比较好的一键安装脚本,如teddysun,但对多用户配置还需要手工更改配置文件(iptables、 /etc/shadowsocks.json)。于是,自己写一个,包含安装、添加用户和卸载功能,并整合到《OneinStack》和《lnmp一键安装包》中。

Shadowsocks安装

  1. wget http://mirrors.linuxeye.com/oneinstack.tar.gz
  2. tar xzf oneinstack.tar.gz
  3. cd oneinstack
  4. ./shadowsocks.sh install
科学上网利器 Shadowsocks 简介

出现如下即安装成功:

  1. Your Server IP: You_Server_IP
  2. Your Server Port: 9001
  3. Your Password: oneinstack
  4. Your Local IP: 127.0.0.1
  5. Your Local Port: 1080
  6. Your Encryption Method: aes-256-cfb

Shadowsocks添加用户

  1. ./shadowsocks.sh adduser
科学上网利器 Shadowsocks 简介

Shadowsocks卸载

  1. ./shadowsocks.sh uninstall
科学上网利器 Shadowsocks 简介