stop-transparent.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. CHAIN4="MYNETSPEEDER"
  4. CHAIN6="MYNETSPEEDER6"
  5. PID_FILE="/var/run/mynetspeeder-edge.pid"
  6. if [[ $EUID -ne 0 ]]; then
  7. echo "need root"
  8. exit 1
  9. fi
  10. if [[ -f "$PID_FILE" ]]; then
  11. kill "$(cat "$PID_FILE")" 2>/dev/null || true
  12. rm -f "$PID_FILE"
  13. fi
  14. pkill -f 'python3 -m mynetspeeder edge' || true
  15. if iptables -t nat -S >/dev/null 2>&1; then
  16. iptables -t nat -D OUTPUT -p tcp -j "$CHAIN4" 2>/dev/null || true
  17. iptables -t nat -D OUTPUT -p udp -j "$CHAIN4" 2>/dev/null || true
  18. iptables -t nat -F "$CHAIN4" 2>/dev/null || true
  19. iptables -t nat -X "$CHAIN4" 2>/dev/null || true
  20. fi
  21. if command -v ip6tables >/dev/null 2>&1; then
  22. if ip6tables -t nat -S >/dev/null 2>&1; then
  23. ip6tables -t nat -D OUTPUT -p tcp -j "$CHAIN6" 2>/dev/null || true
  24. ip6tables -t nat -D OUTPUT -p udp -j "$CHAIN6" 2>/dev/null || true
  25. ip6tables -t nat -F "$CHAIN6" 2>/dev/null || true
  26. ip6tables -t nat -X "$CHAIN6" 2>/dev/null || true
  27. else
  28. echo "ipv6 nat unavailable: skip ipv6 transparent cleanup"
  29. fi
  30. fi
  31. echo "mynetspeeder transparent mode stopped"