Files
conduit/README.md

179 lines
7.7 KiB
Markdown
Raw Normal View History

# Conduit Manager
```
██████╗ ██████╗ ███╗ ██╗██████╗ ██╗ ██╗██╗████████╗
██╔════╝██╔═══██╗████╗ ██║██╔══██╗██║ ██║██║╚══██╔══╝
██║ ██║ ██║██╔██╗ ██║██║ ██║██║ ██║██║ ██║
██║ ██║ ██║██║╚██╗██║██║ ██║██║ ██║██║ ██║
╚██████╗╚██████╔╝██║ ╚████║██████╔╝╚██████╔╝██║ ██║
╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝
M A N A G E R
```
![Version](https://img.shields.io/badge/version-1.2-blue)
![License](https://img.shields.io/badge/license-MIT-green)
![Platform](https://img.shields.io/badge/platform-Linux-orange)
![Docker](https://img.shields.io/badge/Docker-Required-2496ED?logo=docker&logoColor=white)
![Bash](https://img.shields.io/badge/Bash-Script-4EAA25?logo=gnubash&logoColor=white)
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
```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
```
> For beta/preview releases, use `beta-releases` instead of `main` in the URL above.
## What's New in v1.2
**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
- Atomic settings file writes to prevent corruption
**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
- Secure temp directories with `mktemp`
## Features
- **One-Click Deployment** — Automatically installs Docker and configures everything
- **Multi-Container Scaling** — Run 15 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
2026-01-26 06:26:32 -06:00
## 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 | 11000 | Max concurrent clients per container |
| `bandwidth` | 5 | 140, -1 | Bandwidth limit per peer (Mbps). -1 for unlimited |
| `cpu` | Unlimited | 0.1N cores | CPU limit per container (e.g. 1.0 = one core) |
| `memory` | Unlimited | 64msystem 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 or use `conduit update` from the menu. Existing containers are recognized automatically. Telegram settings are preserved across upgrades.
2026-01-26 06:26:32 -06:00
## 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
2026-01-26 06:26:32 -06:00
## Security
- **Secure Backups**: Node identity keys stored with restricted permissions (600)
2026-01-26 06:26:32 -06:00
- **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.
## Links
- [Psiphon](https://psiphon.ca/)
- [Psiphon Conduit](https://github.com/Psiphon-Inc/conduit)