mirror of
https://github.com/Heretic312/devsecops-wrappers.git
synced 2025-12-29 16:16:00 +00:00
Added rathole docker controller script
This commit is contained in:
82
linux/rathole_docker_control_script.sh
Normal file
82
linux/rathole_docker_control_script.sh
Normal file
@@ -0,0 +1,82 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Author: Victor Bishop (Heretic) | https://github.com/Heretic312/devsecops-wrappers.git
|
||||
# Date: 6/25/2025
|
||||
# Unified Rathole controller script for Docker
|
||||
# Usage: ./rathole_control.sh [start|stop] [compose|manual]
|
||||
|
||||
ACTION=$1
|
||||
MODE=$2
|
||||
|
||||
if [[ -z "$ACTION" || -z "$MODE" ]]; then
|
||||
echo "Usage: $0 [start|stop] [compose|manual]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
echo "[+] Action: $ACTION | Mode: $MODE"
|
||||
|
||||
if [[ "$ACTION" == "start" ]]; then
|
||||
if [[ "$MODE" == "compose" ]]; then
|
||||
if [ -f docker-compose.yml ]; then
|
||||
echo "[+] Starting Docker Compose stack..."
|
||||
docker-compose up -d
|
||||
echo "[✓] Rathole (compose) started."
|
||||
else
|
||||
echo "[!] docker-compose.yml not found."
|
||||
exit 1
|
||||
fi
|
||||
elif [[ "$MODE" == "manual" ]]; then
|
||||
echo "[+] Starting rathole-server..."
|
||||
docker run -d --name rathole-server \
|
||||
-v $(pwd)/server/config.toml:/config.toml \
|
||||
-p 2333:2333 -p 9000:9000 \
|
||||
rapiz1/rathole server /config.toml
|
||||
|
||||
echo "[+] Starting rathole-client..."
|
||||
docker run -d --name rathole-client \
|
||||
-v $(pwd)/client/config.toml:/config.toml \
|
||||
--link rathole-server \
|
||||
rapiz1/rathole client /config.toml
|
||||
|
||||
echo "[✓] Rathole (manual) started."
|
||||
else
|
||||
echo "[!] Invalid mode: $MODE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
elif [[ "$ACTION" == "stop" ]]; then
|
||||
if [[ "$MODE" == "compose" ]]; then
|
||||
if [ -f docker-compose.yml ]; then
|
||||
echo "[+] Stopping Docker Compose stack..."
|
||||
docker-compose down -v
|
||||
echo "[✓] Rathole (compose) stopped."
|
||||
else
|
||||
echo "[!] docker-compose.yml not found."
|
||||
exit 1
|
||||
fi
|
||||
elif [[ "$MODE" == "manual" ]]; then
|
||||
echo "[+] Stopping rathole-server and rathole-client..."
|
||||
docker stop rathole-server rathole-client 2>/dev/null || true
|
||||
docker rm rathole-server rathole-client 2>/dev/null || true
|
||||
echo "[✓] Rathole (manual) stopped and removed."
|
||||
else
|
||||
echo "[!] Invalid mode: $MODE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Optional cleanup prompt
|
||||
echo "[?] Clean up unused Docker resources? (y/n): "
|
||||
read -r CLEANUP
|
||||
if [[ "$CLEANUP" == "y" ]]; then
|
||||
docker system prune -f
|
||||
echo "[✓] Docker system cleaned."
|
||||
else
|
||||
echo "[i] Skipping system prune."
|
||||
fi
|
||||
|
||||
else
|
||||
echo "[!] Invalid action: $ACTION. Use start or stop."
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user