由于阳哥的需求,要在 Ubuntu
下使用 Shadowsocks
访问交易所的 API
,不过自己用 Python
实现代理太麻烦了,所以就想要配置全局代理。一开始想要在系统的 All Settings > Network > Network proxy
里配置,结果发现协议不同,四处查找,终于找到了解决方案。
虽然 Github
上的 Shadowsocks
被删了,但是 Ubuntu
软件源上的还在呀。滑稽
安装相关软件
1 | sudo apt-get install shadowsocks privoxy |
如果是全局代理的话,需要使用 Shadowsocks + privoxy
的方案,但如果只是在 Firefox
或者 Chrome
上使用,就不用这么麻烦,Shadowsocks + SwitchyOmega
就可以了,极其方便。
配置 Shadowsocks
安装完后输入 sslocal -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
28
29$ sslocal -h
usage: sslocal [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
-p SERVER_PORT server port, default: 8388
-b LOCAL_ADDR local binding address, default: 127.0.0.1
-l LOCAL_PORT local port, default: 1080
-k PASSWORD password
-m METHOD encryption method, default: aes-256-cfb
-t TIMEOUT timeout in seconds, default: 300
-a ONE_TIME_AUTH one time auth
--fast-open use TCP_FASTOPEN, requires Linux 3.7+
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
Online help: <https://github.com/shadowsocks/shadowsocks>
如果 Ubuntu
源是清华源,可选参数会少一点(版本不一样),输入 sslocal -h
后结果如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20$ sslocal -h
usage: sslocal [-h] -s SERVER_ADDR [-p SERVER_PORT]
[-b LOCAL_ADDR] [-l LOCAL_PORT] -k PASSWORD [-m METHOD]
[-t TIMEOUT] [-c CONFIG] [--fast-open] [-v] [-q]
optional arguments:
-h, --help show this help message and exit
-s SERVER_ADDR server address
-p SERVER_PORT server port, default: 8388
-b LOCAL_ADDR local binding address, default: 127.0.0.1
-l LOCAL_PORT local port, default: 1080
-k PASSWORD password
-m METHOD encryption method, default: aes-256-cfb
-t TIMEOUT timeout in seconds, default: 300
-c CONFIG path to config file
--fast-open use TCP_FASTOPEN, requires Linux 3.7+
-v, -vv verbose mode
-q, -qq quiet mode, only show warnings/errors
Online help: <https://github.com/clowwindy/shadowsocks>
可以直接使用命令行输入账号密码等参数运行,如:1
sslocal -s SERVER_ADDR -p SERVER_ADDR -k PASSWORD
或者使用配置文件的方式,更方便:
新建配置文件如
config.json
,按以下格式配置:1
2
3
4
5
6
7
8
9{
"server": "192.168.1.1",
"server_port": 8388,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "password",
"method": "aes-256-cfb",
"timeout": 600,
}通过以下命令启动
Shadowsocks
客户端服务1
2
3
4$ sslocal [-c config.json] [-d start]
INFO: loading config from config.json
shadowsocks 2.1.0
YYYY-mm-dd HH:MM:SS INFO starting local at 127.0.0.1:1080
配置 privoxy
1 | sudo vi /etc/privoxy/config |
将第 1336
行的注释去掉,变成这样:1
2
3
4# To chain Privoxy and Tor, both running on the same system, you
# would use something like:
#
forward-socks5t / 127.0.0.1:1080 .
启动 privoxy
只要 privoxy
服务开着就行,一般安装完后都会自动启动的。1
sudo service privoxy start
设置全局 HTTP
和 HTTPS
代理
privoxy
默认开启的监听端口为 8118
1
2export http_proxy='http://localhost:8118'
export https_proxy='https://localhost:8118'
自此,大功告成。
为了方便日后使用,也可以将设置全局代理、启动 Shadowsocks
的工作写成自动脚本来运行。