#!/system/bin/sh

# 配置参数
BIND_PORT="8123"

# 创建REDSOCKS链（确保链存在）
ensure_redsocks_chain() {
    if ! iptables -t nat -L REDSOCKS >/dev/null 2>&1; then
        iptables -t nat -N REDSOCKS
    else
        iptables -t nat -F REDSOCKS
    fi
}

# 设置8.8.8.8:80代理规则
setup_single_rule() {
    ensure_redsocks_chain
    
    # 基础排除规则
    iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
    iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
    iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
    iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
    
    # 添加8.8.8.8:80代理规则
    iptables -t nat -A REDSOCKS -d 8.8.8.8 -p tcp --dport 80 -j REDIRECT --to-ports $BIND_PORT
    
    # 添加其他流量的默认重定向规则
    iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports $BIND_PORT
    
    # 添加全局规则：任何应用访问8.8.8.8:80都代理
    iptables -t nat -A OUTPUT -p tcp -d 8.8.8.8 --dport 80 -j REDSOCKS
    iptables -t nat -A PREROUTING -p tcp -d 8.8.8.8 --dport 80 -j REDSOCKS
    
    return 0
}

# 检查root权限
if [ $(id -u) -ne 0 ]; then
    exit 1
fi

# 执行设置规则
setup_single_rule
exit $?