Skip to content

Tailscale tray menu and UI for the KDE Plasma Desktop

License

Notifications You must be signed in to change notification settings

SneWs/tail-tray

Repository files navigation

Tail Tray

Tailscale tray menu and UI for Plasma Desktop

Disclaimer Please note that I have no association whatsoever with Tailscale Inc.

This is a personal project and is not endorsed by Tailscale Inc. in any shape or form.

Features

  • Control your Tailscale connection from the tray
  • Show IPs
  • Show current connection status of your devices
  • Overview of your network and network status
  • Set and change your Tailscale exit node
  • Proper multi account handling
  • Tail drive support - Working with davfs2 support + additional help setting up davfs2 and mounting etc
  • Send files to any device on your Tailnet directly from the tray menu
  • Get notified and receive files from any device on your Tailnet to a pre-defined location on disk

License

GNU General Public License v3.0 - see LICENSE for more details

Installation

For now the easiest and most reliable way to install this is to build it from source. To do that, please see the Getting started section below.

If you're feeling adventurous, you can download the latest deb release and give that a try, but there are known issues with it. NOTE: The deb package that is made as part of the release might not working as intended. I'm working on fixing this. And if you know how to package for Debian and Ubuntu, feel free to help out. See #12 for details

Prerequisites

Supported architectures

  • x86_64
  • ARM64
  • Any other architecture that QT 6 supports and where you can compile this project and where Tailscale runs

Getting started

  1. Install the following dependencies
    • Git, QT 6, cmake and a c++ compiler, for example:
      • On Ubuntu and Ubuntu based distros
        sudo apt install git qt6-tools-dev qt6-tools-dev-tools g++ clang cmake davfs2
      • On Fedora
        sudo dnf install -y git g++ clang cmake qt6-qtbase-devel qt6-qttools-devel qt6-qtbase-private-devel davfs2
      • On Arch Linux
        sudo pacman -S git clang cmake qt6-base qt6-tools
        # For davfs2 we need to use the AUR
        yay -S davfs2
      • On Windows (Unsupported but currently working) Make sure to download and install QT binaries
      • If you are running Gnome and not using Ubuntu, make sure to install AppIndicator so you can see your tray icons. See https://extensions.gnome.org/extension/615/appindicator-support/
  2. Clone the repo
  3. cd into the repo cd tail-tray
  4. Make a build directory mkdir build
  5. cd into the build directory cd build
  6. Run cmake ../
  7. Run make
  8. Run sudo make install
  9. It will now be installed to /usr/local/bin/tail-tray and can be started by running tail-tray in a terminal or by clicking the Tail Tray icon in the launcher.

Building on Windows (Experimental)

  1. Clone the repo
  2. cd into the repo cd tail-tray
  3. Make a build directory mkdir build
  4. cd into the build directory cd build
  5. Run cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_PREFIX_PATH:PATH=C:/Qt/6.8.0/msvc2022_64 ../
  6. Make sure to replace the QT install path and version for what you have installed and intend to build with from above command
  7. Run msbuild tail-tray.sln make sure that you have msbuild etc in your path or it will not work
  8. You can now hopefully run it from that folder by launching the exe file tail-tray.exe
  9. This is still in an unsupported state but usually works, feel free to contribute to the windows builds if you have the know how.

Participating & Filing bugs

  • If you would like to participate in the development of this project, feel free to fork the repo and submit a pull request.
  • Bugs, we all get them... Please file an issue in the issues tab and we'll sort it out together.

Screenshots

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot