CentOS下pip和shadowsocks的安装使用

技术 62605 次围观 56 次吐槽

Pip是安装Python包的工具,提供了安装、列举已安装包、升级以及卸载包的功能。Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。
目前有很多Python程序都是可以直接通过Pip来一键安装了,比如众所周知的Django、Markdown、Shadowsocks等。

简要介绍一下Pip的用法(以安装Shadowsocks举例):
1、安装package
pip install shadowsocks
2、列出已安装的packages
pip freeze
3、安装特定版本的package
pip install shadowsocks=1.3.3′
pip install shadowsocks>1.0,<1.3.3′
4、升级已安装的package到最新版本
pip install -U shadowsocks
5、卸载已安装的package
pip uninstall shadowsocks
6、查询已安装的package
pip search “shadowsocks”

安装Pip之前必须要先安装setuptools,安装setuptools之前,必须要安装了Python,这之间的安装过程存在依赖关系,缺一不可。因此,整个过程还是比较麻烦的。
1、 检查Python版本
python –version
CentOS6.5默认安装的Python版本是2.6.6,返回值为:Python 2.6.6
2、 安装setuptools
yum install -y python-setuptools
安装完毕后,easy_install命令就可以使用了。
3、 安装pip
easy_install pip
通过easy_install安装pip是最为简单的方法。pip默认安装到/usr/bin目录下。
4、 安装shadowsocks
pip install shadowsocks

Shadowsocks的配置和使用
至于Shadowsocks可以拿来做什么,这里就毋须赘述了。直接开始吧。
1、 创建Shadowsocks的配置文件:
CentOS下通过vim创建该配置,运行命令:
vi /etc/shadowsocks.json
内容如下:

{
    "server":"your_server_ip",
    "server_port":8989,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"yourpassword",
    "timeout":600,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
}

各字段的含义:
server:服务器 IP (IPv4/IPv6),注意这也将是服务端监听的 IP 地址
server_port:监听的服务器端口
local_address:本地监听的 IP 地址
local_port:本地端端口
password:用来加密的密码
timeout:超时时间(秒)
method:加密方法,可选择 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4”, 等等。默认是一种不安全的加密,推荐用 “aes-256-cfb”
fast_open:true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法:

echo 3 > /proc/sys/net/ipv4/tcp_fastopen

开启之后,将 fast_open 的配置设置为 true 即可。
works:works数量,默认为 1

2、 安装M2Crypto
默认加密方法 table 速度很快,但很不安全。推荐使用 “aes-256-cfb” 或者 “bf-cfb”。请不要使用 “rc4″,它不安全。如果选择 “table” 之外的加密,需要安装 M2Crypto。
先安装依赖包:

yum install -y openssl-devel gcc swig python-devel autoconf libtool

安装setuptools:

wget --no-check-certificate https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py install

再通过pip安装M2Crypto:
pip install M2Crypto

3、 安装 gevent
安装 gevent可以提高 Shadowsocks 的性能。CentOS下安装gevent依赖libevent和greenlet。
安装libevent:
yum install -y libevent
安装greenlet:
pip install greenlet
安装gevent:
pip install gevent

4、 命令行参数(服务器端启动命令)
ssserver -c /etc/shadowsocks.json
如果想在后台一直运行Shadowsocks,启动命令如下:

nohup ssserver -c /etc/shadowsocks.json > /dev/null 2>&1 &

备注:关于nohup,是可以让程序在后台运行的命令。

同时可以用命令行参数覆盖 /etc/shadowsocks.json 里的设置:
sslocal -s 服务器地址 -p 服务器端口 -l 本地端端口 -k 密码 -m 加密方法
ssserver -p 服务器端口 -k 密码 -m 加密方法

备注:sslocal是客户端程序;ssserver是服务端程序。

5、 防火墙设置(如有)
编辑防火墙配置文件/etc/sysconfig/iptables,将服务器端口(server_port)放行。
新增一条防火墙规则:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8989 -j ACCEPT

重启防火墙iptables:
service iptables restart

至此,服务器端的 Shadowsocks 安装和配置完毕。

6、客户端配置
Windows客户端有图形界面也有命令行,我们这里以配置图形化界面的shadowsocks-csharp为例说明。
下载客户端shadowsocks-csharp(最新版1.1.2):
https://shadowsocks-csharp.googlecode.com/files/shadowsocks-csharp-1.1.2.zip

解压至任意目录下,双击shadowsocks-csharp.exe运行程序,各参数选项填入:

