前言

几年前的 shadowsocks 是 python 写的,比较占用服务器资源。近两年虽然 ss 的热度不高了,但依然还是值得使用的代理程序。现在的 shadowsocks-libev 是 C 语言写的,对小内存机器尤为友好,目前还在维护,更新也频繁,建议使用。


为什么要搭建这个服务?国内 vps 也不能做科学,但最近正好有这个需求(人不在上海,但是也想要领取 B 站这个福利?使用上海 IP 即可领取)。看下图

qFS98P.jpg

小破站还是小气啊,人家网易送了网易严选、有道云笔记、网易云音乐,还有网易邮箱,全国人民均可领,而且送一个月。小破站这格局小了

于是搭建一个位于上海的 ss-server 即可解决问题。

一开始领了一下,发现提示不对,再看文案,是必须上海用户才能享有。这怎么能忍,于是拿前两天刚白嫖的腾讯云轻量上海搭个 ss-server


我安装的系统是 Debian 11,代号是 bullseye (如果你的是 Deiban 10 把下面对应的 bullseye 换成 buster 就行了)。现在开始

1. 添加软件源

$ echo "deb http://deb.debian.org/bullseye bullseye-backports main" | sudo tee /etc/apt/sources.list.d/bullseye-backports.list

2. 下载程序

$ sudo apt-get update
$ sudo apt -t bullseye-backports install shadowsocks-libev

3. 配置和管理

配置文件位置 /etc/shadowsocks-libev/config.json

aes-256-cfb 已经弃用了,建议不要使用此 method。默认的配置文件中给出的 method 是 chacha20-ietf-poly1305,如果你的客户端不支持此方法建议升级或更换客户端。

给出一个 example configuration file

{
    "server":["0.0.0.0"],
    "mode":"tcp_and_udp",
    "server_port":12345,
    "local_port":1080,
    "password":"YOUR_PASSWORD",
    "timeout":86400,
    "method":"chacha20-ietf-poly1305"
}

这里需要注意一下,几年前在玩国外 vps 的时候,安装 ss-server 上面的 server 字段填写的值都是服务器公网 IP,但是现在不一样了。在我填写了公网 IP 之后,发现连接不上,排查了一下发现日志

ERROR: bind: Cannot assign requested address
ERROR: failed to bind address

搜索后发现监听地址需要写 0.0.0.0 (针对 IPv4)监听所有地址

再使用 systemd 管理 shadowsocks-libev.service

$ sudo systemctl restart shadowsocks-libev
$ sudo systemctl status shadowsocks-libev

查看到状态是 running 一般就ok。

客户端众多,请自由发挥。于是我这个非上海用户领取到了这波福利,只有 14 天,再一次吐嘈陈睿真抠啊……
qFiCnK.png