# SSR
# Reference
- shadowsocks_install (opens new window)
- gfw_whitelist (opens new window) whitelist.pac (opens new window) daily (opens new window) ipac (opens new window)
- Linux使用SSR客户端 (opens new window)
- 毒药测速 (opens new window)
- TcpRoute2 (opens new window)
# 透明代理
# tcping
apt install -y tcptraceroute bc
yum install -y tcptraceroute bc
©2002-2005 Richard van den Berg (opens new window)
# redsocks
- 在树莓派上搭建全局透明代理网关 (opens new window)
- ipt2socks (opens new window)
- transocks (opens new window)
- KumaSocks (opens new window)
apk add redsocks
配置
tee /etc/redsocks/redsocks.conf <<-'EOF'
base {
log_debug = off;
log_info = off;
log = stderr;
daemon = off;
redirector = iptables;
}
redsocks {
local_ip = 0.0.0.0;
local_port = 12345;
ip = 192.168.11.60;
port = 1080;
type = socks5;
}
EOF
# ipset
apk add ipset
# 下载分配给国内运营商的 IP 段
curl 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | grep ipv4 | \
grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute.txt
# 创建一个集合并把上述IP段加进去
ipset create chnroute hash:net
cat chnroute.txt | xargs -I ip_cn ipset add chnroute ip_cn
# iptables 规则
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -N SHADOWSOCKS
# 使代理自己不要再被重定向,不然就无限循环了
iptables -t nat -A SHADOWSOCKS -d 192.168.11.60 -j RETURN
# 忽略局域网地址
iptables -t nat -A SHADOWSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 240.0.0.0/4 -j RETURN
iptables -t nat -A SHADOWSOCKS -m set --match-set chnroute dst -j RETURN
# 把流量转发到 12345 端口,即redsocks
iptables -t nat -A SHADOWSOCKS -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -p tcp -j SHADOWSOCKS
iptables -t nat -A PREROUTING -p tcp -j SHADOWSOCKS
# DNS 劫持
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 15353
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 15353