v2xray/table.sh
2022-03-09 12:24:44 +08:00

52 lines
2.5 KiB
Bash
Executable File

#!/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.31.5/24 -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