#!/usr/bin/env bash set -euo pipefail CHAIN4="MYNETSPEEDER" CHAIN6="MYNETSPEEDER6" PID_FILE="/var/run/mynetspeeder-edge.pid" SOCKS_PID_FILE="/var/run/mynetspeeder-socks.pid" if [[ $EUID -ne 0 ]]; then echo "need root" exit 1 fi if [[ -f "$PID_FILE" ]]; then kill "$(cat "$PID_FILE")" 2>/dev/null || true rm -f "$PID_FILE" fi if [[ -f "$SOCKS_PID_FILE" ]]; then kill "$(cat "$SOCKS_PID_FILE")" 2>/dev/null || true rm -f "$SOCKS_PID_FILE" fi pkill -f 'python3 -m mynetspeeder edge' || true pkill -f 'python3 -m mynetspeeder socks' || true if iptables -t nat -S >/dev/null 2>&1; then iptables -t nat -D OUTPUT -p tcp -j "$CHAIN4" 2>/dev/null || true iptables -t nat -D OUTPUT -p udp -j "$CHAIN4" 2>/dev/null || true iptables -t nat -F "$CHAIN4" 2>/dev/null || true iptables -t nat -X "$CHAIN4" 2>/dev/null || true fi if command -v ip6tables >/dev/null 2>&1; then if ip6tables -t nat -S >/dev/null 2>&1; then ip6tables -t nat -D OUTPUT -p tcp -j "$CHAIN6" 2>/dev/null || true ip6tables -t nat -D OUTPUT -p udp -j "$CHAIN6" 2>/dev/null || true ip6tables -t nat -F "$CHAIN6" 2>/dev/null || true ip6tables -t nat -X "$CHAIN6" 2>/dev/null || true else echo "ipv6 nat unavailable: skip ipv6 transparent cleanup" fi fi echo "mynetspeeder transparent mode stopped"