如何使用这个修改后的 Shadowsocks?
这个修改版的Shadowsocks是基于Shadowsocks-rust,我们也利用Shadowsocks-android来编译Android用户的apk文件。所有客户端和服务器端软件都可以在这个分支和这个版本中找到。
安装服务器
安装过程与安装任何其他服务器相同Shadowsocks-rust
。
- 首先你登录到你的远程服务器,然后使用以下命令获取服务器二进制文件:
wget https://github.com/gfw-report/shadowsocks-rust/releases/download/v0.0.1-beta/shadowsocks-v1.15.0-alpha.9.x86_64-unknown-linux-gnu.tar.xz
tar xvf shadowsocks-v1.15.0-alpha.9.x86_64-unknown-linux-gnu.tar.xz
- 然后你创建一个配置文件:
sudo nano server_config.json
将以下设置复制并粘贴到文件中。请注意,您需要ExamplePassword
用更强的密码替换密码。从您的终端执行此操作的一种简便方法是openssl rand -base64 16
:您可能还想更改server_port
.
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "ExamplePassword",
"method": "aes-256-gcm"
}
完成编辑后,键入Ctrl + x
退出。文本编辑器会询问"Save modified buffer?"
,您可以键入y
然后点击Enter
。
- 现在您可以开始使用配置文件运行二进制文件,但要使其在结束 SSH 会话后仍能正常工作,您可能需要通过以下方式创建会话
tmux
:
tmux
然后你做:
./ssserver -c ./server_config.json
最后,键入Ctrl + b
然后键入d
以从 tmux 会话中分离。
防火墙配置
我们用来ufw
为 Shadowsocks 服务器打开端口。
ufw
在基于 Debian 的服务器上安装:
sudo apt update && sudo apt install -y ufw
ssh
然后为和开放端口Shadowsocks-rust
。请注意,如果将 设置server_port
为不同于8388
in 的值server_config.json
,则需要8388
相应地更改以下值:
sudo ufw allow ssh
sudo ufw allow 8388
现在启用ufw
:
sudo ufw enable
如果出现提示Command may disrupt existing ssh connections. Proceed with operation (y|n)?
,请键入y
并点击Enter
。
最后,运行sudo ufw status
,输出应如下所示:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
8388 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
8388 (v6) ALLOW Anywhere (v6)
客户端配置
下面是客户端的配置文件。请记住将server
值从更改ExampleServerIP
为远程服务器的公共 IP 地址。如果您使用的是andorid 并从我们提供的apk 文件中安装,则用法应该与往常一样。
{
"server": "ExampleServerIP",
"server_port": 8388,
"password": "ExamplePassword",
"method": "aes-256-gcm",
"local_address": "127.0.0.1",
"local_port": 1080
}