#!/bin/sh ip rule add fwmark 1 table 100 ip route add local 0.0.0.0/0 dev lo table 100 ip -6 rule add fwmark 1 table 106 ip -6 route add local ::/0 dev lo table 106 # ignore local address iptables -t mangle -N XRAY iptables -t mangle -A XRAY -d 10.0.0.0/8 -j RETURN iptables -t mangle -A XRAY -d 100.64.0.0/10 -j RETURN iptables -t mangle -A XRAY -d 127.0.0.0/8 -j RETURN iptables -t mangle -A XRAY -d 169.254.0.0/16 -j RETURN iptables -t mangle -A XRAY -d 172.16.0.0/12 -j RETURN iptables -t mangle -A XRAY -d 192.0.0.0/24 -j RETURN iptables -t mangle -A XRAY -d 224.0.0.0/4 -j RETURN iptables -t mangle -A XRAY -d 240.0.0.0/4 -j RETURN iptables -t mangle -A XRAY -d 255.255.255.255/32 -j RETURN iptables -t mangle -A XRAY -d 192.168.0.0/16 -j RETURN iptables -t mangle -A XRAY ! -s 192.168.0.0/16 -j RETURN ip6tables -t mangle -N XRAY6 ip6tables -t mangle -A XRAY6 -d FF00::0/8 -j RETURN ip6tables -t mangle -A XRAY6 -d FE00::0/8 -j RETURN ip6tables -t mangle -A XRAY6 -d 0000::0/8 -j RETURN iptables -t mangle -N XRAY_SELF iptables -t mangle -A XRAY_SELF -d 10.0.0.0/8 -j RETURN iptables -t mangle -A XRAY_SELF -d 100.64.0.0/10 -j RETURN iptables -t mangle -A XRAY_SELF -d 127.0.0.0/8 -j RETURN iptables -t mangle -A XRAY_SELF -d 169.254.0.0/16 -j RETURN iptables -t mangle -A XRAY_SELF -d 172.16.0.0/12 -j RETURN iptables -t mangle -A XRAY_SELF -d 192.0.0.0/24 -j RETURN iptables -t mangle -A XRAY_SELF -d 224.0.0.0/4 -j RETURN iptables -t mangle -A XRAY_SELF -d 240.0.0.0/4 -j RETURN iptables -t mangle -A XRAY_SELF -d 255.255.255.255/32 -j RETURN iptables -t mangle -A XRAY_SELF -d 192.168.0.0/16 -j RETURN ip6tables -t mangle -N XRAY6_SELF ip6tables -t mangle -A XRAY6_SELF -d FF00::0/8 -j RETURN ip6tables -t mangle -A XRAY6_SELF -d FE00::0/8 -j RETURN ip6tables -t mangle -A XRAY6_SELF -d 0000::0/8 -j RETURN # config route iptables -t mangle -A XRAY -p tcp -j TPROXY --on-ip 127.0.0.1 --on-port 2803 --tproxy-mark 1 iptables -t mangle -A XRAY -p udp -j TPROXY --on-ip 127.0.0.1 --on-port 2803 --tproxy-mark 1 ip6tables -t mangle -A XRAY6 -p udp -j TPROXY --on-ip ::1 --on-port 2803 --tproxy-mark 1 ip6tables -t mangle -A XRAY6 -p tcp -j TPROXY --on-ip ::1 --on-port 2803 --tproxy-mark 1 iptables -t mangle -A PREROUTING -j XRAY ip6tables -t mangle -A PREROUTING -j XRAY6 iptables -t mangle -A XRAY_SELF -j MARK --set-mark 1 ip6tables -t mangle -A XRAY6_SELF -j MARK --set-mark 1 iptables -t mangle -A OUTPUT -m owner --gid-owner 10333 -j XRAY_SELF ip6tables -t mangle -A OUTPUT -m owner --gid-owner 10333 -j XRAY6_SELF