Skip to content

Releases: sudocarlos/tailrelay

v0.7.0

08 Mar 23:24

Choose a tag to compare

v0.7.0

This release introduces a complete frontend rewrite and significant backend additions.

What's New

Frontend

  • Svelte 5 + Tailwind CSS SPA — replaced vanilla JS/Bootstrap with a modern, reactive single-page application
  • Vite-based build pipeline; assets embedded directly into the Go binary at build time
  • Improved UI responsiveness and component structure

Authentication

  • bcrypt password hashing — replaces plain-text password storage

Tailscale Management

  • New Web UI section for Tailscale node information and status
  • Tailscale hostname change now migrates existing Caddy proxy routes automatically

Caddy / Proxy

  • TLS certificate startup check — validates certs on boot for *.ts.net proxies
  • Replaced per-server metrics with global server metrics
  • Caddy proxy hostnames migrate automatically when Tailscale hostname changes

Backup & Restore

  • Full configuration backup and restore support via the Web UI

Other

  • Improved logging throughout the backend
  • Various bug fixes and stability improvements

Upgrade Notes

  • The frontend assets are now compiled via make frontend-build (Node 22 + Vite required for building from source)
  • Docker image users: no action required — assets are pre-built in the image
  • Password hashes are automatically upgraded to bcrypt on first login after upgrade

Docker

docker pull sudocarlos/tailrelay:v0.7.0

v0.7.0-rc1

08 Mar 21:49

Choose a tag to compare

v0.7.0-rc1 Pre-release
Pre-release

v0.7.0-rc1

This release candidate introduces a complete frontend rewrite and significant backend additions.

What's New

Frontend

  • Svelte 5 + Tailwind CSS SPA — replaced vanilla JS/Bootstrap with a modern, reactive single-page application
  • Vite-based build pipeline; assets embedded directly into the Go binary at build time
  • Improved UI responsiveness and component structure

Authentication

  • bcrypt password hashing — replaces plain-text password storage

Tailscale Management

  • New Web UI section for Tailscale node information and status
  • Tailscale hostname change now migrates existing Caddy proxy routes automatically

Caddy / Proxy

  • TLS certificate startup check — validates certs on boot for *.ts.net proxies
  • Replaced per-server metrics with global server metrics
  • Caddy proxy hostnames migrate automatically when Tailscale hostname changes

Backup & Restore

  • Full configuration backup and restore support via the Web UI

Other

  • Improved logging throughout the backend
  • Various bug fixes and stability improvements

Upgrade Notes

  • The frontend assets are now compiled via make frontend-build (Node 22 + Vite required for building from source)
  • Docker image users: no action required — assets are pre-built in the image
  • Password hashes are automatically upgraded to bcrypt on first login after upgrade

Docker

docker pull sudocarlos/tailrelay:v0.7.0-rc1

v0.6.0

02 Mar 12:00

Choose a tag to compare

What's Changed

  • docs: update StartOS deployment section to reference tailrelay-startos sideloading by @Copilot in #3

Full Changelog: v0.5.0...v0.6.0

v0.5.0

24 Feb 22:26

Choose a tag to compare

Changes since v0.4.1:

  • WebUI: Added a guided tour, keyboard shortcuts, and various UI enhancements. (f045c41)
  • WebUI: Added a footer with links to contribute, feedback, and contact. (62a18b0)
  • Caddy: Resolved startup errors by modifying the proxy manager to query root config. (4648415)
  • Build/Release: Added a new release target to the Makefile for pushing images to Docker Hub and GHCR. (d68851f)
  • Docs: Updated git-workflow skill commit message formatting rules. (8b75b88)

v0.4.1

23 Feb 19:27

Choose a tag to compare

What's Changed

Bug Fixes

  • fix(caddy): handle 400 Bad Request on empty config
  • fix: handle empty Caddy config when adding a new proxy
  • fix: add missing internal/tailscale package to git (was excluded by .gitignore)
  • fix: use :dev image tag in compose-test.yml to match what docker-compose-test.sh builds

