影梭部署

可以躲避网络审查的一种方法

Posted by qisanchi on

如何使用这个修改后的 Shadowsocks?

这个修改版的Shadowsocks是基于Shadowsocks-rust,我们也利用Shadowsocks-android来编译Android用户的apk文件。所有客户端和服务器端软件都可以在这个分支这个版本中找到。

安装服务器

安装过程与安装任何其他服务器相同Shadowsocks-rust

  1. 首先你登录到你的远程服务器,然后使用以下命令获取服务器二进制文件
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
  1. 然后你创建一个配置文件:
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

  1. 现在您可以开始使用配置文件运行二进制文件,但要使其在结束 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为不同于8388in 的值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
}