Commit Graph

89 Commits

Author SHA1 Message Date
SamNet-dev
972dee6a3e Add per-container resource limits and optimize TUI performance
Features:
- Per-container CPU and memory limits via Settings menu
- Resource limit prompts when adding containers in Container Management
- Smart defaults based on system specs (cores, RAM)
- Limits persist in settings.conf and apply on container create/recreate
- Settings table shows CPU/Memory columns alongside max-clients/bandwidth
- Resource limit changes detected on restart/start, triggering container recreation

Performance optimizations:
- Parallelize all docker logs calls across containers (background jobs)
- Run docker stats, system stats, and net speed concurrently
- Batch docker inspect calls instead of per-container
- Parallel container stop/remove with -t 3 timeout (was 10s default)
- All screens optimized: Status, Container Management, Advanced Stats, Live Peers

Bug fixes:
- Normalize grep pattern to [STATS] across all screens
- Clean temp dirs before reuse to prevent stale data reads
- Check exit status on container remove operations

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-30 15:26:50 -06:00
SamNet-dev
5965874d3f Add Telegram container management, self-updating script, enhanced reports
- Add /containers command: per-container status with peers, data up/down
- Add /restart_N, /stop_N, /start_N commands for remote container control
- Add /uptime command: per-container uptime + 24h availability
- Self-updating script: menu option downloads latest conduit.sh from GitHub
- Add --update-components flag for script/tracker/telegram regeneration
- Extract recreate_containers() for reusable container recreation
- Interactive Docker image update with user confirmation
- 24h availability window instead of all-time percentage
- Uptime streak tracking in reports
- Container restart counts in reports
- Top countries by connected peers section
- Separate "Top by upload" vs "Top by peers" in reports
- Defensive variable defaults (CONTAINER_COUNT, DATA_CAP_GB)
- Fix get_container_name in Telegram script (conduit-N not conduitN)
2026-01-30 14:16:00 -06:00
SamNet-dev
3c36c0d23a Simplify peers view: show only current clients per country
- Rename Telegram "Active clients" to "Unique IPs served"
- Remove cumulative IP count from peers view columns
- Show only estimated current clients per country
2026-01-30 12:49:26 -06:00
SamNet-dev
a82f108760 Clarify traffic labels: current session vs cumulative
- Traffic header now says "current session" to indicate it resets on restart
- TOP 5 UPLOAD header now says "cumulative" to show it persists across restarts
2026-01-30 11:08:49 -06:00
SamNet-dev
381d1e4ed4 Fix input/output error infinite loop on broken /dev/tty
- Install menu: exit cleanly instead of looping forever when terminal unavailable
- Container management: detect instant read failures vs normal 5s timeout refresh
2026-01-30 10:54:25 -06:00
SamNet-dev
8d7fa411f9 Add server label, IP identification, and wall-clock report scheduling
- Prepend server label + public IP to all Telegram messages (multi-server support)
- Configurable server label via menu option 8 (defaults to hostname)
- Wall-clock aligned report scheduling with configurable start hour
- Start hour selection in both interval menu and setup wizard
- Markdown-escape server label in both main and standalone scripts
- Preserve start hour and server label on wizard cancel/failure paths
2026-01-30 10:37:47 -06:00
SamNet-dev
e5fcb6042a Phase 1: Telegram bot expansion, smart restart, bug fixes
New features:
- Uptime tracking with availability % in reports
- Alert system (CPU/RAM >90%, all containers down, zero peers 2h)
- Daily and weekly summary reports with bandwidth/peers/uptime stats
- Telegram bot commands (/status, /peers, /help)
- Toggle menu for alerts, daily/weekly summaries (options 5-7)
- Health check: tracker service, tcpdump, GeoIP, data validation
- Cumulative data log rotation with monthly archives (3-month retention)

Improvements:
- Smart restart: only recreate containers when settings change
- Stopped containers resumed with docker start instead of recreate
- Upgrade path regenerates Telegram script automatically
- Update conduit backs up tracker data and refreshes Telegram service
- Daily/weekly summary timestamps persist across service restarts

Bug fixes:
- Empty container list no longer triggers docker stats on all host containers
- process_commands recovers from malformed Telegram API responses
- Tracker service stopped before data backup to prevent write races
- Docker logs calls wrapped with timeout to prevent hangs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 10:12:25 -06:00
SamNet-dev
9a73ef5836 Add tracker restart option in settings, auto-regenerate tracker on upgrade 2026-01-30 08:48:24 -06:00
SamNet-dev
4defa70da0 Fix integer comparison error in Telegram report when no containers match 2026-01-30 00:58:54 -06:00
SamNet-dev
639e6fe6b1 v1.2-Beta: Telegram notifications, bug fixes, compact number display 2026-01-30 00:50:46 -06:00
SamNet-dev
35ea7bf256 Add auto-restart for stuck containers, tracker service fix, data cap signal 2026-01-29 20:15:48 -06:00
SamNet-dev
827c8d2e71 Fix false WAITING status in health check for connected containers without stats 2026-01-29 19:21:56 -06:00
SamNet-dev
72dee2fb3f Fix container management bugs: start/stop/restart logic
- Fix [s] Start in container menu to resume stopped containers with
  docker start instead of docker run (name already in use error)
