Skip to content

Releases: DigitalCyberSoft/tailscale-cli-helpers

v0.3.4

26 Dec 02:49

Choose a tag to compare

Changes

  • Fix tsexit to use IP address for reliable exit node selection
  • Display full hostname in status messages for clarity

Installation

RPM (Fedora/RHEL/CentOS):

sudo dnf install tailscale-cli-helpers-0.3.4-1.noarch.rpm

DEB (Ubuntu/Debian):

sudo dpkg -i tailscale-cli-helpers_0.3.4-2_all.deb

v0.3.3

16 Dec 21:44

Choose a tag to compare

Changes

  • Fix tsexit to use short hostname instead of FQDN for exit node selection

Installation

RPM (Fedora/RHEL/CentOS):

sudo dnf install tailscale-cli-helpers-0.3.3-1.noarch.rpm

DEB (Ubuntu/Debian):

sudo dpkg -i tailscale-cli-helpers_0.3.3-2_all.deb

v0.3.2

11 Dec 08:49

Choose a tag to compare

Changes

  • Fix ts dispatcher intercepting -h flag meant for subcommands
  • Fix tmussh wildcard expansion to use IPs when MagicDNS unavailable

Installation

RPM (Fedora/RHEL/CentOS):

sudo dnf install tailscale-cli-helpers-0.3.2-1.noarch.rpm
sudo dnf install tailscale-cli-helpers-mussh-0.3.2-1.noarch.rpm  # optional

DEB (Ubuntu/Debian):

sudo dpkg -i tailscale-cli-helpers_0.3.2-2_all.deb
sudo dpkg -i tailscale-cli-helpers-mussh_0.3.2-2_all.deb  # optional

v0.3.1: Interactive Exit Node Management

18 Aug 02:41

Choose a tag to compare

New Features

tsexit - Interactive Exit Node Manager

  • New tsexit command for managing Tailscale exit nodes with an interactive menu
  • Supports Mullvad multi-country exit nodes with automatic country grouping
  • Arrow key navigation with ANSI terminal UI
  • Countries collapsed by default, expandable with Enter or right arrow
  • Jump-to-country navigation using letter keys
  • Automatic sudo elevation when permissions required
  • Shows full DNS names with alphabetical sorting within countries
  • Auto-expands and highlights current exit node on startup
  • Fallback to bash select menu for maximum compatibility

Installation

RPM (Fedora/RHEL/CentOS)

sudo rpm -i tailscale-cli-helpers-0.3.1-1.noarch.rpm
# Optional mussh extension
sudo rpm -i tailscale-cli-helpers-mussh-0.3.1-1.noarch.rpm

DEB (Ubuntu/Debian)

sudo dpkg -i tailscale-cli-helpers_0.3.1-2_all.deb
# Optional mussh extension
sudo dpkg -i tailscale-cli-helpers-mussh_0.3.1-2_all.deb

Universal Installer

curl -sL https://github.com/DigitalCyberSoft/tailscale-cli-helpers/archive/refs/tags/v0.3.1.tar.gz | tar xz
cd tailscale-cli-helpers-0.3.1
./setup.sh

Usage

# Interactive exit node manager
tsexit

# List available exit nodes
tsexit --list

v0.3.0: Restore deleted functionality

31 Jul 05:53

Choose a tag to compare

v0.3.0 Release

What's Changed

  • Restored functionality that was accidentally deleted during modular refactoring
  • Restored multiple host selection menu with fuzzy matching
  • Restored security validation functions (_sanitize_pattern)
  • Restored tab completion (tailscale-completion.sh)
  • Fixed test counting that was broken (showing 0/0)
  • Fixed tmussh wildcard pattern matching
  • Updated all tests to work with new modular structure

Package Updates

  • Main package: v0.3.0
  • mussh package: v0.3.0 (fixed wildcard matching)
  • Changed mussh package to use minimum version dependency

Installation

See README for installation instructions. Package files are attached below.


Note: This release fixes regressions introduced during the modular refactoring.

v0.2.4 - Critical Library Fix

31 Jul 03:37

Choose a tag to compare

What's Fixed

Critical Bug Fix

  • Fixed Missing Library: Added missing common.sh to packages (fixes version display bug)
  • Updated Debian Packaging: Rewrote debian/rules for new bin/ structure
  • Proper File Installation: Both RPM and DEB now include all required files

