socat2
跳转到导航
跳转到搜索
socat 第二版,支持地址链和 socks5 等新特性。
示例
通过 socks5 代理连接 POP+TLS 服务器:
./socat tcp-listen:34567,fork,reuseaddr 'openssl,method=tls1.2,cn=pop.gmail.com | socks5:pop.gmail.com:995 | tcp:127.0.0.1:9500'
透明 socks5 代理
配合 iptables 将流量重定向到代理:
./socat tcp-listen:34567,fork,reuseaddr 'socks5:pop.gmail.com:995 | tcp:127.0.0.1:9500'
sudo iptables -t nat -I OUTPUT -p tcp --dport 995 -d 127.0.0.1 -j REDIRECT --to-ports 34567
systemd 配置:
[Unit]
Description=Connect to GMail POP using socks5 proxy
After=archsocks.service
Requires=archsocks.service
[Service]
Type=simple
SyslogIdentifier=gmail-pop
User=nobody
PermissionsStartOnly=true
ExecStart=/usr/local/bin/socat2 tcp-listen:1995,bind=127.0.0.1,fork,reuseaddr 'socks5:pop.gmail.com:995 | tcp:127.0.0.1:9500'
ExecStartPost=/usr/bin/iptables -t nat -I OUTPUT -p tcp --dport 995 -d 64.233.164.109 -m comment --comment gmail-pop -j REDIRECT --to-ports 1995
ExecStopPost=/usr/bin/iptables -t nat -D OUTPUT -p tcp --dport 995 -d 64.233.164.109 -m comment --comment gmail-pop -j REDIRECT --to-ports 1995
[Install]
WantedBy=multi-user.target
OpenSSL 选项
method
- TLS/SSL 协议版本,默认 SSLv2,建议设置为
TLS1.2
。 cn, commonname
- 对端域名。默认为空(不检查)。
注意: socat2 似乎不支持 SNI。