feat: v1.3 — Snowflake proxy, multi-server dashboard, non-root SSH, audit fixes
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
This commit is contained in:
85
README.md
85
README.md
@@ -10,7 +10,7 @@
|
|||||||
M A N A G E R
|
M A N A G E R
|
||||||
```
|
```
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
@@ -41,29 +41,19 @@ wget https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.s
|
|||||||
sudo bash conduit.sh
|
sudo bash conduit.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
## What's New in v1.2.1
|
## What's New in v1.3
|
||||||
|
|
||||||
- **Peak & Average Tracking** — Dashboard shows peak and average connected clients since container start
|
- **Snowflake Proxy Integration** — Built-in Tor Snowflake proxy with dual-instance support, resource configuration, and traffic monitoring
|
||||||
- **Connection History** — See client counts from 6h, 12h, and 24h ago on the dashboard
|
- **Multi-Server Dashboard** — Manage up to 9 remote servers from one TUI with live status, bulk actions, and per-server controls
|
||||||
- **24/7 Background Recording** — Tracker records connection stats even when dashboard is closed
|
- **Remote Server Management** — Add, edit, and remove servers with SSH key or password authentication
|
||||||
- **Temporal Sampling** — Tracker captures 15s, sleeps 15s, multiplies by 2x for ~40-50% CPU reduction
|
- **Encrypted Credential Storage** — AES-256-CBC encrypted password storage with automatic sshpass management
|
||||||
- **CPU Temperature Display** — System CPU load now shows temperature when available
|
- **Non-Root SSH Support** — Automatic sudo prefix for non-root remote users with passwordless sudo verification
|
||||||
- **Unlimited Containers** — Removed 5-container limit, scale based on your hardware
|
- **Telegram Bot Enhancements** — Inline keyboards, QR code delivery, system CPU/temp/RAM in reports, new commands (`/restart_all`, `/start_all`, `/stop_all`, `/settings`, `/update`, `/health`, `/logs_N`, `/qr`)
|
||||||
- **Tracker Toggle** — Option to disable tracker for additional CPU savings
|
- **Dashboard Improvements** — Cleaner local section, upload/download columns, combined CPU(temp) display, fixed border alignment
|
||||||
- **Smart Data Reset** — Peak, average, and history reset only when ALL containers restart
|
- **Info & Help Pages** — New Snowflake Proxy explainer and Safety & Legal information pages
|
||||||
- **New Info Page** — Added "Peak, Average & Client History" guide explaining all stats
|
- **GeoIP Management** — Manual GeoIP database updates via CLI
|
||||||
|
- **New CLI Commands** — `conduit dashboard`, `conduit add-server`, `conduit remove-server`, `conduit servers`, `conduit snowflake`, `conduit update-geoip`
|
||||||
## What's New in v1.2
|
- **System Metrics in Reports** — CPU usage, temperature, and RAM in status JSON and Telegram notifications
|
||||||
|
|
||||||
- **Per-Container Resource Limits** — Set CPU and memory limits per container via Settings menu with smart defaults
|
|
||||||
- **Telegram Bot Integration** — Periodic status reports, alerts, and commands (`/status`, `/peers`, `/uptime`, `/containers`, `/restart_N`, `/stop_N`, `/start_N`)
|
|
||||||
- **Systemd Notification Service** — Telegram bot runs as a systemd service, survives reboots and TUI exits
|
|
||||||
- **Performance Overhaul** — Parallelized docker commands across all TUI screens, reduced refresh from ~10s to ~2-3s
|
|
||||||
- **Compact Number Display** — Large counts show as 16.5K, 1.2M
|
|
||||||
- **Active Clients Count** — Connected and connecting peers in dashboard and Telegram reports
|
|
||||||
- **Atomic Config Writes** — Settings file writes are now crash-safe
|
|
||||||
- **Secure Temp Directories** — All temp dirs use `mktemp` for secure random names
|
|
||||||
- **20+ Bug Fixes** — TUI stability, health check edge cases, Telegram escaping, peer count consistency, and more
|
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
@@ -71,18 +61,22 @@ sudo bash conduit.sh
|
|||||||
- **Scalable Containers** — Run unlimited containers based on your server's capacity
|
- **Scalable Containers** — Run unlimited containers based on your server's capacity
|
||||||
- **Multi-Distro Support** — Works on Ubuntu, Debian, CentOS, Fedora, Arch, Alpine, openSUSE
|
- **Multi-Distro Support** — Works on Ubuntu, Debian, CentOS, Fedora, Arch, Alpine, openSUSE
|
||||||
- **Auto-Start on Boot** — Supports systemd, OpenRC, and SysVinit
|
- **Auto-Start on Boot** — Supports systemd, OpenRC, and SysVinit
|
||||||
|
- **Snowflake Proxy** — Built-in Tor Snowflake proxy with dual-instance support and resource management
|
||||||
|
- **Multi-Server Dashboard** — Manage up to 9 remote servers from one TUI with live refresh and bulk actions
|
||||||
|
- **Remote Server Management** — SSH key and encrypted password authentication with ControlMaster persistent connections
|
||||||
- **Live Dashboard** — Real-time stats with peak, average, CPU/RAM, temperature, and per-country breakdown
|
- **Live Dashboard** — Real-time stats with peak, average, CPU/RAM, temperature, and per-country breakdown
|
||||||
- **Connection History** — Track client counts over time with 6h, 12h, 24h snapshots
|
- **Connection History** — Track client counts over time with 6h, 12h, 24h snapshots
|
||||||
- **Advanced Stats** — Top countries by connected peers, download, upload, and unique IPs with bar charts
|
- **Advanced Stats** — Top countries by connected peers, download, upload, and unique IPs with bar charts
|
||||||
- **Live Peer Traffic** — Real-time traffic table by country with speed, total bytes, and IP/client counts
|
- **Live Peer Traffic** — Real-time traffic table by country with speed, total bytes, and IP/client counts
|
||||||
- **Background Tracker** — 24/7 traffic and connection monitoring via systemd service with GeoIP resolution
|
- **Background Tracker** — 24/7 traffic and connection monitoring via systemd service with GeoIP resolution
|
||||||
- **Telegram Bot** — On-demand `/status`, `/peers`, `/uptime`, `/containers` and remote container management via Telegram
|
- **Telegram Bot** — On-demand `/status`, `/peers`, `/uptime`, `/containers` and remote container management via Telegram with inline keyboards and QR delivery
|
||||||
- **Per-Container Settings** — Configure max-clients, bandwidth, CPU, and memory per container
|
- **Per-Container Settings** — Configure max-clients, bandwidth, CPU, and memory per container
|
||||||
- **Resource Limits** — Set CPU and memory limits with smart defaults based on system specs
|
- **Resource Limits** — Set CPU and memory limits with smart defaults based on system specs
|
||||||
- **Easy Management** — Powerful CLI commands or interactive menu
|
- **Easy Management** — Powerful CLI commands or interactive menu
|
||||||
- **Backup & Restore** — Backup and restore your node identity keys
|
- **Backup & Restore** — Backup and restore your node identity keys
|
||||||
- **Health Checks** — Comprehensive diagnostics for troubleshooting
|
- **Health Checks** — Comprehensive diagnostics for troubleshooting
|
||||||
- **Info & Help** — Built-in multi-page guide explaining traffic, stats, and how everything works
|
- **Info & Help** — Built-in guides covering traffic, stats, Snowflake proxy, and safety & legal information
|
||||||
|
- **Safety & Legal Info** — Built-in pages explaining the legal protections and safety of running a node
|
||||||
- **Complete Uninstall** — Clean removal of all components including Telegram service
|
- **Complete Uninstall** — Clean removal of all components including Telegram service
|
||||||
|
|
||||||
## Supported Distributions
|
## Supported Distributions
|
||||||
@@ -280,28 +274,19 @@ wget https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.s
|
|||||||
sudo bash conduit.sh
|
sudo bash conduit.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
## تازههای نسخه 1.2.1
|
## تازههای نسخه 1.3
|
||||||
|
|
||||||
- **ردیابی پیک و میانگین** — نمایش بیشترین و میانگین کلاینتهای متصل از زمان شروع کانتینر
|
- **پروکسی اسنوفلیک** — پروکسی Snowflake تور با پشتیبانی دو نمونه، پیکربندی منابع و مانیتورینگ ترافیک
|
||||||
- **تاریخچه اتصال** — مشاهده تعداد کلاینتها در ۶، ۱۲ و ۲۴ ساعت گذشته
|
- **داشبورد چند سرور** — مدیریت تا ۹ سرور ریموت از یک صفحه با وضعیت زنده، عملیات گروهی و کنترل هر سرور
|
||||||
- **ضبط ۲۴/۷ پسزمینه** — ردیاب آمار اتصال را حتی وقتی داشبورد بسته است ثبت میکند
|
- **مدیریت سرور ریموت** — اضافه، ویرایش و حذف سرور با احراز هویت کلید SSH یا رمز عبور
|
||||||
- **نمونهبرداری زمانی** — ردیاب ۱۵ ثانیه ضبط، ۱۵ ثانیه استراحت با ضریب ۲ برای ~۴۰-۵۰٪ کاهش CPU
|
- **ذخیره رمزنگاریشده اعتبارنامه** — رمزنگاری AES-256-CBC برای رمز عبور با مدیریت خودکار sshpass
|
||||||
- **نمایش دمای CPU** — نمایش دما در کنار مصرف CPU سیستم
|
- **پشتیبانی SSH غیر root** — افزودن خودکار sudo برای کاربران غیر root با تأیید sudo بدون رمز
|
||||||
- **کانتینر نامحدود** — حذف محدودیت ۵ کانتینر، مقیاسبندی بر اساس سختافزار
|
- **بهبود ربات تلگرام** — دکمههای اینلاین، ارسال QR کد، CPU/دما/RAM سیستم در گزارشها، دستورات جدید (`/restart_all`، `/start_all`، `/stop_all`، `/settings`، `/update`، `/health`، `/logs_N`، `/qr`)
|
||||||
- **غیرفعالسازی ردیاب** — گزینه خاموش کردن ردیاب برای صرفهجویی بیشتر CPU
|
- **بهبود داشبورد** — بخش محلی تمیزتر، ستونهای آپلود/دانلود، نمایش ترکیبی CPU(دما)، اصلاح حاشیهها
|
||||||
- **ریست هوشمند داده** — پیک، میانگین و تاریخچه فقط وقتی همه کانتینرها ریستارت شوند ریست میشوند
|
- **صفحات اطلاعات جدید** — صفحه توضیح پروکسی اسنوفلیک و اطلاعات ایمنی و حقوقی
|
||||||
- **صفحه راهنمای جدید** — توضیح پیک، میانگین و تاریخچه کلاینتها
|
- **مدیریت GeoIP** — بهروزرسانی دستی پایگاه داده GeoIP از CLI
|
||||||
|
- **دستورات جدید CLI** — `conduit dashboard`، `conduit add-server`، `conduit remove-server`، `conduit servers`، `conduit snowflake`، `conduit update-geoip`
|
||||||
## تازههای نسخه 1.2
|
- **معیارهای سیستم در گزارشها** — مصرف CPU، دما و RAM در JSON وضعیت و اعلانهای تلگرام
|
||||||
|
|
||||||
- **محدودیت منابع هر کانتینر** — تنظیم محدودیت CPU و حافظه برای هر کانتینر با پیشفرضهای هوشمند
|
|
||||||
- **ربات تلگرام** — گزارشهای دورهای، هشدارها و دستورات (`/status`، `/peers`، `/uptime`، `/containers`، `/restart_N`، `/stop_N`، `/start_N`)
|
|
||||||
- **سرویس اعلان سیستمی** — ربات تلگرام به عنوان سرویس systemd اجرا میشود و پس از ریستارت سرور فعال میماند
|
|
||||||
- **بهبود عملکرد** — دستورات داکر به صورت موازی اجرا شده، زمان رفرش از ~۱۰ ثانیه به ~۲-۳ ثانیه کاهش یافته
|
|
||||||
- **نمایش فشرده اعداد** — اعداد بزرگ به صورت 16.5K و 1.2M نمایش داده میشوند
|
|
||||||
- **شمارش کلاینتهای فعال** — تعداد متصل و در حال اتصال در داشبورد و گزارش تلگرام
|
|
||||||
- **ذخیره امن تنظیمات** — نوشتن فایل تنظیمات به صورت اتمیک برای جلوگیری از خرابی
|
|
||||||
- **۲۰+ رفع باگ** — پایداری رابط کاربری، بررسی سلامت، فرمت تلگرام، هماهنگی تعداد کاربران و موارد دیگر
|
|
||||||
|
|
||||||
## ویژگیها
|
## ویژگیها
|
||||||
|
|
||||||
@@ -309,18 +294,22 @@ sudo bash conduit.sh
|
|||||||
- **مقیاسپذیری نامحدود** — اجرای کانتینرهای نامحدود بر اساس ظرفیت سرور
|
- **مقیاسپذیری نامحدود** — اجرای کانتینرهای نامحدود بر اساس ظرفیت سرور
|
||||||
- **پشتیبانی از توزیعهای مختلف** — اوبونتو، دبیان، سنتاواس، فدورا، آرچ، آلپاین، اوپنسوزه
|
- **پشتیبانی از توزیعهای مختلف** — اوبونتو، دبیان، سنتاواس، فدورا، آرچ، آلپاین، اوپنسوزه
|
||||||
- **راهاندازی خودکار** — پس از ریستارت سرور، سرویس به صورت خودکار اجرا میشود
|
- **راهاندازی خودکار** — پس از ریستارت سرور، سرویس به صورت خودکار اجرا میشود
|
||||||
|
- **پروکسی اسنوفلیک** — پروکسی Snowflake تور با پشتیبانی دو نمونه و مدیریت منابع
|
||||||
|
- **داشبورد چند سرور** — مدیریت تا ۹ سرور ریموت با رفرش زنده و عملیات گروهی
|
||||||
|
- **مدیریت سرور ریموت** — احراز هویت کلید SSH و رمز عبور رمزنگاریشده با اتصال پایدار ControlMaster
|
||||||
- **داشبورد زنده** — نمایش لحظهای پیک، میانگین، CPU، RAM، دما و تفکیک کشوری
|
- **داشبورد زنده** — نمایش لحظهای پیک، میانگین، CPU، RAM، دما و تفکیک کشوری
|
||||||
- **تاریخچه اتصال** — ردیابی تعداد کلاینتها با اسنپشات ۶، ۱۲ و ۲۴ ساعته
|
- **تاریخچه اتصال** — ردیابی تعداد کلاینتها با اسنپشات ۶، ۱۲ و ۲۴ ساعته
|
||||||
- **آمار پیشرفته** — نمودار میلهای برترین کشورها بر اساس اتصال، دانلود، آپلود و IP
|
- **آمار پیشرفته** — نمودار میلهای برترین کشورها بر اساس اتصال، دانلود، آپلود و IP
|
||||||
- **مانیتورینگ ترافیک** — جدول لحظهای ترافیک بر اساس کشور با سرعت و تعداد کلاینت
|
- **مانیتورینگ ترافیک** — جدول لحظهای ترافیک بر اساس کشور با سرعت و تعداد کلاینت
|
||||||
- **ردیاب پسزمینه** — سرویس ردیابی ۲۴/۷ ترافیک و اتصالات با تشخیص جغرافیایی
|
- **ردیاب پسزمینه** — سرویس ردیابی ۲۴/۷ ترافیک و اتصالات با تشخیص جغرافیایی
|
||||||
- **ربات تلگرام** — دستورات `/status`، `/peers`، `/uptime`، `/containers` و مدیریت کانتینر از راه دور (اختیاری)
|
- **ربات تلگرام** — دستورات `/status`، `/peers`، `/uptime`، `/containers` و مدیریت کانتینر از راه دور با دکمههای اینلاین و ارسال QR کد
|
||||||
- **تنظیمات هر کانتینر** — پیکربندی حداکثر کاربران، پهنای باند، CPU و حافظه برای هر کانتینر
|
- **تنظیمات هر کانتینر** — پیکربندی حداکثر کاربران، پهنای باند، CPU و حافظه برای هر کانتینر
|
||||||
- **محدودیت منابع** — تنظیم محدودیت CPU و حافظه با پیشفرضهای هوشمند
|
- **محدودیت منابع** — تنظیم محدودیت CPU و حافظه با پیشفرضهای هوشمند
|
||||||
- **مدیریت آسان** — دستورات قدرتمند CLI یا منوی تعاملی
|
- **مدیریت آسان** — دستورات قدرتمند CLI یا منوی تعاملی
|
||||||
- **پشتیبانگیری و بازیابی** — پشتیبانگیری و بازیابی کلیدهای هویت نود
|
- **پشتیبانگیری و بازیابی** — پشتیبانگیری و بازیابی کلیدهای هویت نود
|
||||||
- **بررسی سلامت** — تشخیص جامع برای عیبیابی
|
- **بررسی سلامت** — تشخیص جامع برای عیبیابی
|
||||||
- **راهنما و اطلاعات** — راهنمای چندصفحهای توضیح ترافیک، آمار و نحوه کارکرد
|
- **راهنما و اطلاعات** — راهنمای چندصفحهای شامل ترافیک، آمار، پروکسی اسنوفلیک و اطلاعات ایمنی و حقوقی
|
||||||
|
- **اطلاعات ایمنی و حقوقی** — صفحات توضیح حفاظت قانونی و ایمنی اجرای نود
|
||||||
- **حذف کامل** — پاکسازی تمام فایلها و تنظیمات شامل سرویس تلگرام
|
- **حذف کامل** — پاکسازی تمام فایلها و تنظیمات شامل سرویس تلگرام
|
||||||
|
|
||||||
## پشتیبانی از macOS
|
## پشتیبانی از macOS
|
||||||
|
|||||||
3566
conduit.sh
3566
conduit.sh
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user