Skip to content

f-koehler/KTailctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,510 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KTailctl

Note

KTailctl is currently undergoing a big refactoring and redesign to make it more maintainable, efficient and modern looking. This effort is already quite advanced but will still take some time to complete. During this time, there will not be a lot of activity on the main branch.

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. Update the version in CMakeLists.txt
  4. Create a commit called Release vX.Y.Z..
  5. Create a tag from changelog: git tag -s -F changelog/vX.Y.Z.md vX.Y.Z.
  6. Push tag: git push origin vX.Y.Z.