This release fixes a critical bug where ts -V and other version commands would show empty version numbers due to the missing common.sh library file.

Installation

RPM (Fedora/RHEL/CentOS):

sudo rpm -U tailscale-cli-helpers-0.2.4-1.noarch.rpm
# Optional mussh extension:
sudo rpm -U tailscale-cli-helpers-mussh-0.2.4-1.noarch.rpm

DEB (Ubuntu/Debian):

sudo dpkg -i tailscale-cli-helpers_0.2.4-2_all.deb
# Optional mussh extension:
sudo dpkg -i tailscale-cli-helpers-mussh_0.2.4-2_all.deb

Source:

wget https://github.com/DigitalCyberSoft/tailscale-cli-helpers/archive/v0.2.4.tar.gz
tar -xzf v0.2.4.tar.gz
cd tailscale-cli-helpers-0.2.4
./setup.sh

Release v0.2.3: Package rename and auto-install support

31 Jul 03:03

Choose a tag to compare

What's Changed

πŸ“¦ Package Rename

  • Renamed Package: tailscale-cli-helpers-tmussh β†’ tailscale-cli-helpers-mussh
  • Smooth Upgrade Path: Users with the old package will automatically upgrade to the new name
  • No Functional Changes: The tmussh command remains unchanged

πŸš€ Auto-Install Support

  • RPM: Added Supplements tag - mussh extension auto-installs when both main package and mussh are present
  • Both: Added Suggests tag - package managers show mussh extension as recommended
  • Smart Dependencies: Install only what you need, with automatic recommendations

πŸ”§ Technical Details

  • Added Obsoletes/Provides in RPM spec for upgrade path
  • Added Replaces/Breaks/Provides in DEB control for smooth transitions
  • Updated all documentation to reflect new package name

Package Files

Core Package

  • RPM: tailscale-cli-helpers-0.2.3-1.noarch.rpm
  • DEB: tailscale-cli-helpers_0.2.3-2_all.deb
  • Source RPM: tailscale-cli-helpers-0.2.3-1.src.rpm

Optional mussh Extension (auto-installs when mussh is present)

  • RPM: tailscale-cli-helpers-mussh-0.2.3-1.noarch.rpm
  • DEB: tailscale-cli-helpers-mussh_0.2.3-2_all.deb
  • Source RPM: tailscale-cli-helpers-mussh-0.2.3-1.src.rpm

Installation

RPM-based systems (Fedora/RHEL/CentOS)

# Core package
sudo rpm -i tailscale-cli-helpers-0.2.3-1.noarch.rpm

# Optional: Parallel SSH support (auto-installs if mussh is present)
sudo rpm -i tailscale-cli-helpers-mussh-0.2.3-1.noarch.rpm

DEB-based systems (Ubuntu/Debian)

# Core package
sudo dpkg -i tailscale-cli-helpers_0.2.3-2_all.deb

# Optional: Parallel SSH support
sudo dpkg -i tailscale-cli-helpers-mussh_0.2.3-2_all.deb

Universal installer

wget https://github.com/DigitalCyberSoft/tailscale-cli-helpers/archive/v0.2.3.tar.gz
tar -xzf v0.2.3.tar.gz
cd tailscale-cli-helpers-0.2.3
./setup.sh

Upgrade Notes

  • If you have tailscale-cli-helpers-tmussh installed, it will be automatically replaced by tailscale-cli-helpers-mussh
  • No manual intervention required - package managers handle the transition
  • The tmussh command continues to work exactly as before

Full Changelog: v0.2.2...v0.2.3

Release v0.2.2: Modular architecture and enhanced packaging

31 Jul 02:47

Choose a tag to compare

What's Changed

πŸ—οΈ Major Architecture Refactoring

  • Modular Package Structure: Split tmussh into separate optional package for better dependency management
  • Project Reorganization: Restructured into bin/, lib/, and man/ directories for cleaner codebase
  • Shared Libraries: Common code now in lib/common.sh and lib/tailscale-resolver.sh
  • Removed Legacy Files: Cleaned up old shell function files replaced by standalone executables

