#!/bin/sh # Outport: a simple script to expose reverse tunnels via SSH # Usage: outport.sh {start|stop} user@host [port1] [port2] ... # Created by Luxferre in 2025, released into public domain SOCKET_PATH=/var/run/sshcontrol.sock ACTION="$1" TARGET="$2" shift shift PORT_OPTS="" case "$ACTION" in start) while :; do [ -z "$1" ] && break PORT_OPTS="$PORT_OPTS -R :$1:localhost:$1" shift done MISC_OPTS="-o ServerAliveInterval=60 -o ServerAliveCountMax=15" ssh -f -N -M -S $SOCKET_PATH $PORT_OPTS $MISC_OPTS $TARGET echo "Tunnel started" ;; stop) ssh -S $SOCKET_PATH -O cancel $TARGET ssh -S $SOCKET_PATH -O exit $TARGET echo "Tunnel stopped" ;; *) echo "Invalid action (specify start or stop)" ;; esac