0%

shadowsocks Memo

记录在云主机上搭建 shadowsocks 科学上网的方法。
shadowsocks 的基本思路就是,分别在 server 端和 client 端安装相应的软件,使用的时候,例如访问 Google,client 的数据先发送到 server 端然后,server 端把数据转发到 Google,Google 返回的数据也是类似的流程,需要经过我们的 server。

购买云主机

Vultr 或者 Bandwagon

配置 server 端

购买云主机之后就是一些初始化的配置,如果之前配置过,下面部分步骤可以省略

1
2
3
4
5
# update & 安装需要的工具
apt update
apt install python-pip
pip install -U setuptools
pip install shadowsocks

在 Ubuntu 10.04 上安装之后加密的用的 so 文件报错,使用下面的方法安装

1
pip install -U git+https://github.com/shadowsocks/shadowsocks.git@master

注意防火墙配置允许端口的 tcp 协议。
接下来要启动 shadowsocks
启动 shadowsocks 有两种方法,命令行方式和配置文件方式。命令行方法:

1
2
3
ssserver -p 8000 -k password -m rc4-md5 start
# 如果要作为 demon 启动的话, 加上选项 -d
# ssserver -p 8000 -k password -m rc4-md5 -d start

配置文件方法:
首先要写配置文件:

1
2
3
4
5
6
7
8
9
{
"server": "IP",
"server_port": PORT,
"local_address": "127.0.0.1",
"local_port": 1086,
"password": "PASSWD",
"timeout": 300,
"method": "aes-256-cfb"
}

然后加载配置文件启动:

1
2
# -d 的作用是作为 daemon 启动
ssserver -c /etc/shadowsocks.json -d start

停止 daemon 的话,直接把上述对应命令的 start 改成 stop

配置 client 端

client 端安装方法和 server 相同,只不过,在使用的时候的命令不同
配置文件和 server 端的配置文件对应起来:

1
2
3
4
5
6
7
8
{
"server": "108.61.246.176",
"server_port": 8989,
"local_port": 1080,
"password": "mypassword",
"timeout": 300,
"method": "rc4-md5"
}

启动命令

1
sslocal -c shadowsocks.json

接下来,只需要把需要可选上网的应用的数据转发到 127.0.0.1:1080 就可以了。

Linux 命令行设置代理

设置两个环境变量 http_proxy 和 https_proxy

1
export http_proxy=http://localhost:1080 https_proxy=https://localhost:1080

MacOS 设置

用户自定义规则

1
2
3
4
5
6
7
8
9
10
! Put user rules line by line in this file.
! See https://adblockplus.org/en/filter-cheatsheet
||live.com
||live.net
.officeapps.live.com
.docs.live.net
||onenote.com
||github.com
||githubusercontent.com
||packagecontrol.io

Google Drive 不能同步

需要设置 http 代理,该代理要求和 shadowsocks ng 对应,默认代理为 127.0.0.1:1087