用ss-tproxy+ipt2socks实现socks5透明代理
in with 0 comment

用ss-tproxy+ipt2socks实现socks5透明代理

in with 0 comment

起因

v2raya不支持socks5代理,又不会写iptables规则,最后找到的解决方案就是ss-tproxy脚本。
ss-tproxy、ipt2socks、dns2tcp、chinadns-ng都是zfl9的作品,太强了!
其实阅读ss-tproxy的README已经足够了,在此只是记录一下过程,方便下一次部署。
本文凭借记忆编写,可能会有错误部分。

过程

阅读README得知ss-tproxy依赖以下程序:

根据自身情况,安装缺少的部分。

# 安装ipset与dnsmasq
emerge -a ipset dnsmasq
#编译并安装dns2tcp
git clone https://github.com/zfl9/dns2tcp
cd dns2tcp
make && sudo make install
#编译并安装chinadns-ng
git clone https://github.com/zfl9/chinadns-ng
cd chinadns-ng
make && sudo make install

安装ss-tproxy。

git clone https://github.com/zfl9/ss-tproxy
cd ss-tproxy
chmod +x ss-tproxy
sudo cp -af ss-tproxy /usr/local/bin
sudo mkdir -p /etc/ss-tproxy
sudo cp -af ss-tproxy.conf gfwlist* chnroute* ignlist* /etc/ss-tproxy
sudo cp -af ss-tproxy.service /etc/systemd/system # 可选,安装 service 文件

编译安装ipt2socks。

git clone https://github.com/zfl9/ipt2socks
cd ipt2socks
make && sudo make install

现在ss-tproxy和ipt2socks都安装好了,接下来开始配置。

添加proxy用户,并为ipt2socks授予权限。

useradd proxy
sudo setcap cap_net_bind_service,cap_net_admin+ep /usr/local/bin/ipt2socks

打开/etc/ss-tproxy/ss-tproxy.conf,找到并修改以下变量。

tproxy='true'
proxy_procuser='proxy'
#此处的192.168.1.4与1080请根据自身情况填写。
proxy_startcmd='ipt2socks -u proxy -s 192.168.1.4 -p 1080 &>/dev/null&'
proxy_stopcmd='kill -9 $(pidof ipt2socks)'

保存后运行sudo ss-tproxy start,不出意外的话应该就成功实现透明代理了。