#!/usr/bin/env bash # Copyright (c) 2025. LUXIM d.o.o., Slovenia - Matjaž Mozetič. set -euo pipefail # Install binaries echo "📦 Installing BackTunnel binaries to /usr/local/bin..." sudo install -m 0755 scripts/backtunnel-share /usr/local/bin/backtunnel-share sudo install -m 0755 scripts/backtunnel-access /usr/local/bin/backtunnel-access # Man page echo "📚 Installing man page..." sudo install -m 0644 man/backtunnel.1 /usr/local/share/man/man1/backtunnel.1 || true sudo mandb || true # Bash completions if [[ -d /usr/share/bash-completion/completions ]]; then echo "🧠 Installing bash completion ..." sudo install -m 0644 completions/backtunnel.bash /usr/share/bash-completion/completions/backtunnel-share || true sudo install -m 0644 completions/backtunnel.bash /usr/share/bash-completion/completions/backtunnel-access || true elif [[ -d /etc/bash_completion.d ]]; then echo "🧠 Installing bash completion ..." sudo install -m 0644 completions/backtunnel.bash /etc/bash_completion.d/backtunnel || true fi # Dolphin service menus (Plasma 6) if [[ -d /usr/share/kio/servicemenus ]]; then echo "🖱️ Installing Dolphin service menus (Plasma 6)..." sudo install -m 0644 servicemenus/backtunnel_share.desktop /usr/share/kio/servicemenus/backtunnel_share.desktop || true sudo install -m 0644 servicemenus/backtunnel_access.desktop /usr/share/kio/servicemenus/backtunnel_access.desktop || true fi # Dolphin service menus (Plasma 5) if [[ -d /usr/share/kservices5/ServiceMenus ]]; then echo "🖱️ Installing Dolphin service menus (Plasma 5)..." sudo install -m 0644 servicemenus/backtunnel_share.desktop /usr/share/kservices5/ServiceMenus/backtunnel_share.desktop || true sudo install -m 0644 servicemenus/backtunnel_access.desktop /usr/share/kservices5/ServiceMenus/backtunnel_access.desktop || true fi # Desktop launcher (optional) if [[ -d /usr/share/applications ]]; then echo "🖥️ Installing desktop launcher ..." sudo install -m 0644 desktop/backtunnel.desktop /usr/share/applications/backtunnel.desktop || true fi # Refresh desktop DB and KDE service cache (best-effort) command -v update-desktop-database >/dev/null 2>&1 && sudo update-desktop-database -q || true if command -v kbuildsycoca6 >/dev/null 2>&1; then kbuildsycoca6 --noincremental >/dev/null 2>&1 || true elif command -v kbuildsycoca5 >/dev/null 2>&1; then kbuildsycoca5 --noincremental >/dev/null 2>&1 || true fi echo "✅ BackTunnel installed. You may need to restart your shell and Dolphin."