Server IP:   服务器 IP (IPv4/IPv6),填入在服务器端设置的IP地址(server)
Server Port: 服务器端口,填入在服务器端设置的端口号(server_port)
Password:    用来加密的密码,填入在服务器端设置的加密密码(password)
Proxy Port:  本地端代理的端口,填入在服务器端设置的本地端端口(local_port)
Encryptor:   加密方法,填入在服务器端设置的加密方法(method)

注意:本地客户端填写的参数一定要与服务器端设置的一致才可以。

另有一款客户端 shadowsocks-gui (推荐)可供选择,下载地址:
https://sourceforge.net/projects/shadowsocksgui/files/dist/

下面就可以利用浏览器插件无障碍浏览国外网站了。插件的设置过程这里略过。
AutoProxy(用于Firefox)、Proxy SwitchySharp(用于Chrome)

参考链接:
http://shadowsocks.org/en/download/servers.html(翻)
https://pypi.python.org/pypi/shadowsocks

转载请注明:秋水逸冰 » CentOS下pip和shadowsocks的安装使用

发表评论
取消评论
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
表情

已有评论 (56)

  1. 作者您好,请问 最新的 py 安装脚本安装后是否默认已安装 M2Crypto 和 gevent ?
    大虾3周前 (2016-07-04)回复
  2. 这个脚本很方便 不过请问一下老司机这个SSGO是否可以加上SS-PANEL进行管理
    Leochang2个月前 (2016-05-27)回复
  3. 最新可用的 setuptools地址 博主可以更新一下 https://bootstrap.pypa.io/ez_setup.py
    xioxoabai3个月前 (2016-05-09)回复
    • 本站的一键安装脚本里已采用源(repo)安装。
      秋水逸冰3个月前 (2016-05-09)回复
  4. ssserver -c /etc/shadowsocks.json 后一直是 INFO starting server at 停住了这是为什么
    shiji3个月前 (2016-04-15)回复
  5. 你好 多用户的端口 规则 应该怎么设置?
    筑楼5个月前 (2016-02-24)回复
  6. 装了python能再装go吗?他们能共存吗?
    zj7个月前 (2015-12-22)回复
    • 能共存,只要两个服务端版本监听不一样的端口即可。
      秋水逸冰7个月前 (2015-12-23)回复
      • 是指服务器端口需要不一样吧,本地端口呢?能不能一样?
        zj7个月前 (2015-12-25)回复
        • 本地端口同一个客户端的情况下随意指定。如果你想搞不一样的端口,那至少要开启一个以上的进程(也就是客户端多开)。
          秋水逸冰7个月前 (2015-12-25)回复
  7. centos 6.5试验成功,之前过多次都失败。这次很好用。
    郑州一株网络11个月前 (2015-08-21)回复
  8. 已成功, centos 6。ssserver 有一个 -d start 选项,可以以daemon模式运行
    somebody11个月前 (2015-08-16)回复
  9. 执行 pip install M2Crypto 时 error: command 'swig' failed with exit status 1 Command "/usr/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-Y8o_WE/M2Crypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-BRoTQU-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-Y8o_WE/M2Crypto 这是为什么
    Alan1年前 (2015-06-12)回复
    • 本站有 Shadowsocks 各个版本的一键安装脚本,右侧导航栏会看到。 脚本会自动安装所需要的依赖包。
      秋水逸冰1年前 (2015-06-12)回复
  10. 非常好用!!!!!!感谢版主无私奉献!!
    阿斯顿1年前 (2015-05-26)回复
  11. 最近用了一个新加坡KT的 SS线路 感觉速度还不错
    上谷歌1年前 (2015-05-24)回复
  12. 感谢楼主,我的 centos6 按照楼主的教程成功安装,现在已在使用中!!!!!
    udream1年前 (2015-05-14)回复
  13. 你好,请教一下,我在linnode上已经架设了一个server的服务器A,在本地windows下测试可以正常连接,主要用于ipv6转ipv4上网。 现在,我本地有一个centos 6.6的服务器B,也想通过server的服务器A实现ipv6转ipv4上网。 只需要写一个config.json配置文件,内容和windows的一样,然后运行sslocal -c config.json即可呢? 如何测试是否可以上网呢?
    kaliu1年前 (2015-03-29)回复
    • 先用 sslocal 配置好本地代理,执行 sslocal -h 查看使用帮助。 然后再去搜一下如何在 CentOS 设置本机代理。
      秋水逸冰1年前 (2015-03-30)回复
  14. 谢谢啊,LZ太牛B了,大好人啊
    USMK1年前 (2015-03-28)回复