Adds a right-click action in KDE Dolphin:
Send via Tailscale...
The action opens a GUI picker (KDialog), lets you choose a Tailnet device, then sends selected files/directories using Taildrop.
Device picker note: only online devices owned by the same Tailscale user are shown (
peer.UserID == Self.UserIDandpeer.Online == true).
- Linux desktop with KDE Dolphin service menus
tailscaleCLI installed and logged inkdialogqdbus(orqdbus-qt5/qdbus-qt6, ships with KDE Plasma)python3zippv(pipe viewer — for transfer progress)
From this repo root:
chmod +x scripts/install.sh
./scripts/install.shYou can safely re-run the installer any time. It is idempotent and repairs missing/broken launcher files automatically.
This installs:
~/.local/bin/send-with-taildrop~/.local/share/kio/servicemenus/send-with-taildrop.desktop
- In Dolphin, right-click one or more files/directories.
- Click Send via Tailscale....
- Select the destination device (only your own-user, online devices are listed).
- Confirm the result dialog.
Note: Folders are automatically zipped before sending and arrive as
<foldername>.zip.
Multiple files are sent individually, not combined into a single archive.
./scripts/install.sh --uninstall- If the menu item does not appear, restart Dolphin (
killall dolphin) and open it again. - If selecting "Send via Tailscale..." has no effect, ensure
kdialogis installed correctly, as it is required to display error messages outside of a console. - If you see an execution/authorization error, repair everything with:
./scripts/install.sh
- If sending fails, verify:
tailscale status- target device exists in your Tailnet
- sender is logged in and has network connectivity
- If no device appears, make sure at least one peer device has the same
UserIDas your currentSelf.UserIDintailscale status --json, and that it is online. - Offline devices are filtered out by the picker.
This integration is designed to be low-risk and transparent:
- User-triggered only: It runs only when you explicitly click Send via Tailscale... in Dolphin (from desktop/send-with-taildrop.desktop).
- Installs to user scope only: The installer writes only to:
~/.local/bin/send-with-taildrop~/.local/share/kio/servicemenus/send-with-taildrop.desktop
(see scripts/install.sh)
- No
sudo, no system-wide modification: It does not require root and does not modify/usr,/etc, or system services. - No hidden background daemon: It is a one-shot script execution per click (see scripts/send-with-taildrop.sh).
- Explicit destination selection: You must choose the target device in a dialog before anything is sent.
- Only selected items are sent: It sends only the files/folders passed from Dolphin using
tailscale file cp. - No destructive file operations: The send script does not delete or alter your source files; it only reads paths and invokes Tailscale send.
- Clear error reporting: Missing dependencies and transfer failures are shown in dialogs, with failed items listed.
- Auditable code: The project is plain shell + desktop entry, so all behavior is easy to inspect in this repository.
Security of transport/authentication is provided by your existing Tailscale setup, so safety also depends on your Tailnet access controls and logged-in session state.

