diff --git a/proxy/tun2socks.sh b/proxy/tun2socks.sh index c22f3d4..3b5ca38 100644 --- a/proxy/tun2socks.sh +++ b/proxy/tun2socks.sh @@ -58,7 +58,6 @@ check_dependencies() { # 安装 tun2socks install_tun2socks() { - # 首先检查依赖 check_dependencies if ! command -v hev-socks5-tunnel &>/dev/null; then @@ -126,6 +125,18 @@ EOF # 创建 systemd 服务 create_systemd_service() { + MAIN_IP=$(ip -4 route get 1.1.1.1 2>/dev/null | awk '{print $7; exit}') + RULE_ADD_FROM_MAIN_IP="" + RULE_DEL_FROM_MAIN_IP="" + + if [ -n "$MAIN_IP" ]; then + echo "检测到服务器主要IP地址: $MAIN_IP" + RULE_ADD_FROM_MAIN_IP="ExecStartPost=/sbin/ip rule add from $MAIN_IP lookup main pref 15" + RULE_DEL_FROM_MAIN_IP="ExecStop=/sbin/ip rule del from $MAIN_IP lookup main pref 15 || true" + else + echo "警告: 无法检测到主要IP地址,可能存在失联风险" + fi + cat > "$SERVICE_FILE" <