Features

  • feat: Add Agent Skills documentation and WebUI Tailscale integration
  • feat: add backup/restore UI template
  • feat: enhance backup/restore to include all config files
  • feat(ci): add automated ci/cd pipeline with socat verification

Chores & CI

  • chore: update module path and all references to github.com/sudocarlos/tailrelay
  • chore: update build scripts with version ldflags
  • ci: fix test permission denied and caddy api invalid traversal path
  • test: Fix permission denied error for socat relay testing in CI

Full Changelog: v0.4...v0.4.1

v0.4.0

05 Feb 05:46

Choose a tag to compare

Release Notes - v0.4.0

Release Date: February 5, 2026

🚀 Highlights

This release introduces a complete SPA (Single Page Application) overhaul of the Web UI with modern Bootstrap styling, enhanced proxy metadata management, and improved user experience:

  • Complete SPA redesign with Bootstrap UI framework
  • Proxy metadata storage and migration system
  • Floating Action Button (FAB) for quick proxy/relay management
  • Bootstrap Icons integration with update tooling
  • Userspace networking mode for improved compatibility

✨ Key Features

SPA UI Overhaul

  • Complete redesign of Web UI as a modern Single Page Application
  • Bootstrap 5 integration for consistent, responsive design
  • Floating Action Button (FAB) for quick access to add/edit/delete operations
  • Modal-based proxy and relay management for better UX
  • Improved navigation and workflow throughout the interface

Proxy Metadata System

  • New metadata storage for proxy configurations
  • Automatic migration from existing Caddy configurations
  • Metadata tracking for proxy names, descriptions, and settings
  • Migration status validation and error handling
  • Backwards-compatible with existing proxy configurations

Bootstrap Icons Integration

  • Comprehensive Bootstrap Icons SVG sprite included
  • Automated update script (update-bootstrap-icons.sh)
  • Easy version management and upgrades
  • Lightweight SVG-based icon system

Userspace Networking Mode

  • Tailscale now runs in userspace networking mode by default
  • No longer requires NET_ADMIN capability or /dev/net/tun
  • Improved compatibility with restricted container environments
  • SOCKS5 proxy on localhost:1055 for applications

Development Improvements

  • Frontend build system with npm/Node.js support
  • Separate SPA bundle for optimized loading
  • Dev-mode workflow for rapid UI iteration
  • Enhanced Makefile targets for development builds

🔧 Technical Changes

Added

  • Complete SPA frontend with Bootstrap styling (webui/frontend/)
  • Proxy metadata storage and migration system
  • Bootstrap Icons SVG sprite and update script
  • FAB component for proxy/relay management
  • Modal dialogs for add/edit/delete operations
  • Userspace networking mode in Tailscale daemon
  • Frontend build pipeline with webpack/rollup
  • Dev-mode asset handling for rapid iteration

Changed

  • Web UI architecture from server-side templates to SPA
  • Proxy manager to support metadata storage
  • Caddy integration to handle metadata migration
  • Login page with improved Tailscale auth flow
  • Dashboard layout with modern Bootstrap components
  • Container startup to use userspace networking

Improved

  • Web UI responsiveness and mobile compatibility
  • Proxy configuration workflow with validation
  • Error handling and user feedback
  • Development workflow with live reload support

📦 Upgrade Instructions

Docker Users

# Pull the latest image
docker pull sudocarlos/tailrelay:v0.4
# or
docker pull sudocarlos/tailrelay:latest

# Restart your container
docker restart tailrelay

Start9 Users

  1. Stop the current container:
    sudo podman stop start9.tailscale
    sudo podman rm start9.tailscale
  2. Pull the new version:
    sudo podman pull docker.io/sudocarlos/tailrelay:v0.4
  3. Start with the same configuration:
    sudo podman run --name start9.tailscale \
      -v /home/start9/tailscale/:/var/lib/tailscale \
      -e TS_HOSTNAME=start9 \
      -p 8021:8021 \
      --net start9 \
      docker.io/sudocarlos/tailrelay:v0.4

🔄 Migration Notes

Automatic Proxy Metadata Migration

