πΈοΈ Rt:Tailscale
The definitive mesh-VPN interface for muOS.
Engineered for performance, built for the handheld.
Overview
Rt:Tailscale is a lightweight, high-performance GUI application designed specifically for Anbernic devices running muOS (MustardOS). This tool eliminates the friction of CLI-based Tailscale management, providing a native, controller-driven interface to control your tailnet, monitor connections, and manage exit nodes β directly from your console.
Built to run seamlessly within the muOS ecosystem, it leverages the mux_launch.sh wrapper for optimized process execution. Zero external dependencies. Zero pip packages. Pure Python + SDL2 via ctypes.
Key Features
| Feature | Description |
|---|---|
Seamless integration with the muOS menu system via mux_launch.sh |
|
| Toggle the Tailscale daemon and manage SSH access with a single button press | |
| Dynamically list and select your preferred exit nodes | |
| Send and receive files across your tailnet mesh | |
| Integrated tools to analyze latency, NAT types, and UDP connectivity | |
| Built-in QR code generator for instant device pairing | |
| Tailscale Classic, SPDW Cyberpunk, and SPDW Hybrid | |
| Built with pure Python using ctypes to interface directly with SDL2 | |
| Persistent logging for troubleshooting and audit |
Project Structure
Rt:Tailscale/
βββ glyph/
β βββ icon.png # Application launcher icon
βββ config.ini # User-defined configurations
βββ error_log.txt # Runtime crash logs & diagnostics
βββ font.ttf # UI rendering font (local path)
βββ lang.json # External multilingual support
βββ mux_launch.sh # Entry-point script for muOS
βββ tailscale_gui.py # Core application logic (Python 3 / SDL2)
βββ tailscale.png # Application primary logo
βββ README.md # This file
Whatβs New in v3.0.4
Path System Overhaul
- Local font path β
font.ttfis now loaded from the application directory (SCRIPT_DIR) instead of hardcoded system paths - Local logo path β
tailscale.pngloaded from app folder viaLOGO_PATH - Persistent error logging β All runtime errors written to
error_log.txtin the app directory with timestamps
Startup Hardening
- Critical font check β App validates
font.ttfexistence before initializing SDL2; exits gracefully with logged error if missing - Library load safety β SDL2, SDL2_ttf, and SDL2_image loading wrapped in try/except with
sys.exit(1)on failure - Step-by-step boot logging β Every initialization phase logged: SDL_Init, TTF_Init, font load, window creation, renderer creation
Visual Polish
- Hybrid theme set as default (SPDW cyberpunk aesthetic with Tailscale functionality)
- Header logo properly aligned with local
tailscale.pngasset - Ghosting chromatic effect on βTailscaleβ title text for CRT-style depth
Bug Fixes
- Fixed potential crash when system fonts are unavailable on muOS
- Fixed logo texture loading path inconsistency across different muOS builds
- Improved error transparency β no more silent black-screen failures
Installation
Method 1: Archive Manager (Recommended)
-
Download
Rt-Tailscale.muxapplates release -
Copy the file to your consoleβs SD card:
/mnt/mmc/MUOS/ARCHIVE/Or if using SD2 (secondary card):
/mnt/sdcard/MUOS/ARCHIVE/ -
Eject the SD card safely and insert it back into your handheld
-
Boot muOS and navigate to Applications β Archive Manager
-
Select
Rt-Tailscale.muxappfrom the list -
Press A to extract and install
-
Restart your handheld to ensure the application appears in the menu
-
Find Rt:Tailscale under Applications
Method 2: Manual Extract
If the Archive Manager fails or you prefer manual control:
-
Rename
Rt-Tailscale.muxapptoRt-Tailscale.zip -
Extract the contents to:
/mnt/mmc/MUOS/application/Rt-Tailscale/ -
Ensure the folder contains:
Rt-Tailscale/ βββ tailscale_gui.py βββ mux_launch.sh βββ config.ini βββ font.ttf βββ tailscale.png βββ error_log.txt βββ glyph/ βββ icon.png