- Add safety check in run_conduit_container() to remove existing
  containers before docker run to prevent conflicts
- Fix [t] Stop and [x] Restart to check exit codes and show accurate status
- Add warning in main menu Start (option 5) when recreating stopped containers
2026-01-29 19:04:35 -06:00
SamNet-dev
9680fad2e8 fix: Multiple bug fixes for TUI stability and correctness 2026-01-29 17:32:36 -06:00
Sam
1dabf99fa8 Fix duplicate country entries 2026-01-29 09:59:16 -06:00
Sam
49372521d2 Fix duplicate country entries, broaden GeoIP name normalization 2026-01-29 09:09:05 -06:00
Sam
2580d3302a TUI improvement 2026-01-29 06:56:18 -06:00
Sam
f6a22c0b37 Improved health check logic 2026-01-29 06:42:08 -06:00
Sam
408edcf5ea Tracker data backup/restore, manage menu improvements, health check fix
- Auto backup/restore tracker data on container restart (Option 7)
- Periodic tracker backup every 3 hours
- Manage containers: start/stop/restart now supports 'all'
- Fixed health check showing false WAITING with active clients
2026-01-29 06:25:54 -06:00
Sam
f3fb0859b4 Fix tracker arithmetic overflow. Please restart Conduit (Option 7) to apply. 2026-01-29 05:04:52 -06:00
Sam
a66e48a8ea Fix tracker arithmetic overflow + performance optimizations. Please restart Conduit (Option 7) to apply. 2026-01-29 04:57:18 -06:00
Sam
a6db1beaab TUI is now more optimized 2026-01-29 01:46:17 -06:00
Sam
1ab375593d logic improvements 2026-01-29 00:21:00 -06:00
Sam
b03aae3461 Optimized background tracker 2026-01-29 00:13:11 -06:00
Sam
9b600a4dd1 v1.1 patch - log rotation added 2026-01-28 22:48:13 -06:00
Sam
cb62da4c6e Full Update to v1.1: README and conduit script 2026-01-28 21:59:28 -06:00
SamNet-dev
5e50817434 Conduit Manager v1.0.2 (Full Update) 2026-01-26 06:26:32 -06:00
SamNet-dev
3f41bcdd1e Hardened v1.0.1: Added Network Bandwidth monitor, fixed Log Viewer Ctrl+C, and improved CPU precision. 2026-01-26 02:42:31 -06:00
SamNet-dev
b1c073b73a Hardened v1.0.1: Accurate activity labels, CPU precision fix, and improved menu responsiveness. 2026-01-26 02:17:23 -06:00
SamNet-dev
8108be7700 Hardened dependencies, added space-safe path quoting, and improved Rocky Linux/RHEL 9 support. 2026-01-26 01:43:51 -06:00
SamNet-dev
95ad17323e fix: final purge of all merge conflict markers 2026-01-25 20:56:22 -06:00
SamNet-dev
d9a9113494 GeoIP feature 2026-01-25 20:51:03 -06:00
SamNet-dev
bd45862be3 feat: add live peer connections dashboard & #FreeIran 2026-01-25 20:48:13 -06:00
SamNet-dev
3da4c69367 Implement flicker-free soft updates for live dashboard 2026-01-25 16:36:40 -06:00
SamNet-dev
a8a704738c Fix live dashboard duplication and input handling when piped 2026-01-25 16:31:14 -06:00
0bf8617786 Update to Psiphon Conduit Manager v1.0.1
- UI Polish: Restored Rocket emoji 🚀 to headers and streamlined menu text.
- Resource Usage Layout: Updated dashboard to a 3-row layout (App, System, Total).
- System Stats Fix: Fixed System CPU calculation to show instantaneous usage.
- App Stats Normalization: Fixed App CPU to show percentage of Total System Capacity. Added (Raw% vCPU) display for multi-core clarity.
- Live Stats Fix: Increased log buffer to 2500 lines to prevent execution hangs in verbose mode.
- Performance: Optimized dashboard refresh rate to 5 seconds.
2026-01-25 15:53:21 -06:00
d6278997c4 Updated info 2026-01-25 10:48:57 -06:00
44d39b1782 Fix dashboard UI corruption and enhance stats display
- UI Fixes: Fixed dashboard corruption, ghost characters ("MBKB"), and header misalignment using tput and printf.

- Stats: Added "Connecting" count and "Uptime" to live view.

- Stability: Increased log search depth to 1000 lines to prevent "Waiting for stats" hang.
2026-01-25 10:42:28 -06:00
Sam
77bda1117d Initial release: Psiphon Conduit Manager v1.0.0 2026-01-24 06:33:39 -06:00