From a30448ceec90e1f463199747fb832dec8ea8d3ca Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 10 Feb 2026 13:39:48 +0100 Subject: [PATCH] Allow the ssh forwarding functions to take multiple ports --- default/bash/functions | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/default/bash/functions b/default/bash/functions index 0caa8e7f..14c17aa6 100644 --- a/default/bash/functions +++ b/default/bash/functions @@ -90,13 +90,19 @@ img2png() { # SSH Port Forwarding Functions fip() { - [[ -z "$1" || -z "$2" ]] && echo "Usage: fip " && return 1 - ssh -f -N -L "$1:localhost:$1" "$2" && echo "Forwarding localhost:$1 -> $2:$1" + [[ $# -lt 2 ]] && echo "Usage: fip [port2] ..." && return 1 + local host="$1" + shift + for port in "$@"; do + ssh -f -N -L "$port:localhost:$port" "$host" && echo "Forwarding localhost:$port -> $host:$port" + done } dip() { - [[ -z "$1" ]] && echo "Usage: dip " && return 1 - pkill -f "ssh.*-L $1:localhost:$1" && echo "Stopped forwarding port $1" || echo "No forwarding on port $1" + [[ $# -eq 0 ]] && echo "Usage: dip [port2] ..." && return 1 + for port in "$@"; do + pkill -f "ssh.*-L $port:localhost:$port" && echo "Stopped forwarding port $port" || echo "No forwarding on port $port" + done } lip() {