Skip to content

v1.2 - Telegram Bot, Resource Limits & Faster TUI

Choose a tag to compare

@SamNet-dev SamNet-dev released this 30 Jan 23:43
· 56 commits to main since this release

Conduit Manager v1.2

A major release focused on resource control, Telegram integration, and performance. Containers now support per-instance CPU and memory limits, a full Telegram bot provides remote monitoring and management, and parallelized Docker commands cut TUI refresh times by 75%. 🚀

🌟 New Features

  • 🖥️ Per-Container Resource Limits: Set CPU and memory limits for each container via the Settings menu. Smart defaults based on your system's CPU cores and RAM. Limits are also prompted when adding new containers.
  • 🤖 Telegram Bot Integration: Full-featured Telegram bot with guided setup wizard. Receive periodic status reports with client counts, bandwidth, and timestamps — all delivered automatically.
  • 📲 Telegram Container Commands: Manage containers remotely with /containers, /restart_N, /stop_N, /start_N directly from Telegram.
  • 🔧 Systemd Notification Service: Telegram bot runs as a proper systemd service — survives reboots, TUI exits, and SSH disconnects.
  • 🔢 Compact Number Display: Large counts now show as 16.5K, 1.2M instead of raw numbers across all screens and reports.
  • 👥 Active Clients Count: Dashboard and Telegram reports now show both connected and connecting peers separately.
  • 📈 Total Bandwidth Served: Reports include cumulative bandwidth alongside per-session stats.
  • 🕐 Timestamps on Reports: All Telegram reports include server time and uptime info.
  • 🏷️ Server Label & IP: Reports identify your server by label and IP for multi-server operators.
  • 🔄 Auto-Restart for Stuck Containers: Improved detection and automatic recovery of stuck containers.

⚡ Performance

  • Parallelized Docker Commands: All TUI screens (Status, Container Management, Advanced Stats, Live Peers) now run Docker commands in parallel.
  • Batched Inspect Calls: Single docker inspect call for all containers instead of one per container.
  • Parallel Stop/Remove: Multi-container operations run concurrently instead of sequentially.
  • ~75% Faster Refresh: Screen refresh time reduced from ~10s to ~2-3s with multiple containers.

🐛 Fixes

  • False WAITING Status: Health check no longer shows WAITING for connected containers without stats.
  • Container Lifecycle Logic: Start/stop/restart now correctly detects resource limit changes and recreates containers when needed.
  • Duplicate Countries in GeoIP: Broader name normalization prevents duplicate country entries (e.g., "Korea" vs "South Korea").
  • Telegram Markdown Escaping: Backslash handling fixed — reports no longer break with special characters.
  • Telegram Container Names: Fixed mismatch (conduit2conduit-2) so bot commands target the right container.
  • Telegram Report Accuracy: Log tail increased from 50 to 400 lines for accurate client counting.
  • Wizard Failure Recovery: Failed setup wizard now preserves your existing config instead of leaving a blank file.
  • Tracker Arithmetic Overflow: Fixed overflow in traffic counters for high-traffic nodes.
  • Input/Output Error Loop: Broken /dev/tty no longer causes infinite error loop.
  • CPU Normalization: Reports now divide CPU usage by core count for accurate percentages.
  • Peers Count Consistency: Peer counts now match across all views (dashboard, stats, peers, Telegram).
  • Notification Loop: Menu no longer restarts the notification loop every time it opens.
  • PID Management: Proper cleanup of background process PID files.
  • Stale Temp Data: Temp directories cleaned up to prevent reading leftover data from previous sessions.
  • Multiple TUI Stability Fixes: Various edge cases and display glitches resolved.

🔒 Security

  • Atomic Settings Writes: Config file writes use temp file + rename — no more corruption on power loss.
  • Secure Temp Directories: All temp dirs use mktemp with random names (prevents symlink attacks).
  • Pipeline Error Detection: set -eo pipefail catches failures in piped commands.
  • Docker Stats Timeout: timeout 10 on docker stats prevents indefinite hangs.
  • Silent Bot Token Input: Telegram token is not echoed to terminal during setup.
  • Chat ID Validation: Numeric-only validation prevents injection in Telegram chat IDs.
  • Restricted PID Permissions: PID files created with mode 600.
  • OPSEC Warning: Setup wizard warns operators in censored regions about Telegram metadata.
  • Curl Safety Limits: All curl calls include --max-filesize and --max-time.

⬆️ Seamless Upgrade from v1.1

Existing users do not need to reinstall. Just run the update command or use Option 8 from the menu. All containers, settings, Telegram config, and node identity keys are preserved automatically. The new resource limits default to unlimited (same behavior as before) until you configure them.

💡 Tip for existing users: After updating, check out Settings & Tools (Option 9) to set up Telegram notifications and configure resource limits for your containers.


📥 How to Update

Simply run the installer again:

curl -sL https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh | sudo bash