Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tail-up icon

Tail-up

A native Linux desktop interface for sending and receiving files with Tailscale Taildrop.

Tail-up showing Taildrop devices and files ready to send

Tail-up puts Tailscale's Taildrop commands behind a simple libadwaita interface. It discovers eligible devices on your tailnet, sends one or more files, and can watch a chosen directory for incoming files while it runs in the system tray.

Features

  • Discover Taildrop devices and see whether they are available.
  • Send multiple local files selected with the file picker or drag and drop.
  • Automatically receive incoming files into a directory of your choice.
  • Runs continuously from a system tray indicator.

Requirements

Tail-up calls the Tailscale CLI as your desktop user. Before launching the app, install Tailscale, sign in to your tailnet, and grant your user permission to operate Tailscale without sudo:

sudo tailscale set --operator="$USER"

This is a one-time setup for the current user. Without it, Tailscale operations normally require root privileges and Tail-up will not be able to run them. Verify the connection afterward:

tailscale status

The devices you want to send to must support and allow Taildrop.

Building Tail-up requires:

  • A C++20 compiler
  • Meson 1.0 or newer, Ninja, and pkg-config
  • GTK 4.10 or newer
  • libadwaita 1.4 or newer
  • JSON-GLib 1.6 or newer
  • GTK 3.24 or newer
  • Ayatana AppIndicator 0.5 or newer
  • libportal 0.7 or newer But i recommend building with Flatpak instead.

Build with Flatpak

Install Flatpak Builder and the GNOME 50 SDK and platform from Flathub, then build the included manifest:

flatpak install --user flathub org.gnome.Platform//50 org.gnome.Sdk//50
flatpak-builder --user --install --force-clean \
  flatpak-build com.jafed.tailup.json

Launch the Flatpak build with:

flatpak run com.jafed.tailup

The Flatpak delegates Tailscale commands to the host, so the host Tailscale CLI must still be installed, running, and signed in.

Diagnostics

Enable diagnostic output with either the command-line option or environment variable:

tail-up --debug
TAIL_UP_DEBUG=1 tail-up

If no devices appear, first check the same commands Tail-up relies on:

tailscale status
tailscale file cp --targets

If the tray indicator is unavailable, Tail-up will continue to work while its window is open. Some desktops, including GNOME, require an AppIndicator or StatusNotifier extension for tray icons.

About

A native Linux Taildrop client and desktop integration for sending and receiving files

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages