-
Notifications
You must be signed in to change notification settings - Fork 433
安装依赖
并不是这里列出的所有依赖都要安装,具体需要哪些依赖取决于 ss-tproxy.conf 配置,在 README 中也有说明。
ss-tproxy 使用了 bash 的一些语法特性,比如 shell 数组,因此必须用 bash 解释器执行。
大多数发行版已经自带了 bash;如果没有,请先安装一个 bash,比如那些基于 busybox 的系统。
如果可以通过包管理器安装 bash,那最好;如果不行,可以看看上面两个链接,取出里面的 bash 二进制文件。
请检查 curl 是否支持 HTTPS 协议,使用 curl --version
可查看(Protocols)
# CentOS
yum -y install curl
# ArchLinux
pacman -S curl
# CentOS
yum -y install ipset
# ArchLinux
pacman -S ipset
TPROXY 是一个 Linux 内核模块,在 Linux 2.6.28 后进入官方内核。一般正常的发行版都没有裁剪 TPROXY 模块,TPROXY 模块缺失问题主要出现在无线路由固件上(某些精简型发行版也会去掉 TPROXY 模块,比如 Alpine)。使用以下方法可以检测当前内核是否包含 TPROXY 模块。
# 查找 TPROXY 模块
find /lib/modules/$(uname -r) -type f -name 'xt_TPROXY.ko*'
# 正常情况下的输出
/lib/modules/4.16.8-1-ARCH/kernel/net/netfilter/xt_TPROXY.ko.xz
# 尝试手动加载模块
modprobe xt_TPROXY
大部分发行版都自带了 iproute2,可以运行一下
ip addr
命令,如果成功打印了网络接口的 ip,那就是已安装。
# CentOS
yum -y install iproute
# ArchLinux
pacman -S iproute2
ss-tproxy v4.8+ 不再需要此依赖。
对于 global/gfwlist 模式,需要确保该 dnsmasq 支持 --ipset
选项。
# CentOS
yum -y install dnsmasq
# ArchLinux
pacman -S dnsmasq
chinadns-ng 是用 C 语言编写的另一个 chinadns,修复若干问题,优化了性能。
如果不想编译,可以直接在 releases 页面下载编译好的二进制文件。
git clone https://github.com/zfl9/chinadns-ng
cd chinadns-ng
#
# 老版本
# make && sudo make install
#
# 新版本
# 不建议自己编译,请前往 releases 页面下载预编译的可执行文件
# 如果确实愿意折腾,请查看 chinadns-ng README 中的编译说明
ss-tproxy v4.8+ 不再需要此依赖。
dns2tcp 是用 C 语言写的小工具,专做 dns udp2tcp 转换。
如果不想编译,可以直接在 releases 页面下载编译好的二进制文件。
git clone https://github.com/zfl9/dns2tcp
cd dns2tcp
make && sudo make install
ipt2socks 是用 C 语言写的小工具,专做 iptables-to-socks5 转换。
如果不想编译,可以直接在 releases 页面下载编译好的二进制文件。
git clone https://github.com/zfl9/ipt2socks
cd ipt2socks
make && sudo make install