181 lines
7.8 KiB
Markdown
181 lines
7.8 KiB
Markdown
# 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.
|
||
|
||
## Quick Install (Beta)
|
||
|
||
```bash
|
||
curl -sL https://raw.githubusercontent.com/SamNet-dev/conduit-manager/beta-releases/conduit.sh | sudo bash
|
||
```
|
||
|
||
Or download and run manually:
|
||
|
||
```bash
|
||
wget https://raw.githubusercontent.com/SamNet-dev/conduit-manager/beta-releases/conduit.sh
|
||
sudo bash conduit.sh
|
||
```
|
||
|
||
> For stable release, use `main` instead of `beta-releases` in the URL above.
|
||
|
||
## v1.2-Beta Changelog
|
||
|
||
> This list will grow as more features are added before the full v1.2 release.
|
||
|
||
**New Features**
|
||
- Per-container CPU and memory resource limits via Settings menu
|
||
- Resource limit prompts when adding containers in Container Management
|
||
- Smart defaults based on system specs (CPU cores, RAM)
|
||
- Telegram bot container management commands (`/containers`, `/restart_N`, `/stop_N`, `/start_N`)
|
||
- Telegram bot notifications with guided setup wizard (periodic status reports via Telegram)
|
||
- Systemd-based notification service (survives reboots and TUI exits)
|
||
- Compact number display — large counts show as 16.5K, 1.2M
|
||
- Active clients count in dashboard and Telegram reports
|
||
- Total bandwidth served in reports
|
||
- Timestamps on all Telegram reports
|
||
|
||
**Performance**
|
||
- Parallelized docker commands across all TUI screens (Status, Container Management, Advanced Stats, Live Peers)
|
||
- Batched docker inspect calls instead of per-container
|
||
- Parallel container stop/remove operations
|
||
- Reduced screen refresh time from ~10s to ~2-3s with multiple containers
|
||
|
||
**Bug Fixes**
|
||
- Auto-restart for stuck containers with improved detection
|
||
- False WAITING status in health check for connected containers without stats
|
||
- Container start/stop/restart logic with resource limit change detection
|
||
- Duplicate country entries in GeoIP data with broader name normalization
|
||
- TUI stability (multiple fixes)
|
||
- Health check edge cases
|
||
- CPU normalization in reports (divide by core count)
|
||
- Peers count consistency across views
|
||
- Telegram markdown escaping (backslash handling)
|
||
- Telegram container name mismatch (`conduit2` → `conduit-2`)
|
||
- Wizard failure paths now preserve existing config
|
||
- Uninstall cleanup for Telegram service
|
||
- Menu no longer restarts notification loop on every open
|
||
- PID management for background processes
|
||
- Consistent `[STATS]` grep pattern across all screens
|
||
- Temp dir cleanup to prevent stale data reads
|
||
|
||
**Security**
|
||
- Silent bot token input (not echoed)
|
||
- Numeric-only chat ID validation
|
||
- Restricted PID file permissions (600)
|
||
- BotFather privacy guidance in setup wizard
|
||
- OPSEC warning for operators in censored regions
|
||
- Curl calls with `--max-filesize` and `--max-time` limits
|
||
|
||
## Features
|
||
|
||
- **One-Click Deployment** — Automatically installs Docker and configures everything
|
||
- **Multi-Container Scaling** — Run 1–5 containers to maximize 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
|
||
- **Live Dashboard** — Real-time connection stats with CPU/RAM monitoring and per-country client breakdown
|
||
- **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** — Continuous traffic monitoring via systemd service with GeoIP resolution
|
||
- **Telegram Notifications** — Optional periodic status reports and alerts via Telegram bot
|
||
- **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
|
||
- **Backup & Restore** — Backup and restore your node identity keys
|
||
- **Health Checks** — Comprehensive diagnostics for troubleshooting
|
||
- **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 |
|
||
|
||
## CLI Reference
|
||
|
||
After installation, use the `conduit` command:
|
||
|
||
```bash
|
||
conduit menu # Open interactive management menu
|
||
conduit status # Show current status
|
||
conduit stats # Live statistics dashboard
|
||
conduit peers # Live peer traffic by country
|
||
conduit start # Start all containers
|
||
conduit stop # Stop all containers
|
||
conduit restart # Restart all containers
|
||
conduit update # Update Conduit image
|
||
conduit backup # Backup node identity keys
|
||
conduit restore # Restore from backup
|
||
conduit qr # Show QR code for rewards
|
||
conduit health # Run health diagnostics
|
||
conduit uninstall # Remove all components
|
||
```
|
||
|
||
## Configuration
|
||
|
||
| Option | Default | Range | Description |
|
||
|--------|---------|-------|-------------|
|
||
| `max-clients` | 200 | 1–1000 | Max concurrent clients per container |
|
||
| `bandwidth` | 5 | 1–40, -1 | Bandwidth limit per peer (Mbps). -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) |
|
||
|
||
## Requirements
|
||
|
||
- Linux server (any supported distribution)
|
||
- Root/sudo access
|
||
- Internet connection
|
||
- Minimum 512MB RAM (1GB+ recommended for multi-container)
|
||
|
||
## Upgrading
|
||
|
||
Just run the install command above. When prompted, select **"Open management menu"** — existing containers are recognized automatically. Telegram settings are preserved across upgrades.
|
||
|
||
## Claim Rewards (OAT Tokens)
|
||
|
||
1. Install the **Ryve app** on your phone
|
||
2. Create a **crypto wallet** within the app
|
||
3. Run `conduit qr` or use the menu to show your QR code
|
||
4. Scan with Ryve to link your node and start earning
|
||
|
||
## Security
|
||
|
||
- **Secure Backups**: Node identity keys 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
|
||
|
||
---
|
||
|
||
## License
|
||
|
||
MIT License
|
||
|
||
## Contributing
|
||
|
||
Pull requests welcome. For major changes, open an issue first.
|
||
|
||
This is a **beta release** — please report any issues.
|
||
|
||
## Links
|
||
|
||
- [Psiphon](https://psiphon.ca/)
|
||
- [Psiphon Conduit](https://github.com/Psiphon-Inc/conduit)
|