> Linux教程 > 系统运维 >

Shadowsocks-python一键安装脚本(CentOS6,7、Ubuntu、Debian)

Shadowsocks原理

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

  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

出现如下即安装成功:

  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卸载

  1. ./shadowsocks.sh uninstall

Shadowsocks服务管理

 
  1. service shadowsocks start      #启动
  2. service shadowsocks stop      #关闭
  3. service shadowsocks restart   #重启
  4. service shadowsocks status    #状态

本地客户端

Windows 和 OS X 下的 GUI 客户端可以下载shadowsocks-gui,下载地址

http://sourceforge.net/projects/shadowsocksgui/files/dist

目前最新版本为Shadowsocks-win-2.3.1.zipShadowsocksX-2.6.3.dmg

如果无法打开,请使用备份地址

Win:

.NET Framework 3.5 版本,适合 Windows 7 用户,链接:http://pan.baidu.com/s/1kTKjIxp 密码:j3xd

.NET Framework 4.0 版本,适合 Windows 8.1 用户,链接:http://pan.baidu.com/s/1jUnFK 密码:8220

OS X:

链接:http://pan.baidu.com/s/1mglBIBY 密码:2cqe

针对两个系统,OS X 和 Windows,以及手机 iOS 和 Android 客户端。

OS X 下设置使用方法

Mac 下使用极其方便,因为 GUI 已经集成了系统 Pac,所以无需设置任何科学上网的姿势,直接运行ShadowsocksX,然后输入服务商提供给你的账号信息,保存运行后,即可在所有浏览器里直接科学上网,如图:

Windows 下设置使用方法

解压Shadowsocks-win-2.3.1.zip,打开shadowsocks.exe

然后输入服务商提供给你的账号信息,如图:

点击OK保存,成功后会在桌面右下方显示 Shadowsocks logo 的图标,然后右键点击 Enable 运行

由于 Windows 系统的复杂性,我们需要单独对浏览器进行设置,本文只介绍 Chrome 和 Firefox 这两款优秀的浏览器,至于其他的浏览器,如 IE 等,本文不会介绍。

① Chrome 下的 Proxy SwitchySharp 插件

https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm?hl=zh-CN

如果您无法访问,也可以下载这个 .crx 文件

链接:http://pan.baidu.com/s/1jGmvMPg 密码:if2e

下载完成后在设置>>扩展,直接把该 .crx 文件拖入窗口然后安装即可

然后打开 Proxy SwitchySharp 的设置,新建一个情景,命名为 Shadowsocks,并设置好端口,模式为 socks5 如图:

再点切换规则,由于可能大概无法访问 Google,我们就启用切换规则,然后在 URL 模式里输入 *google* 统配好 Google 的所有域名,选择好模式匹配为通配符,情景模式为 Shadowsocks

然后把在线规则列表打钩,输入URL为:https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt

勾选AutoProxy 兼容列表,然后点立即更新,更新完成后保存即可,如图:

如果不想用插件,直接全局代理,就把桌面的快捷方式 chrome.exe 右键 属性 >> 修改 Chrome.exe 运行参数,在目标那一栏,最后的引号后面加上

  1. --proxy-server="socks5://127.0.0.1:1080" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"

就是说修改为类似(1080 为你设置的本地端口,如果设置了不同的端口请自行修改)

  1. "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"--proxy-server="socks5://127.0.0.1:1080" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"

然后运行 Chrome 即可

② Firefox 下的 AutoProxy 20131215 修复版

由于 AutoProxy 的作者没有更新,新的版本无法在 Firefox 27.0 以后进行代理规则设置,所以我们用 xthunder 作者 的修复版,下载链接:http://xthunder.googlecode.com/files/autoproxy20131215.xpi

如果您无法访问,也可以访问此链接:http://pan.baidu.com/s/1c0rrGDq 密码:9abj

下载好这个 .xpi 文件后,直接拖入任何 Firefox 窗口,然后安装重启浏览器即可。之后点击右上方新出现的小地球图标,进行设置

点击首选项

依次点击代理服务器>>编辑代理服务器

新增加一个名称为Shadowsocks设置好本地的端口,类型为socks5

然后点击代理规则>>增加代理规则

订阅 GFW List

然后保存,可以设置全局代理,也可以设置自动代理,推荐使用自动代理,只针对某一批网站走代理,然后右上方的小地球图标会变成蓝色(自动模式)或绿色(全局模式)

Android 以及 iOS 客户端

如果需要局部科学上网,那么你的 Android 需要 root,如果木有 root,那么就只能全局上网

Android 客户端下载地址请摸我:

https://play.google.com/store/apps/details?id=com.github.shadowsocks

如果您无法访问,也可以摸摸这个:

http://apps.evozi.com/apk-downloader/?id=com.github.shadowsocks

设置账号信息和电脑上基本一致:

iOS 非越狱的话,可以直接安装 Shadowsocks 的 app,下载地址请访问:

https://itunes.apple.com/us/app/shadowsocks/id665729974?ls=1&mt=8

这是个自带 SS 的浏览器,设置账号信息等大同小异,点击右上方的+号,然后设置你的账号:

iOS 越狱了的话,直接在 Cydia 里搜索 Shadowsocks ,然后安装

客户端信息参考:http://ttt.tt/150/



(责任编辑:IT)