πŸ“¦ Enhanced Packaging

  • Professional Packaging: Separate RPM/DEB packages for core and optional components
  • Post-Install Migration: Debian package includes migration script for smooth upgrades
  • Distribution Neutral: Removed distribution tags from RPM specs (noarch packages)
  • Alien Scripts Support: DEB packages now properly include post-install scripts with --scripts flag

πŸ“š Improved Documentation

  • Development Guide: Added comprehensive CLAUDE.md with detailed build instructions
  • Updated README: Enhanced with v0.2.2 features and package installation instructions
  • Fixed Changelogs: Corrected dates and descriptions for previous releases

πŸ”§ Technical Improvements

  • Enhanced setup.sh: Better error handling and platform detection
  • Updated Test Suites: Improved coverage and reliability
  • Clean Source Files: Removed attribution lines for cleaner code

Package Files

Core Package

  • RPM: tailscale-cli-helpers-0.2.2-1.noarch.rpm
  • DEB: tailscale-cli-helpers_0.2.2-2_all.deb
  • Source RPM: tailscale-cli-helpers-0.2.2-1.src.rpm

Optional tmussh Package (requires mussh)

  • RPM: tailscale-cli-helpers-tmussh-0.2.2-1.noarch.rpm
  • DEB: tailscale-cli-helpers-tmussh_0.2.2-2_all.deb
  • Source RPM: tailscale-cli-helpers-tmussh-0.2.2-1.src.rpm

Installation

RPM-based systems (Fedora/RHEL/CentOS)

# Core package
sudo rpm -i tailscale-cli-helpers-0.2.2-1.noarch.rpm

# Optional: Parallel SSH support
sudo rpm -i tailscale-cli-helpers-tmussh-0.2.2-1.noarch.rpm

DEB-based systems (Ubuntu/Debian)

# Core package
sudo dpkg -i tailscale-cli-helpers_0.2.2-2_all.deb

# Optional: Parallel SSH support
sudo dpkg -i tailscale-cli-helpers-tmussh_0.2.2-2_all.deb

Universal installer

wget https://github.com/DigitalCyberSoft/tailscale-cli-helpers/archive/v0.2.2.tar.gz
tar -xzf v0.2.2.tar.gz
cd tailscale-cli-helpers-0.2.2
./setup.sh

Full Changelog: v0.2.1...v0.2.2

v0.2.1: Enhanced Tab Completion and Internal Function Improvements

24 Jul 14:20

Choose a tag to compare

What's New in v0.2.1

πŸ›‘οΈ Major Security Hardening

  • Input validation: Added hostname validation to prevent command injection attacks
  • JSON security: Implemented Tailscale JSON structure validation and secure jq queries
  • Pattern sanitization: Prevents regex injection through user input
  • Path traversal protection: Enhanced setup script with secure file operations
  • Argument safety: Added -- parameter separation to prevent option injection
  • 40+ security tests: Comprehensive test suite covering all attack vectors

πŸš€ New SFTP Support (tsftp)

  • Modern file transfer: Added tsftp command as SFTP alternative to deprecated SCP
  • Full Tailscale integration: Complete hostname resolution with fuzzy matching
  • Conditional loading: Only loads when SFTP is available on the system
  • Dispatcher integration: Works with ts sftp command and tab completion

πŸ”§ Major Code Refactoring

  • Shared hostname resolution: Created _dcs_resolve_tailscale_host() eliminating ~150 lines of duplicate code
  • Autocomplete helpers: Refactored completion system reducing ~105 lines of duplicate code
  • Better maintainability: Single source of truth for hostname resolution across all commands

✨ Enhanced Tab Completion System

  • Improved tmussh completion: Added comprehensive tab completion with version-based parameter support
  • Levenshtein distance sorting: All completions now show results sorted by similarity
  • Version-aware features: Detects installed mussh version and offers appropriate parameters
  • Hidden internal functions: Renamed all *_main functions to _*_main to hide from tab completion

πŸ§ͺ Testing Enhancements

  • Security test suite: 40+ tests covering injection attacks, path traversal, and DoS protection
  • Multi-host test suite: Added comprehensive test for tmussh multi-host functionality
  • Functional behavior tests: Enhanced test coverage for all new features

