stop-transparent.sh 1.3 KB

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