Shadowsocks

出自 ArchWiki

此条目或章节需要扩充。

Shadowsocks 是一个轻量级的代理。它基于 SOCKS5 协议,但额外使用了加密,这提高了安全性并有助于绕过防火墙。

安装

Arch Linux 为 Shadowsocks 打包了多种实现。你可以安装 其中之一

配置

Shadowsocks 的配置通过 JSON 格式的文件完成。参见 Configuration via Config File

提示
  • 要指定多个服务器 IP,可以使用以下语法 "server":["1.1.1.1","2.2.2.2"],
  • 要找出在您的机器上运行最快的方法,您可以使用 iperf.sh 脚本进行基准测试。

使用

客户端

警告: udns 软件包被用作 DNS 的桩解析器。为了防止客户端应用程序(如浏览器)的 DNS 请求泄漏,必须采用其他应用程序。例如,客户端上的 privoxy 或完整的 DNS 解析器。 [1] [2]

从命令行

客户端通过 ss-local (shadowsocks-libev) 或 sslocal (shadowsocks, shadowsocks-rust) 命令启动,详见 sslocal(1) 手册。

sslocal -b 127.0.0.1:1080 --server-url ss://

或通过配置文件

sslocal -c config.json
config.json
{
 "remarks": "Server name",
 "server": "111.111.111.111",
 "server_port": 804,
 "local_port": 1080,
 "method": "chacha20-ietf-poly1305",
 "password": "server_password"
}

守护进程管理

Shadowsocks 客户端可以通过 systemctl 的 shadowsocks@.service (shadowsocks) 或 shadowsocks-libev@.service (shadowsocks-libev) 实例控制。要使用配置文件 /etc/shadowsocks/config.json启动启用 shadowsocks-libev-server@config.serviceshadowsocks-server@config.service

您可能也会对在网络启动后运行 shadowsocks@shadowsocks-libev@ 实例 感兴趣。

服务器

从命令行

服务器通过 ss-server (shadowsocks-libev) 或 ssserver (shadowsocks, shadowserver-rust) 命令启动,详见 ssserver(1) 手册。

守护进程管理

Shadowsocks 服务器可以通过 shadowsocks-rust-server@.service (shadowsocks-rust) 或 shadowsocks-server@.service (shadowsocks) 的实例控制。要使用配置文件 /etc/shadowsocks/config.json启动启用 shadowsocks-rust-server@config.serviceshadowsocks-server@config.service

要将 Shadowsocks 绑定到特权端口(小于 1024),服务器应以 root 用户身份启动

/etc/systemd/system/shadowsocks-server@.service.d/start-as-root.conf
[Service]
User=root

技巧与提示

性能优化

加密

参见 AEAD Ciphers

安装 python-m2cryptoAUR 软件包将使加密速度更快一点。

要使用 Salsa20ChaCha20 密码,请安装 libsodium 软件包。

参见