Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 89 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@
# Conduit Manager

A powerful management tool for deploying and managing Psiphon Conduit nodes on Linux servers. Help users access the open internet during network restrictions.
A powerful management tool for deploying and managing Psiphon Conduit nodes on Linux servers and macOS (Apple Silicon). Help users access the open internet during network restrictions.

## Quick Install

### Linux
```bash
curl -sL https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh | sudo bash
```

Or download and run manually:
### macOS (Apple Silicon)
```bash
curl -sL https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh | bash
```

Or download and run manually (Linux/macOS):

```bash
wget https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh
sudo bash conduit.sh
sudo bash conduit.sh # Linux
bash conduit.sh # macOS
```

## Features

- **One-Click Deployment** - Automatically installs Docker and configures everything
- **Multi-Distro Support** - Works on Ubuntu, Debian, CentOS, Fedora, Arch, Alpine, openSUSE
- **Multi-Distro Support** - Works on Ubuntu, Debian, CentOS, Fedora, Arch, Alpine, openSUSE, and macOS (Apple Silicon)
- **Auto-Start on Boot** - Supports systemd, OpenRC, and SysVinit
- **Live Monitoring** - Real-time connection stats with CPU/RAM monitoring
- **Live Peer Traffic** - Real-time traffic monitoring by country with GeoIP lookup
Expand All @@ -40,6 +47,7 @@ sudo bash conduit.sh
| Arch | Arch Linux, Manjaro, EndeavourOS |
| SUSE | openSUSE Leap, openSUSE Tumbleweed |
| Alpine | Alpine Linux |
| macOS | Apple Silicon (arm64) |

## CLI Reference

Expand Down Expand Up @@ -115,19 +123,50 @@ sudo bash conduit.sh --help

## Requirements

- Linux server (any supported distribution)
- Root/sudo access
- Linux server (any supported distribution) or macOS Apple Silicon
- Root/sudo access (Linux)
- macOS: run without sudo
- Internet connection
- Minimum 512MB RAM (1GB+ recommended)

### macOS Notes
- Docker runs via Docker Desktop (installed via Homebrew cask when needed)
- Host networking is not available on Docker Desktop; ports 443/TCP+UDP are published
- Auto-start is not configured on macOS (launchd not implemented)
- Peers-by-country requires a MaxMind GeoLite2 license key (prompted during install)
- `conduit peers` requires sudo on macOS due to `tcpdump`

## How It Works

1. **Detection** - Identifies your Linux distribution and init system
2. **Docker Setup** - Installs Docker if not present
2. **Docker Setup** - Installs Docker if not present (Docker Desktop on macOS)
3. **Container Deployment** - Pulls and runs the official Psiphon Conduit image
5. **Auto-Start Configuration** - Sets up systemd/OpenRC/SysVinit service
5. **Auto-Start Configuration** - Sets up systemd/OpenRC/SysVinit service (Linux)
6. **CLI Installation** - Creates the `conduit` management command

## Testing

### Linux
```bash
sudo bash conduit.sh --reinstall
conduit version
conduit status
conduit stats
```

### macOS (Apple Silicon)
```bash
bash conduit.sh --reinstall
conduit version
conduit status
conduit stats
sudo conduit peers
```

Notes:
- `conduit peers` requires sudo on macOS because it uses `tcpdump`
- If Docker Desktop isn’t running, the installer will prompt to start it

## Security

- **Secure Backups**: Node identity keys are stored with restricted permissions (600)
Expand All @@ -143,23 +182,31 @@ sudo bash conduit.sh --help

## نصب سریع

### لینوکس
دستور زیر را در ترمینال سرور اجرا کنید:

```bash
curl -sL https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh | sudo bash
```

یا دانلود و اجرای دستی:
### macOS (Apple Silicon)
```bash
curl -sL https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh | bash
```

یا دانلود و اجرای دستی (لینوکس/مک):

```bash
wget https://raw.githubusercontent.com/SamNet-dev/conduit-manager/main/conduit.sh
sudo bash conduit.sh
bash conduit.sh (مک برای فقط)
```

## ویژگی‌ها

- **نصب با یک کلیک** - داکر و تمام موارد مورد نیاز به صورت خودکار نصب می‌شود
- **پشتیبانی از توزیع‌های مختلف** - اوبونتو، دبیان، سنت‌اواس، فدورا، آرچ، آلپاین
- **پشتیبانی از macOS (Apple Silicon)** - نصب و اجرا روی مک‌های M‑chip
- **راه‌اندازی خودکار** - پس از ریستارت سرور، سرویس به صورت خودکار اجرا می‌شود
- **مانیتورینگ زنده** - نمایش تعداد کاربران متصل و مصرف منابع
- **مانیتورینگ ترافیک** - نمایش لحظه‌ای ترافیک بر اساس کشور با GeoIP
Expand Down Expand Up @@ -213,6 +260,29 @@ conduit help # راهنما
| `max-clients` | 200 | 1-1000 | حداکثر کاربران همزمان |
| `bandwidth` | 5 | 1-40, -1 | محدودیت پهنای باند (Mbps). برای نامحدود -1 وارد کنید. |

## تست و بررسی

### لینوکس
```bash
sudo bash conduit.sh --reinstall
conduit version
conduit status
conduit stats
```

### macOS (Apple Silicon)
```bash
bash conduit.sh --reinstall
conduit version
conduit status
conduit stats
sudo conduit peers
```

نکات:
- دستور `conduit peers` روی macOS نیاز به sudo دارد (tcpdump)
- اگر Docker Desktop فعال نباشد، نصب‌کننده درخواست اجرای آن را می‌دهد

**مقادیر پیشنهادی بر اساس پردازنده (CPU):**

| تعداد هسته | حداکثر کاربران |
Expand All @@ -224,11 +294,19 @@ conduit help # راهنما

## پیش‌نیازها

- سرور لینوکس
- دسترسی root یا sudo
- سرور لینوکس یا macOS Apple Silicon
- دسترسی root یا sudo (لینوکس)
- در macOS بدون sudo اجرا شود
- اتصال اینترنت
- حداقل 512 مگابایت رم

### نکات مخصوص macOS
- داکر از طریق Docker Desktop اجرا می‌شود
- به‌جای Host Networking، پورت‌های 443/TCP و 443/UDP منتشر می‌شوند
- راه‌اندازی خودکار روی macOS تنظیم نمی‌شود (launchd اضافه نشده)
- نمایش کشورها نیاز به کلید MaxMind GeoLite2 دارد (در نصب پرسیده می‌شود)
- دستور `conduit peers` روی macOS نیاز به sudo دارد (tcpdump)

</div>

---
Expand Down
Loading