优质SS/SSR/Trojan/Xray/V2Ray机场推荐 | IPLC/IEPL专线加速器梯子推荐 | 解锁奈飞Netflix/HBO/Hulu等国外流媒体
这篇教程记录了如何安装,配置并维护一台Shadowsocks-libev服务器。 这篇教程的亮点在于, 按照这里的配置建议,你的Shadowsocks-libev服务器可以抵御各种已知的攻击, 包括来自GFW的主动探测和封锁以及partitioning oracle攻击。 我们还在教程的最后加入了常见的有关Shadowsocks-libev部署的常见问题。
我们致力于更新和维护这篇教程。如果今后发现了新的针对Shadowsocks-libev的攻击,我们将在第一时间在这篇教程中加入缓解攻击的办法。 因此请考虑将这个页面加入到你的收藏夹中。 另外,我们希望这篇教程对技术小白同样友好,因此如果你在任何步骤卡住了,请联系我们,或在下方评论区留言。我们会对教程作相应改进。
通过Snap应用商店安装Shadowsocks-libev是官方推荐的方式。
snapd
和Snap core
:sudo snap install core
现在我们安装最新的Shadowsocks-libev:
sudo snap install shadowsocks-libev --edge
下面是我们推荐的Shadowsocks-libev服务器配置:
{
"server":["::0","0.0.0.0"],
"server_port":8388,
"encryption_method":"chacha20-ietf-poly1305",
"password":"ExamplePassword",
"mode":"tcp_only",
"fast_open":false
}
注意,你需要把里面的ExamplePassword
替换成一个更强的密码。 强密码有助缓解最新发现的针对Shadowsocks服务器的Partitioning Oracle攻击。 你可以用以下命令在终端生成一个强密码:openssl rand -base64 16
。你还可以考虑将server_port
的值从8388
改为1024
到65535
之间的任意整数。现在打开通过Snap安装的Shadowsocks-libev默认的配置文件:
sudo nano /var/snap/shadowsocks-libev/common/etc/shadowsocks-libev/config.json
将上方替换过密码的配置信息复制粘贴到配置文件后, 按Ctrl + x
退出。 退出时,文本编辑器将问你"Save modified buffer?"
,请输入y
然后按回车键。可以看到,通过Snap安装的Shadowsocks-libev默认的配置文件路径太长了,不便于记忆。同时默认配置路径又没有在官方文档中标出。 我们因此建议你收藏此页面,以备今后查找。
ufw
来管理Shadowsocks服务器的防火墙。在基于Debian的服务器上,可以通过如下命令安装ufw
:sudo apt update && sudo apt install -y ufw
然后开放有关ssh
和Shadowsocks-libev
的端口。 请注意,以下命令假设你在/var/snap/shadowsocks-libev/common/etc/shadowsocks-libev/config.json
中的server_port
的值为8388
。 如果你的server_port
用了其他的值,请对以下命令作相应的修改:sudo ufw allow ssh
sudo ufw allow 8388/tcp
现在我们启动ufw
:sudo ufw enable
启动时如果弹出Command may disrupt existing ssh connections. Proceed with operation (y|n)?
,请输入y
并按回车键。最后,请用sudo ufw status
检查一下你的配置是否和下面的一样:Status: active
To Action From
-- ------ ----
SSH ALLOW Anywhere
8388/tcp ALLOW Anywhere
SSH (v6) ALLOW Anywhere (v6)
8388/tcp (v6) ALLOW Anywhere (v6)
现在我们启动Shadowsocks-libev:
sudo systemctl start snap.shadowsocks-libev.ss-server-daemon.service
记得设置Shadowsocks-libev开机自启动:
sudo systemctl enable snap.shadowsocks-libev.ss-server-daemon.service
以下命令可以查看Shadowsocks-libev的运行状态:
sudo systemctl status snap.shadowsocks-libev.ss-server-daemon.service
如果你看到绿色的Active: active (running)
,那么你的Shadowsocks-libev服务器就在正常的运行; 如果你看到红色的Active: failed
,请用跳至如下命令journalctl -u snap.shadowsocks-libev.ss-server-daemon.service
的尾部查看问题出在哪里了。每当你修改过配置文件后,请用如下命令重启Shadowsocks-libev以加载修改后的文件:
sudo systemctl restart snap.shadowsocks-libev.ss-server-daemon.service
A: 通常来讲,这种事情不会发生,因为通过这篇教程配置的Shadowsocks-libev服务器已经可以抵御已知的所有来自GFW的主动探测。但如果你的服务器确实被封锁了,那么很有可能审查者使用了未知的攻击手段。请将你的封锁情况汇报给我们,我们会认真地调查。
v3.2.5
。而这个版本的Shadowsocks-libev是不够防御来自GFW的主动探测的(详见Figure 10)。sudo snap refresh
。chacha20-ietf-poly1305
作为加密方式?A: 因为它是其中一种AEAD ciphers。而AEAD ciphers可以抵御来自GFW的主动探测。它同时也是Shadowsocks-libev及OutlineVPN的默认加密方式。
A: 完全不应该。因为Shadowsocks的stream cipher有着不可接受的安全隐私漏洞,并且可以被准确的主动探测。如Figure 10所示,即使是最新版的Shadowsocks-libev,在使用stream cipher时同样可以被准确识别。更具灾难性的是,在不需要密码的情况下,攻击者可以完全解密被记录下来的Shadowsocks会话。
A: 这清楚地说明你的机场缺乏安全意识和安全措施。请把这篇教程,这个演讲,和这篇总结,分享给你的机场主。
server_port
改为像443
这样的常见端口吗?A: 不应该。因为不论你使用哪个端口,GFW都会检测并怀疑你的Shadowsocks流量。
tcp_only
模式?A: 这是为了缓解最新发现的Partitioning Oracle攻击,文中指出 “Shadowsocks的开发者们已经采取措施,禁用了本默认开启的UDP代理模式(“the Shadowsocks developers took immediate action to disable UDP proxying where it was enabled by default.”)。当然,如Vinicius所指出的,如果你使用了长的随机密码,那么partitioning oracle攻击就不能成功。因此也就不需要禁用UDP代理模式。开启UDP代理模式可能会让经过Shadowsocks代理的视频通话质量更佳。
fast_open
?A: 我们推荐你阅读这里的讨论。
iOS 平台热门单机游戏推荐,满足玩家多元化需求全面指南:gcore v2ray的软件安装、使用教程及常见问题解答Namesilo域名涨价了Clash怎么连不上:详细解决方案与常见问题FAQdediserve vs 搬瓦工 哪个速度快Shadowrocket无法连接到服务器:原因和解决方法Trading 212 和 Wise 以及 U 卡的对比Linode Load Balancer指南Reddit 首次实现盈利,每日用户数接近 1 亿Amazon ビデオ 海外 VPN指南泡泡 Dog 机场怎么样?泡泡狗机场 2024 最新评测2025 新版 Windows 电脑 Clash Verge Rev 下载和使用教程Clash Meta for Android最新Clash安卓客户端下载 机场节点订阅配置使用教程Shadowrocket 规则配置教程:轻松实现科学上网分流与广告拦截一云梯机场怎么样 – Trojan 机场推荐 | 专线机场