πŸ› Bug Fixes

  • Fixed tmussh tab completion not working
  • Fixed internal functions appearing in tab completion
  • Improved version detection for mussh parameter availability
  • Enhanced error handling across all commands

Installation

RPM (Fedora/RHEL/CentOS)

sudo rpm -i tailscale-cli-helpers-0.2.1-1.noarch.rpm

DEB (Ubuntu/Debian)

sudo dpkg -i tailscale-cli-helpers_0.2.1-2_all.deb

Universal (All platforms)

wget https://github.com/DigitalCyberSoft/tailscale-cli-helpers/archive/v0.2.1.tar.gz
tar -xzf v0.2.1.tar.gz
cd tailscale-cli-helpers-0.2.1
./setup.sh

Note: This release represents a major security and functionality upgrade. All users are encouraged to update for enhanced security and new SFTP capabilities.

Built by Digital Cyber Soft

Tailscale CLI Helpers v0.2.0 - Major Refactoring and New Commands

24 Jul 09:52

Choose a tag to compare

πŸš€ Major Release v0.2.0

This release brings significant improvements with new commands, refactored codebase, and comprehensive testing.

✨ New Features

New Commands

  • tscp - SCP file transfers with Tailscale hostname resolution
  • trsync - rsync synchronization with Tailscale hostname resolution
  • tmussh - Parallel SSH execution across multiple Tailscale nodes (requires mussh)
  • ts dispatcher - Unified command interface for all operations

Enhanced Installation

  • One-line installer: curl -fsSL https://raw.githubusercontent.com/DigitalCyberSoft/tailscale-cli-helpers/main/install.sh < /dev/null | bash
  • Interactive ts dispatcher installation option
  • Enhanced setup script with new features

πŸ’‘ Improvements

Core Functionality

  • Refactored function naming - Removed unnecessary dcs_ prefixes while preserving namespacing
  • Enhanced SSH support - Full SSH options passthrough (-p, -i, etc.)
  • Improved completion - Tab completion for all new commands
  • Better error handling - Enhanced argument parsing and validation

Code Quality

  • Comprehensive test suite - 5 new test files covering all functionality
  • Cross-shell compatibility - Tested on both bash and zsh
  • Clean namespacing - Strategic use of prefixes to avoid conflicts

πŸ›  Technical Changes

Command Structure

  • tssh - Main SSH command (replaces direct dcs_ts usage)
  • ts - Multi-command dispatcher with subcommands:
    • ts ssh hostname - SSH to host
    • ts scp file.txt host:/path - Copy files
    • ts rsync -av dir/ host:/path/ - Sync directories
    • ts mussh -h host1 host2 -c "cmd" - Parallel execution

New Files

  • tailscale-mussh.sh - Parallel SSH functionality
  • tailscale-ts-dispatcher.sh - Command dispatcher
  • install.sh - One-line installer script
  • VERSION - Version tracking
  • Comprehensive test suite (5 new test files)

πŸ“¦ Installation

Quick Install (Recommended)

# Current user installation
curl -fsSL https://raw.githubusercontent.com/DigitalCyberSoft/tailscale-cli-helpers/main/install.sh | bash

# System-wide installation  
curl -fsSL https://raw.githubusercontent.com/DigitalCyberSoft/tailscale-cli-helpers/main/install.sh | sudo bash -s -- --system

Package Downloads

  • RPM: For Fedora/RHEL/CentOS systems
  • DEB: For Ubuntu/Debian systems

πŸ§ͺ Testing

This release includes comprehensive testing:

  • 164 Tailscale hosts detected in test environment
  • All commands tested across bash and zsh
  • Complete tab completion verified
  • Host resolution fully functional

Run tests: ./tests/test-summary.sh

πŸ“ Usage Examples

# SSH connections
tssh myhost                    # Direct SSH
ts myhost                      # Via dispatcher
tssh user@myhost -p 2222       # With SSH options

# File operations  
tscp file.txt myhost:/tmp/     # Copy files
trsync -av dir/ myhost:/data/  # Sync directories

# Parallel operations
tmussh -h web1 web2 -c "uptime" # Execute on multiple hosts

πŸ”„ Migration

Existing functionality remains compatible:

  • ts hostname still works (calls tssh internally)
  • All tab completion preserved
  • MagicDNS and fallback behavior unchanged

Built by Digital Cyber Soft