Shadowsocks服务端&客户端的部署

太长时间没有写博客了,最近折腾一些七七八八的东西,自己本身也不太擅长总结,很多技术也还没有到“可以为师”的地步,写出来质量也不会太高,所以就不献丑了。昨天刚好因为公司机器上的goagent不能用了,就打算自己部署一个Shadowsocks来用,服务器是128M的centos,足足折腾了一晚上,中间出了各种问题,这里稍微记录下,给遇到同样问题的朋友做个参考。另外说明下,我在公司的虚拟机上按照官方文档,很顺利的部署成功,所以下面的问题不是每个人都会遇到的,建议先按照官方文档部署shadowsocks。


一、安装失败,先升级Python

按照文档来部署,步骤只有三部:

yum install python-setuptools
easy_install pip
pip install shadowsocks

但是我失败在了第二步,错误如下:

[root@keenwon ~]# easy_install pip
Searching for pip
Best match: pip 1.5.6
Processing pip-1.5.6-py2.4.egg
pip 1.5.6 is already the active version in easy-install.pth
Installing pip script to /usr/bin
Installing pip2 script to /usr/bin
Installing pip2.4 script to /usr/bin

Using /usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg
Processing dependencies for pip

执行第三步也是报错(前端是个苦差事,抽空好好学学Linux):

[root@keenwon ~]# pip install shadowsocks
Traceback (most recent call last):
  File "/usr/bin/pip", line 7, in ?
    sys.exit(
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 236, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 2097, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1830, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg/pip/__init__.py", line 9, in ?
    from pip.log import logger
  File "/usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg/pip/log.py", line 19
    real_consumer = (consumer if not isinstance(consumer, colorama.AnsiToWin32)
                               ^
SyntaxError: invalid syntax

在网上寻寻觅觅找到个解决办法:升级Python,现在的版本是2.4,计划升级到2.7。升级方法就不说了,不是搞python的,而且网上一搜很多,唯一要注意的修改下yum的配置,yum要使用老版本的python才行。

升级后,继续执行esay_install pip ,再次悲剧的报错:

Traceback (most recent call last): 
    File "/usr/bin/easy_install", line 5, in <module> 
    from pkg_resources import load_entry_point 
    ImportError: No module named pkg_resources

继续寻寻觅觅,发现需要“Install the distribute package”,方法如下:

wget https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py
python distribute_setup.py

然后继续执行esay_install pippip install shadowsocks ,安装成功(不容易啊)。


二、服务端配置和客户端使用

安装成功后,要新增一个配置文件,具体的可以看官方文档。例外它可以配置多个端口,多个密码给不通的人用,大概配置如下:

{
    "server":"<你服务器ip>",
    "port_password": {
        "<端口号>": "<密码>",
        "<端口号>": "<密码>",
        "<端口号>": "<密码>"
    },
    "local_port":1080,
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
}

然后安装相应的客户端,在windows上,我是使用的是shadowsocks-csharp。直接下载就可以使用:

另外关于chrome的插件Proxy SwitchySharp,因为shadowsocks-csharp会修改IE的代理,所以浏览器默认就是使用IE的代理的,所以就没有必要使用Proxy SwitchySharp了,如果还要继续使用,可以设置到127.0.0.1:1080端口(我图上是1081)。


三,结论

1、shadowsocks性能还是很好的,而且资源占用的比较少,我128M的小VPS还能支撑的起来,后期打算迁移到DigitalOcean,关于vps的看这篇文章

2、shadowsocks目前没有流量统计等功能,而且貌似作者也不打算加。


-完-



标签: , ,

  1. 楼主,我遇到情况与你一样,按你流程,一直 做到 python distribute_setup.py
    这步,又报错了,就此止步。悲剧

无觅相关文章插件,快速提升流量