|
|
8 anos atrás | |
|---|---|---|
| README.md | 8 anos atrás | |
| chnroute.ipset | 8 anos atrás | |
| chnroute.txt | 8 anos atrás | |
| pdnsd.conf | 8 anos atrás | |
| ss-switch | 8 anos atrás | |
| ss-tproxy | 8 anos atrás | |
| ss-tproxy.conf | 8 anos atrás | |
| ss-tproxy.service | 8 anos atrás |
获取
git clone https://github.com/zfl9/ss-tproxy.git安装
cd ss-tproxy/cp -af ss-tproxy /usr/local/bin/cp -af ss-switch /usr/local/bin/mkdir -p /etc/tproxy/cp -af pdnsd.conf /etc/tproxy/cp -af chnroute.txt /etc/tproxy/cp -af chnroute.ipset /etc/tproxy/cp -af ss-tproxy.conf /etc/tproxy/配置
vim /etc/tproxy/ss-tproxy.confss/ssr 配置,具体可参考文件注释ss-switch 切换脚本自启(Systemd)
cp -af ss-tproxy.service /etc/systemd/system/systemctl daemon-reloadsystemctl enable ss-tproxy.service自启(SysVinit)
touch /etc/rc.d/rc.localchmod +x /etc/rc.d/rc.localecho "/usr/local/bin/ss-tproxy start" >> /etc/rc.d/rc.local配置 ss-tproxy 开机自启后容易出现一个问题,那就是必须再次运行
ss-tproxy restart后才能正常代理(这之前查看运行状态,可能看不出任何问题,都是 running 状态),这是因为 ss-tproxy 启动过早了,且 server_addr 为 Hostname,且没有将 server_addr 中的 Hostname 加入 /etc/hosts 文件而导致的。因为 ss-tproxy 启动时,网络还没准备好,此时根本无法解析这个 Hostname。要避免这个问题,可以采取一个非常简单的方法,那就是将 Hostname 加入到 /etc/hosts 中,如 Hostname 为 node.proxy.net,对应的 IP 为 11.22.33.44,则只需执行echo "11.22.33.44 node.proxy.net" >> /etc/hosts。不过得注意个问题,那就是假如这个 IP 变了,别忘了修改 /etc/hosts 文件哦。命令行获取某个域名对应的 IP 地址的方法:dig +short HOSTNAME。
用法
ss-tproxy help:查看帮助ss-tproxy start:启动代理ss-tproxy stop:关闭代理ss-tproxy restart:重启代理ss-tproxy status:运行状态ss-tproxy current_ip:查看当前 IP(一般为本地 IP)ss-tproxy flush_dnsche:清空 dns 缓存(pdnsd 的缓存)ss-tproxy update_chnip:更新大陆地址段列表(ipset、chinadns)