Add Conduit client mode menu (s) to switch between serving official
Psiphon clients and Shir o Khorshid users via --compartment flag.
Supports global toggle or per-container configuration. Status dashboard
and JSON output show active client mode. Installer now waits for dpkg
lock and menu opens correctly when run via curl | bash.
- Add Telegram MTProto Proxy (mtg v2) with TOML config, fake-TLS,
share link & QR code, send to Telegram bot, resource management
- Add background auto-update checker with menu badge and optional
48h cron-based automatic updates (--auto flag)
- Add MTProxy status line in main live dashboard when enabled
- Pin mtg image to nineseconds/mtg:2.1.7 for stability
- Add flock concurrency guard to prevent simultaneous updates
- Fix MTProto container startup (switch from CLI flags to TOML config)
- Clean up orphaned config on MTProto remove and full uninstall
- Gate initial setup QR/link display on successful container start
- Remove duplicate session traffic line from MTProto submenu
- Remove extra blank line in status display for better screen fit
- Move screenshots to screenshots/ folder
- Update README with v1.3.1 features (English + Farsi)
- Bump version badge to 1.3.1
Major features:
- Snowflake proxy management with per-country stats and Prometheus metrics
- Multi-server dashboard TUI with live refresh, bulk actions, server management
- Non-root SSH support with automatic sudo prefix and passwordless sudo detection
- Data cap monitoring with per-direction (upload/download/total) enforcement
- Remote server table with CPU(temp), upload, download columns
Improvements:
- TB support in all byte formatters (format_bytes, _fmt_bytes, format_gb)
- Snowflake timeout display in detailed views, "connections served" labeling
- Stricter Docker container name matching in service status check
- check_alerts() now aggregates CPU/RAM across all containers
- Network interface detection uses keyword matching instead of fragile position
- Tracker stuck-container Telegram notification uses direct curl (standalone fix)
- Timeout exit code check corrected (SIGTERM=143, not SIGKILL=137)
- Hardened backup filename quoting in docker sh -c
- README updated for v1.3 with full English and Farsi changelogs
- Add peak connections tracking (persistent, resets on container restart)
- Add average connections display on dashboard
- Add 6h/12h/24h connection history snapshots
- Background tracker records connections 24/7 (not just when dashboard open)
- Implement temporal sampling: 15s capture, 15s sleep, 2x multiplier (~40-50% CPU reduction)
- Add info page [4] explaining Peak, Avg, and history stats
- Smart data reset: only resets when ALL containers restart
- Update README with v1.2.1 features (English & Farsi)
- Simplify RAM recommendations to focus on CPU
- Allow unlimited container count with dynamic recommendations based on CPU/RAM
- Add hard cap of 32 containers to prevent excessive scaling
- Fix regex patterns for container/volume cleanup (conduit-2, conduit-data-2, etc.)
- Clean up stale per-container settings on scale-down
- Update README recommendations
Co-authored-by: Antoine <a.bayard@live.fr>
- Atomic settings.conf writes (write to tmp, then mv)
- Secure temp dirs with mktemp (5 locations)
- Add set -eo pipefail for pipe failure detection
- Add timeout 10 to all docker stats calls
- Update version from 1.2-Beta to 1.2
- Update URL from beta-releases to main
- README updated for stable release