start-relay-main.sh 916 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. usage() {
  4. cat <<'EOF'
  5. Usage:
  6. start-relay-main.sh -t <token>
  7. start-relay-main.sh -u <token>
  8. start-relay-main.sh -tu <tcp_token> [udp_token]
  9. Examples:
  10. start-relay-main.sh -t relay_token
  11. start-relay-main.sh -u relay_token
  12. start-relay-main.sh -tu relay_token
  13. start-relay-main.sh -tu tcp_token udp_token
  14. EOF
  15. }
  16. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  17. COMMANDS_DIR="$SCRIPT_DIR/commands"
  18. if [[ $# -lt 2 ]]; then
  19. usage
  20. exit 1
  21. fi
  22. MODE="$1"
  23. shift
  24. case "$MODE" in
  25. -t)
  26. TOKEN="$1"
  27. bash "$COMMANDS_DIR/start-relay-tcp.sh" "$TOKEN"
  28. ;;
  29. -u)
  30. TOKEN="$1"
  31. bash "$COMMANDS_DIR/start-relay-udp.sh" "$TOKEN"
  32. ;;
  33. -tu)
  34. TCP_TOKEN="$1"
  35. UDP_TOKEN="${2:-$TCP_TOKEN}"
  36. bash "$COMMANDS_DIR/start-relay-tcp.sh" "$TCP_TOKEN"
  37. bash "$COMMANDS_DIR/start-relay-udp.sh" "$UDP_TOKEN"
  38. ;;
  39. *)
  40. usage
  41. exit 1
  42. ;;
  43. esac