# Conduit Manager ``` ██████╗ ██████╗ ███╗ ██╗██████╗ ██╗ ██╗██╗████████╗ ██╔════╝██╔═══██╗████╗ ██║██╔══██╗██║ ██║██║╚══██╔══╝ ██║ ██║ ██║██╔██╗ ██║██║ ██║██║ ██║██║ ██║ ██║ ██║ ██║██║╚██╗██║██║ ██║██║ ██║██║ ██║ ╚██████╗╚██████╔╝██║ ╚████║██████╔╝╚██████╔╝██║ ██║ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝ M A N A G E R ```      A powerful management tool for deploying and managing Psiphon Conduit nodes on Linux servers. Help users access the open internet during network restrictions. ## Screenshots | Main Menu | Live Dashboard | |:-:|:-:| |  |  | | Live Peers | Advanced Stats | |:-:|:-:| |  |  | | Iran Connectivity Status | Iran Connectivity Test | |:-:|:-:| |  |  | | Psiphon Network Stats | Info & Help | |:-:|:-:| |  |  | ## Quick Install ```bash curl -sL https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh | sudo bash ``` Or download and run manually: ```bash wget https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh sudo bash conduit.sh ``` ## What's New in v1.3.3 - **Iran Connectivity Status** — Real-time Iran internet monitoring dashboard with data from IODA (BGP reachability), OONI (censorship detection), irinter.net (connectivity score), and optional Cloudflare Radar. Auto-refresh every hour with 7-day charts, outage alerts, and circumvention tool reachability (Psiphon, Tor) - **Iran Connectivity Test** — Comprehensive network diagnostics testing 88 servers across 24 Iranian cities. Includes Quick Test (latency to all servers), Full Report (detailed per-server analysis with quality grading), Stability Test (multi-round jitter analysis), and MTU Path Discovery (binary search across 10 networks) - **Psiphon Network Stats** — Global Psiphon network analytics with daily connected users, bytes transferred, running proxies, and country distribution charts with vertical bar graphs and horizontal bar rankings - **Dual Status Indicator** — Iran status page shows both irinter.net connectivity percentage and IODA BGP reachability score simultaneously with independent color coding - **Smart Quality Scoring** — Tiered latency penalty system for accurate quality grades: A+ to F based on reachability, latency, and consistency with thresholds tuned for international testing - **MTU Path Discovery** — Network path MTU detection using binary search with Don't Fragment flag across 8 Iranian ISPs and 2 international endpoints - **24-City Iran Coverage** — Expanded from 18 to 24 cities with 88 test servers covering Tehran, Isfahan, Tabriz, Shiraz, Mashhad, Ahvaz, Kerman, Rasht, Yazd, Qom, Karaj, Arak, Gorgan, Sari, Zahedan, Zanjan, Bushehr, Khorramabad, Hamadan, Qazvin, Urmia, Sanandaj, Bandar Abbas, and Kermanshah ### v1.3.1 - **Telegram MTProto Proxy** — Built-in MTProto proxy (mtg v2) with fake-TLS, share link & QR code, send to Telegram bot, resource configuration, and traffic monitoring - **Auto-Update Checker** — Background version check with update badge on menu, optional automatic updates every 48h via cron - **Multi-Server Dashboard Pagination** — Dashboard now supports 30 servers with page navigation (`[`/`]` keys), up from 9 - **Remote Server Deployment** — Install and configure Conduit on remote servers directly from the dashboard - **MTProto in Status** — MTProxy status and traffic shown in the main live dashboard when enabled - **Update Concurrency Guard** — Prevents simultaneous manual + cron updates with flock advisory locking ### v1.3 - **Snowflake Proxy Integration** — Built-in Tor Snowflake proxy with dual-instance support, resource configuration, and traffic monitoring - **Multi-Server Dashboard** — Manage up to 30 remote servers from one TUI with live status, bulk actions, and per-server controls - **Remote Server Management** — Add, edit, and remove servers with SSH key or password authentication - **Encrypted Credential Storage** — AES-256-CBC encrypted password storage with automatic sshpass management - **Non-Root SSH Support** — Automatic sudo prefix for non-root remote users with passwordless sudo verification - **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`) - **Dashboard Improvements** — Cleaner local section, upload/download columns, combined CPU(temp) display, fixed border alignment - **Info & Help Pages** — New Snowflake Proxy explainer and Safety & Legal information pages - **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` - **System Metrics in Reports** — CPU usage, temperature, and RAM in status JSON and Telegram notifications ## Features ### Data Analytics & Network Intelligence - **Iran Connectivity Status** — Real-time internet monitoring with IODA BGP reachability, OONI censorship data, irinter.net connectivity score, and optional Cloudflare Radar traffic metrics. 7-day charts, outage alerts, and circumvention tool success rates with auto-refresh - **Iran Connectivity Test** — Network diagnostics suite with 88 servers across 24 Iranian cities. Quick Test (parallel latency scan), Full Report (per-server quality grades A+ to F), Stability Test (multi-round jitter analysis), and MTU Path Discovery (binary search across 10 networks) - **Psiphon Network Stats** — Global Psiphon network analytics dashboard with daily connected users, bytes transferred, running proxies, and country distribution. Vertical bar charts for 30-day trends and horizontal bar rankings for top regions - **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 ### Core Management - **One-Click Deployment** — Automatically installs Docker and configures everything - **Scalable Containers** — Run unlimited containers based on your server's capacity - **Multi-Distro Support** — Works on Ubuntu, Debian, CentOS, Fedora, Arch, Alpine, openSUSE - **Auto-Start on Boot** — Supports systemd, OpenRC, and SysVinit - **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 - **Easy Management** — Powerful CLI commands or interactive menu - **Backup & Restore** — Backup and restore your node identity keys ### Privacy & Circumvention Tools - **Snowflake Proxy** — Built-in Tor Snowflake proxy with dual-instance support and resource management - **MTProto Proxy** — Telegram MTProto proxy (mtg v2) with fake-TLS, share link, QR code, and Telegram delivery ### Multi-Server & Remote Management - **Multi-Server Dashboard** — Manage up to 30 remote servers from one TUI with live refresh, pagination, and bulk actions - **Remote Server Management** — SSH key and encrypted password authentication with ControlMaster persistent connections ### Monitoring & Notifications - **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 - **Background Tracker** — 24/7 traffic and connection monitoring via systemd service with GeoIP resolution - **Auto-Update** — Background version check with update badge, optional automatic updates every 48h via cron - **Telegram Bot** — On-demand `/status`, `/peers`, `/uptime`, `/containers` and remote container management via Telegram with inline keyboards and QR delivery - **Health Checks** — Comprehensive diagnostics for troubleshooting ### Info & Safety - **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 ## Supported Distributions | Family | Distributions | |--------|---------------| | Debian | Ubuntu, Debian, Linux Mint, Pop!_OS, Kali, Raspbian | | RHEL | CentOS, Fedora, Rocky Linux, AlmaLinux, Amazon Linux | | Arch | Arch Linux, Manjaro, EndeavourOS | | SUSE | openSUSE Leap, openSUSE Tumbleweed | | Alpine | Alpine Linux | ## macOS Support Looking for macOS? We have a **macOS (Apple Silicon)** version available! > **[macos-edition branch](https://github.com/SamNet-dev/conduit-manager/tree/macos-edition)** — Based on v1.0.2, developed by [@PouriaCh](https://github.com/PouriaCh) Note: The Linux version (this branch) has the latest features including Telegram bot, multi-container scaling, per-container resource limits, and live dashboard. The macOS edition provides core functionality for Apple Silicon Macs. ## CLI Reference After installation, use the `conduit` command: ### Status & Monitoring ```bash conduit status # Show current status and resource usage conduit stats # View live statistics (real-time dashboard) conduit logs # View raw Docker logs conduit health # Run health check diagnostics conduit peers # Live peer traffic by country (GeoIP) conduit dashboard # Multi-server management dashboard ``` ### Data Analytics ```bash conduit iran-status # Iran internet connectivity status (IODA, OONI, irinter.net) conduit iran-test # Iran connectivity test across 88 servers in 24 cities conduit psiphon-stats # Global Psiphon network analytics ``` ### Rewards ```bash conduit qr # Show QR code to claim rewards via Ryve app ``` ### Container Management ```bash conduit start # Start all Conduit containers conduit stop # Stop all Conduit containers conduit restart # Restart all Conduit containers conduit update # Update script + Docker images (with auto-update toggle) conduit mtproto # Manage MTProto proxy (status|start|stop|restart|remove) conduit snowflake # Manage Snowflake proxy (status|start|stop|restart|remove) ``` ### Server Management ```bash conduit servers # List configured remote servers conduit add-server # Add a remote server conduit remove-server # Remove a remote server ``` ### Configuration ```bash conduit settings # Change max-clients, bandwidth, CPU, memory per container conduit menu # Open interactive management menu ``` ### Backup & Restore ```bash conduit backup # Backup your node identity keys conduit restore # Restore node identity from backup ``` ### Maintenance ```bash conduit uninstall # Remove all components conduit version # Show version information conduit update-geoip # Update GeoIP database conduit help # Show help message ``` ## Interactive Menu The interactive menu (`conduit menu`) provides access to all features: | Option | Description | |--------|-------------| | **1** | View status dashboard — real-time stats with peak, average, 6h/12h/24h history, active clients | | **2** | Live connection stats — streaming stats from Docker logs | | **3** | View logs — raw Docker log output | | **4** | Live peers by country — per-country traffic table with speed and client counts | | **5** | Start Conduit | | **6** | Stop Conduit | | **7** | Restart Conduit | | **8** | Update Conduit — script + Docker images, auto-update toggle | | **9** | Settings & Tools — resource limits, QR code, backup, restore, health check, Telegram, uninstall | | **c** | Manage containers — add or remove containers (up to 5) | | **a** | Advanced stats — top 5 charts for peers, download, upload, unique IPs | | **m** | Multi-server dashboard — manage up to 30 remote servers with live status | | **f** | Snowflake proxy — status, start/stop, resource configuration | | **p** | Telegram MTProto Proxy — setup, share link & QR, send to Telegram, resource config | | **n** | Psiphon Network Stats — global network analytics with charts and country rankings | | **e** | Iran Connectivity Status — real-time internet monitoring with IODA, OONI, irinter.net data | | **t** | Iran Connectivity Test — network diagnostics across 88 servers in 24 Iranian cities | | **i** | Info & Help — multi-page guide explaining traffic, network, stats, peak/avg/history | | **0** | Exit | ## Configuration Options | Option | Default | Range | Description | |--------|---------|-------|-------------| | `max-clients` | 200 | 1–1000 | Maximum concurrent proxy clients per container | | `bandwidth` | 5 | 1–40, -1 | Bandwidth limit per peer (Mbps). Use -1 for unlimited. | | `cpu` | Unlimited | 0.1–N cores | CPU limit per container (e.g. 1.0 = one core) | | `memory` | Unlimited | 64m–system RAM | Memory limit per container (e.g. 256m, 1g) | **Recommended values based on CPU:** | CPU Cores | Recommended Containers | Max Clients (per container) | |-----------|------------------------|-----------------------------| | 1 Core | 1 | 100 | | 2 Cores | 1–2 | 200 | | 4 Cores | 2–4 | 400 | | 8+ Cores | 4+ | 800 | > **RAM:** Minimum 512MB. For 3+ containers, 4GB+ recommended. ## Installation Options ```bash # Standard install sudo bash conduit.sh # Force reinstall sudo bash conduit.sh --reinstall # Uninstall everything sudo bash conduit.sh --uninstall # Show help sudo bash conduit.sh --help ``` ## Upgrading Just run the install command above or use `conduit update` from the menu. Existing containers are recognized automatically. Telegram settings and node identity keys are preserved across upgrades. ## Requirements - Linux server (any supported distribution) - Root/sudo access - Internet connection - Minimum 512MB RAM (1GB+ recommended for multi-container) ## How It Works 1. **Detection** — Identifies your Linux distribution and init system 2. **Docker Setup** — Installs Docker if not present 3. **Hardware Check** — Detects CPU/RAM and recommends container count 4. **Container Deployment** — Pulls and runs the official Psiphon Conduit image 5. **Auto-Start Configuration** — Sets up systemd/OpenRC/SysVinit service 6. **Tracker Service** — Starts background traffic tracker with GeoIP resolution 7. **CLI Installation** — Creates the `conduit` management command ## Claim Rewards (OAT Tokens) Conduit node operators can earn OAT tokens for contributing to the Psiphon network. To claim rewards: 1. **Install the Ryve app** on your phone 2. **Create a crypto wallet** within the app 3. **Link your Conduit containers** by scanning the QR code: - From the menu: Select Settings & Tools **Option 6 → Show QR Code & Conduit ID** - From Manage Containers: press **[q]** to display QR code - CLI: `conduit qr` 4. **Scan the QR code** with the Ryve app to link your node 5. **Monitor & earn** — the app shows your last 48 hours of connection activity and OAT token rewards > Each container has its own unique Conduit ID and QR code. If running multiple containers, you'll need to link each one separately. ## Security - **Secure Backups**: Node identity keys are stored with restricted permissions (600) - **No Telemetry**: The manager collects no data and sends nothing externally - **Local Tracking Only**: Traffic stats are stored locally and never transmitted - **Telegram Optional**: Bot notifications are opt-in only, zero resources used if disabled ---