# 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 Map | Advanced Stats | |:-:|:-:| |  |  | ## 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.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 - **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 - **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 - **Auto-Update** — Background version check with update badge, optional automatic updates every 48h via cron - **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 - **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 - **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 - **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 with inline keyboards and QR delivery - **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 - **Health Checks** — Comprehensive diagnostics for troubleshooting - **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) ``` ### 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) ``` ### 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 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) | | **s** | Snowflake proxy — status, start/stop, resource configuration | | **p** | Telegram MTProto Proxy — setup, share link & QR, send to Telegram, resource config | | **a** | Advanced stats — top 5 charts for peers, download, upload, unique IPs | | **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 ---