Staggered KASM WEB TOR DOCKER LOADER MACOS ILLPHATED
DATE: 2025-07-14 15:02:52
STATUS: PUBLISHED
AUTHOR: illphated

Here’s your full revised script with randomized staggered container startups over up to 5 minutes total.
Complete Script bash Copy Edit #!/bin/bash
======= Configuration ========
PORT_START=6909 PORT_END=6916 # 8 instances total (inclusive) VNC_PORT_INTERNAL=6901 VNC_PASSWORD="password" LAUNCH_URL="https://www.twitch.tv/illphated/" CONTAINER_IMAGE="kasmweb/tor-browser:1.16.0" CONTAINER_PREFIX="tor_instance"
MIN_RUNTIME_SEC=600 # 10 minutes before restart MAX_TOTAL_START_DELAY=300 # 5 minutes total for all containers to start
======= Utility Functions ========
log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" }
start_containers_randomly() { local ports=() for ((port=PORT_START; port0; i--)); do j=$((RANDOM % (i+1))) tmp=${ports[i]} ports[i]=${ports[j]} ports[j]=$tmp done
local total_delay=0
for idx in "${!ports[@]}"; do
local port=${ports[$idx]}
local name="${CONTAINER_PREFIX}_${port}"
# Calculate remaining time and containers left
local containers_left=$(( ${#ports[@]} - idx ))
local max_remaining_delay=$(( MAX_TOTAL_START_DELAY - total_delay ))
# Random delay for this container
local delay=0
if (( containers_left > 1 )); then
local max_delay_for_this=$(( max_remaining_delay / containers_left ))
delay=$(( (RANDOM % (max_delay_for_this + 1)) + 10 )) # Base delay of at least 10s
fi
total_delay=$(( total_delay + delay ))
(
sleep $total_delay
log "Starting container $name on port $port after ${total_delay}s total delay..."
docker run -d
--name "$name"
--shm-size=512m
-p $port:$VNC_PORT_INTERNAL
-e VNC_PW=$VNC_PASSWORD
-e LAUNCH_URL=$LAUNCH_URL
$CONTAINER_IMAGE
) &
done
wait # Wait for all background processes
log "All containers launched over ${total_delay}s total delay."
}
cleanup_running_containers() { local containers=$(docker ps --filter "name=${CONTAINER_PREFIX}" -q) if [ -n "$containers" ]; then log "Stopping containers with prefix ${CONTAINER_PREFIX}..." docker stop $containers log "Removing containers..." docker rm $containers else log "No containers to stop." fi }
======= Main Loop ========
while true; do cleanup_running_containers sleep 10
log "Starting new set of containers with randomized staggered delays..."
start_containers_randomly
log "Sleeping for $((MIN_RUNTIME_SEC / 60)) minutes before restart..."
sleep $MIN_RUNTIME_SEC
done Features Recap: Randomized port order
Random staggered launches over 5 minutes max
10+ second minimum per-container delay to avoid instant starts
Cleans up containers before restarting the loop
How to Run: Save as tor_random_launcher.sh
Run:
bash Copy Edit chmod +x tor_random_launcher.sh ./tor_random_launcher.sh