Refactor backtunnel-share with cleanup logic, duration-based termination, and improved error handling; introduce backtunnel-share-gui for streamlined GUI-based operation

This commit is contained in:
2025-09-14 18:07:58 +02:00
parent 5dab6c08aa
commit 905bc24f78
3 changed files with 87 additions and 13 deletions

View File

@@ -10,4 +10,4 @@ X-KDE-Priority=TopLevel
[Desktop Action BackTunnelShare]
Name=Share via BackTunnel…
Icon=network-server
Exec=/bin/bash -lc 'FOLDER="$1"; REMOTE="$(kdialog --inputbox "Remote (user@host or user:host):" "user@vps.example.com")" || exit 1; DUR="$(kdialog --combobox "Share duration" 30m 2h 6h 1d 2d --editable "2h")" || exit 1; TPORT="$(kdialog --inputbox "Tunnel port on remote:" "2222")" || exit 1; LPORT="$(kdialog --inputbox "Local SSH port to expose:" "22")" || exit 1; if kdialog --yesno "Print invite line for chat?"; then INV="-i"; else INV=""; fi; if kdialog --yesno "Show QR code for the invite?"; then QR="--qr"; else QR=""; fi; MP="$(kdialog --inputbox "Suggested mount point in invite:" "/mnt/remote-rssh")" || exit 1; exec konsole --noclose -e backtunnel-share "$FOLDER" with "$REMOTE" for "$DUR" -p "$TPORT" -l "$LPORT" $INV $QR --invite-mount "$MP"' _ %f
Exec=backtunnel-share-gui %f