On first startup with v0.4, the system will automatically:

  1. Detect existing Caddy proxy configurations
  2. Generate metadata for each proxy
  3. Store metadata in proxy_metadata.json
  4. Preserve all existing proxy functionality

No manual intervention is required for the migration.

Bootstrap Icons Updates

To update Bootstrap Icons to the latest version:

./update-bootstrap-icons.sh

To update to a specific version:

./update-bootstrap-icons.sh 1.11.3

🔍 Verification

After upgrading, verify the new features:

# Web UI health (should load new SPA interface)
curl http://localhost:8021

# Check Tailscale userspace networking
docker exec tailrelay-test ps aux | grep tailscaled

# Verify proxy metadata exists
docker exec tailrelay-test cat /var/lib/tailscale/proxy_metadata.json

⚠️ Breaking Changes

None. This release is fully backwards-compatible with v0.3.x configurations.

📝 Changelog

Added

  • SPA frontend with Bootstrap 5 UI framework
  • Proxy metadata storage and migration system
  • Bootstrap Icons integration with update tooling
  • FAB for quick proxy/relay management
  • Modal-based add/edit/delete workflows
  • Userspace networking mode for Tailscale
  • Frontend build pipeline with npm support
  • Dev-mode development workflow

Changed

  • Web UI from server-side templates to SPA architecture
  • Proxy manager to support metadata
  • Caddy integration for metadata migration
  • Container startup to use userspace networking
  • Dashboard and login page layouts

Improved

  • UI responsiveness and mobile support
  • Proxy management workflow
  • Development iteration speed
  • Container compatibility

Full Changelog: v0.3.0...v0.4

Docker Images:

  • docker.io/sudocarlos/tailrelay:v0.4
  • docker.io/sudocarlos/tailrelay:latest

v0.3.0

02 Feb 03:30

Choose a tag to compare

Release Notes - v0.3.0

Release Date: February 1, 2026

🚀 Highlights

This release focuses on stronger observability and more robust proxy management:

  • Live log streaming in the Web UI
  • Custom CA certificate uploads for TLS-verified upstreams
  • More consistent and stable Caddy proxy configuration handling

✨ Key Features

Web UI Logging (Live Streaming)

  • Comprehensive logging system added to the Web UI
  • Live streaming of logs to the browser for faster troubleshooting
  • Improved visibility into proxy, relay, and service activity

Custom CA Certificate Uploads

  • Upload custom CA certificates for upstream TLS verification
  • Enables secure connections to services using internal or private PKI
  • Reduces the need for insecure TLS bypasses

Proxy Management Improvements

  • Aligned Caddy route structure for consistent configuration output
  • Persisted server mappings per proxy to minimize churn
  • Refactored proxy manager for clearer configuration handling

🔧 Technical Changes

Added

  • Logging subsystem with live-streaming endpoints in the Web UI
  • Custom CA certificate upload pipeline for proxy TLS
  • Local Web UI development workflow for rapid iteration

Changed

  • Caddy route generation to maintain consistent proxy structure
  • Caddy server mappings stored per proxy for stability
  • Internal proxy manager refactors to match new configuration flows

Removed

  • Legacy file-based proxy handling (Caddyfile/JSON-based proxy CRUD)

📦 Upgrade Instructions

Docker Users

# Pull the latest image
docker pull sudocarlos/tailrelay:v0.3.0
# or
docker pull sudocarlos/tailrelay:latest

# Restart your container
docker restart tailrelay

Start9 Users

  1. Stop the current container:
    sudo podman stop start9.tailscale
    sudo podman rm start9.tailscale
  2. Pull the new version:
    sudo podman pull docker.io/sudocarlos/tailrelay:v0.3.0
  3. Start with the same configuration:
    sudo podman run --name start9.tailscale \
      -v /home/start9/tailscale/:/var/lib/tailscale \
      -e TS_HOSTNAME=start9 \
      -p 8021:8021 \
      --net start9 \
      docker.io/sudocarlos/tailrelay:v0.3.0

🔍 Verification

After upgrading, verify the new features:

