Skip to content

f-koehler/KTailctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KTailctl

GitHub Workflow Status GitHub

A GUI to monitor and manage Tailscale on your Linux desktop, built using KDE Frameworks and Kirigami2.

⚠️ To get the most out of KTailctl (sending/receiving files, changing Tailscale settings, …) make sure you are the operator tailscale up --operator=$USER!

Flathub

Tailscale peer list in KTailctl

Features

  • Monitoring of tailscale status
  • Monitoring of total traffic
  • Monitoring of traffic per peer
  • Detailed peer information
  • Tray menu for quick access
  • Copying of IP addresses/DNS name
  • Speed graphs
  • Pinging of peers
  • Exit node management
  • Toggle tailscale status
  • Sending files
  • Receiving files
  • Notification on tailscale status change
  • Notification on peer addition/removal
  • Flatpak
  • Localization

Development

Setup

NixOS

Make sure thate flake support is enabled (see NixOS Wiki on Flakes). All required dependencies will be made availabe by entering the devshell via nix develop --no-pure-eval. This can be achieved automatically when using direnv with direnv allow.

Fedora

Install required packages via

sudo dnf install \
  cmake \
  extra-cmake-modules \
  gcc-c++ \
  golang \
  json-devel \
  kf6-breeze-icons-devel \
  kf6-kconfig-devel \
  kf6-kcoreaddons-devel \
  kf6-kdbusaddons-devel \
  kf6-kguiaddons-devel \
  kf6-ki18n-devel \
  kf6-kirigami-addons-devel \
  kf6-kirigami-devel \
  kf6-knotifications-devel \
  kf6-kwindowsystem-devel \
  kf6-qqc2-desktop-style \
  qt6-qtbase-devel \
  qt6-qtdeclarative-devel \
  qt6-qtsvg-devel

Compiling KTailctl

  1. Vendor go modules
pushd src/wrapper
go mod vendor
popd
  1. Configure with CMake
cmake -Bbuild
  1. Compile with CMake (change 16 to the number of thread you want to use)
cmake --build build --parallel 16
  1. Run binary
./build/bin/ktailctl

Create a release

  1. Create a changelog file changelog/vX.Y.Z.md.
  2. Add a new release to org.fkoehler.ktailctl.metainfo.xml.
  3. Create a commit called Release vX.Y.Z..
  4. Create a tag from changelog: git tag -s -F changelog/vX.Y.Z.md vX.Y.Z.
  5. Push tag: git push origin vX.Y.Z.