本文从 http://blog.csdn.net/jon_me/article/details/53525059 迁移过来(但是不存在侵权问题),做了一些校验和修正
Shadowsocks + Polipo 配置全局代理(Linux 版本)
以下配置均不在virtualenv 环境里面配置
1. 服务器端配置
安装shadowsocks 环境
pip 安装:
1
$ sudo pip install shadosocks
下载python 源码安装:shadowsocks 链接
配置shadowsocks 启动json文件 (参考链接)
文件路径:1
$ sudo vim /etc/shadowsocks.json
shadowsocks.json 文件内容:
1
2
3
4
5
6
7
8
9
10
11{
"server":"my_server_ip",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"rc-md5",
"fast_open": false,
"workers": 100
}
字段名 | 描述 | 样例 |
---|---|---|
server | 服务器ip或者服务器域名 | “127.0.0.1” |
server_port | shadowsocks监听端口 | 8388 |
local_address | 服务器本地端口 | 1080 |
password | 客户端登陆时密码 | “mypassword” |
timeout | 超时 | 300 |
method | 传输加密方式 | “rc-md5” |
fast_open | TCP加速(需要linux内核 3.7.1 以上) | false |
workers | 最大连接数量 | 100 |
启动shadowsocks服务
启动:1
$ ssserver -c /etc/shadowsocks.json -d start
关闭:
1
$ ssserver -c /etc/shadowsocks.json -d stop
ssserver 简单说明(其实使用ssserver -h 即可查看帮助,以下内容为复制粘贴得到):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27$ ssserver -h
usage: ssserver [OPTION]...
A fast tunnel proxy that helps you bypass firewalls.
You can supply configurations via either config file or command line arguments.
Proxy options:
-c CONFIG path to config file
-s SERVER_ADDR server address, default: 0.0.0.0
-p SERVER_PORT server port, default: 8388
-k PASSWORD password
-m METHOD encryption method, default: aes-256-cfb
-t TIMEOUT timeout in seconds, default: 300
--fast-open use TCP_FASTOPEN, requires Linux 3.7+
--workers WORKERS number of workers, available on Unix/Linux
--forbidden-ip IPLIST comma seperated IP list forbidden to connect
--manager-address ADDR optional server manager UDP address, see wiki
General options:
-h, --help show this help message and exit
-d start/stop/restart daemon mode
--pid-file PID_FILE pid file for daemon mode
--log-file LOG_FILE log file for daemon mode
--user USER username to run as
-v, -vv verbose mode
-q, -qq quiet mode, only show warnings/errors
--version show version information配置开机启动(ubuntu 版本)
进入到开机启动目录1
$ cd /etc/init.d/
文件夹里面添加文件
1
$ sudo touch shadowsocks-start.sh
1
$ sudo vim /etc/init.d/shadowsocks-start.sh
内容如下(不做解释,参考insserv的两篇文章:链接1 链接2):
1
2
3
4
5
6
7
8
9
10
11
12
13#! /bin/sh
### BEGIN INIT INFO
# Provides: shadowsocks
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network $time
# Should-stop: $network $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: shadowsocks.
### END INIT INFO
/usr/bin/ssserver -c /etc/shadowsocks.json -d start设置启动等级:
1
$ sudo update-rc.d /etc/init.d/shadowsocks-start.sh defaults 90
以上配置好了服务器端的内容了
2. 客户端配置
安装shadowsocks
和服务器端一样的安装方式,通过pip 安装或者源码安装1
$ pip install shadowsocks
配置客户端的shadowsocks.json文件
创建shadowsocks.json文件:1
$ sudo vim /etc/shadowsocks.json
内容如下:
1
2
3
4
5
6
7
8
9{
"server":"my_server_ip",
"server_port":8388,
"local_port":7070,
"password":"mypassword",
"timeout":300,
"method":"rc4-md5",
"auth": true
}启动客户端shadowsocks服务
启动:1
$ sslocal -c /etc/shadowsocks.json -d start
关闭:
1
$ sslocal -c /etc/shadowsocks.json -d stop
关于sslocal 的使用可以参考 sslocal -h,这里不多描述
至此以上已经配置好了shadowsocks的服务了,可是还不能正常使用,原因很简单,shadowsocks是使用的是socks5代理,如果是浏览器使用,需要安装特定的插件,当然firefox可以直接配置proxy即可,chrome 需要安装SwitchyOmega类似的插件,并且配置。这样一来就不能是全局的使用了,仅仅局限于浏览器。有很多代理转发工具,但是本文将介绍Polipo进行http/https的代理转发(ubuntu版本)
3. polipo安装
1 | $ sudo apt-get install polipo |
4. polipo配置 (参考1 参考2)
polipo配置方式:1
$ sudo vim /etc/polipo/config
/etc/polipo/config 内容:1
2
3
4
5
6
7
8
9
10
11
12# This file only needs to list configuration variables that deviate
# from the default values. See /usr/share/doc/polipo/examples/config.sample
# and "polipo -v" for variables you can tweak and further information.
logSyslog = true
logFile = /var/log/polipo/polipo.log
proxyAddress = "0.0.0.0"
proxyPort = 17070
socksParentProxy = "127.0.0.1:7070"
socksProxyType = socks5
allowedClients = 127.0.0.1
5. polipo重启
1 | $ sudo /etc/init.d/polipo restart |
设置http/https代理1
$ export http_proxy="http://127.0.0.1:17070" && export http_proxy="http://127.0.0.1:17070"
取消代理1
$ unset http_proxy && unset https_proxy
以上是配置linux(ubuntu)版本的shadowsocks全局代理
window下建议使用Proxifier, 下载地址。其它Proxifier相关注册码信息参考链接