# Web UI health (should load and show logs)
curl http://localhost:8021

# Caddy config routes
tailrelay_caddy_routes=$(curl -s http://localhost:2019/config/apps/http/servers/tailrelay/routes)
echo "$tailrelay_caddy_routes" | jq

⚠️ Notes

  • Proxy configuration is now fully API-driven; legacy file-based proxy handling has been removed.
  • If you use a private CA for upstream TLS, upload it through the Web UI before enabling verification.

📝 Changelog

Added

  • Live log streaming in the Web UI
  • Custom CA certificate upload support for upstream TLS verification
  • Local Web UI development workflow

Changed

  • Consistent Caddy proxy route structure
  • Persisted Caddy server mappings per proxy
  • Refactored proxy manager and configuration handling

Removed

  • Legacy proxy file handling

Full Changelog: v0.2.1...v0.3.0

v0.2.0 - Web UI Integration

26 Jan 12:34

Choose a tag to compare

🎉 Major Release: Web UI Integration

This release adds a comprehensive browser-based Web UI for managing all aspects of tailrelay without manual configuration editing!

🌟 Key Features

Web UI Management

  • Dashboard with Tailscale connection status and system health monitoring
  • Tailscale Management - Connect/disconnect, view peers, check status
  • Caddy Proxy Management - Add, edit, delete, and toggle HTTP/HTTPS reverse proxies
  • Socat Relay Management - Full TCP relay process management
  • Backup & Restore - Create, download, upload, and restore configuration backups
  • Dark Theme with responsive design optimized for readability

Security & Authentication

  • Dual Authentication:
    • Token-based authentication (auto-generated on first run)
    • Automatic Tailscale network authentication (no token needed from Tailnet)
  • Session management with secure cookies
  • Token stored at /var/lib/tailscale/.webui_token

Auto-Configuration

  • Automatic migration from RELAY_LIST environment variable to JSON configs
  • Auto-generated Caddyfile from Web UI proxy settings
  • Process management with PID tracking for socat relays
  • Configuration validation and error handling

📦 Installation & Access

Docker Hub Images (multi-platform: amd64, arm64):

docker pull sudocarlos/tailrelay:v0.2.0
# or
docker pull sudocarlos/tailrelay:latest

Access Web UI:

  • Port: 8021 (expose with -p 8021:8021)
  • URL: http://localhost:8021 or https://your-hostname.tailnet.ts.net:8021

Get Authentication Token:

# Docker
docker exec <container> cat /var/lib/tailscale/.webui_token

# Podman
sudo podman exec start9.tailscale cat /var/lib/tailscale/.webui_token

🔧 Technical Details

  • Built with: Go 1.21, embedded HTML/CSS/JS
  • Binary size: ~14MB (includes all assets)
  • Multi-stage Docker build for optimized image size
  • RESTful API with 20+ endpoints
  • 5,700+ lines of new code and documentation

📚 Documentation

  • Comprehensive README with Web UI sections
  • Full CHANGELOG with API documentation
  • Troubleshooting guide and upgrade instructions
  • AGENTS.md for developers

⚠️ Breaking Changes

  • RELAY_LIST environment variable is now deprecated (auto-migrated)
  • Recommended to manage relays through Web UI instead
  • Manual Caddyfile editing still supported but not recommended with Web UI

🔄 Upgrading from v0.1.1

  1. Backup your configuration
  2. Pull new image: docker pull sudocarlos/tailrelay:v0.2.0
  3. Stop old container
  4. Start new container with -p 8021:8021 for Web UI access
  5. Access Web UI and migrate configurations

See CHANGELOG.md for detailed upgrade instructions.

🐛 Known Issues

  • Permission warning for /var/log/tailrelay-webui.log (non-critical)
  • Web UI requires root user in container (Tailscale requirement)

🙏 Feedback

Please report issues or suggestions on the GitHub Issues page.


Full Changelog: https://github.com/sudocarlos/tailscale-socaddy-proxy/blob/main/CHANGELOG.md

Docker Hub: https://hub.docker.com/r/sudocarlos/tailrelay