Unified & Censorship-Resistant Proxy Management Solution
Fork Notice: This is a fork of PasarGuard/panel with the following additional feature:
IP Limit (Concurrent Connection Limit) — Limit users by the number of concurrent connections (devices) across all nodes. When exceeded, users are automatically disabled and re-enabled when connections drop below the limit. Configurable per-user and per-template.
Quick install (SQLite, default):
curl -fsSL https://raw.githubusercontent.com/amihos/panel/main/install.sh | sudo bashWith PostgreSQL:
curl -fsSL https://raw.githubusercontent.com/amihos/panel/main/install.sh | sudo bash -s -- install --database postgresqlWith MySQL:
curl -fsSL https://raw.githubusercontent.com/amihos/panel/main/install.sh | sudo bash -s -- install --database mysqlUpdate to latest:
curl -fsSL https://raw.githubusercontent.com/amihos/panel/main/install.sh | sudo bash -s -- updateManual install / Build from source
git clone https://github.com/amihos/panel.git /opt/pasarguard
cd /opt/pasarguard
cp .env.example .env
docker compose up -d --build
docker compose exec pasarguard alembic upgrade headExisting PasarGuard installation (swap to this fork)
cd /opt/pasarguard
docker compose down
git remote add fork https://github.com/amihos/panel.git
git fetch fork main
git checkout fork/main
docker compose up -d --build
docker compose exec pasarguard alembic upgrade head🇮🇷 فارسی / 🇨🇳 简体中文 / 🇷🇺 Русский
Quick Navigation - Jump to any section below
What is PasarGuard?
PasarGuard is a powerful proxy management tool that offers an intuitive and efficient interface for handling hundreds of proxy accounts. Built with Python and React.js it combines performance, scalability, and ease of use to simplify large-scale proxy management. it's powered by Xray-core for maximum performance.
Simple, Powerful, Reliable
PasarGuard is a user-friendly, feature-rich, and reliable proxy management tool. It allows you to create and manage multiple proxies for your users without the need for complex configuration. With its built-in web interface, you can easily monitor activity, modify settings, and control user access limits — all from one convenient dashboard.
🌐 Web Interface & API
- Built-in Web UI dashboard
- Fully REST API backend
- Multi-Node support for infrastructure distribution
🔐 Protocols & Security
- Supports Vmess, VLESS, Trojan and Shadowsocks
- TLS and REALITY support
- Multi-protocol for a single user
👥 User Management
- Multi-user on a single inbound
- Multi-inbound on a single port (fallbacks support)
- Traffic and expiry date limitations
- Periodic traffic limit (daily, weekly, etc.)
🔗 Subscriptions & Sharing
- Subscription link compatible with V2ray, Clash and ClashMeta
- Automated Share link and QRcode generator
- System monitoring and traffic statistics
🛠️ Tools & Customization
- Customizable xray configuration
- Integrated Telegram Bot
- Command Line Interface (CLI)
- Multi-language support
- Multi-admin support (WIP)
Quick Start - Get PasarGuard running in minutes
TimescaleDB (Recommended):
curl -fsSL https://github.com/PasarGuard/scripts/raw/main/pasarguard.sh -o /tmp/pg.sh \
&& sudo bash /tmp/pg.sh install --database timescaledbSQLite:
curl -fsSL https://github.com/PasarGuard/scripts/raw/main/pasarguard.sh -o /tmp/pg.sh \
&& sudo bash /tmp/pg.sh installMySQL:
curl -fsSL https://github.com/PasarGuard/scripts/raw/main/pasarguard.sh -o /tmp/pg.sh \
&& sudo bash /tmp/pg.sh install --database mysqlMariaDB:
curl -fsSL https://github.com/PasarGuard/scripts/raw/main/pasarguard.sh -o /tmp/pg.sh \
&& sudo bash /tmp/pg.sh install --database mariadbPostgreSQL:
curl -fsSL https://github.com/PasarGuard/scripts/raw/main/pasarguard.sh -o /tmp/pg.sh \
&& sudo bash /tmp/pg.sh install --database postgresql📋 Watch the logs (press Ctrl+C to stop)
📁 Files are located at /opt/pasarguard
⚙️ Config file: /opt/pasarguard/.env (see Configuration for details)
💾 Data files: /var/lib/pasarguard
🔒 Important: Dashboard requires SSL certificate for security
- Get SSL certificate: Guide
- Access:
https://YOUR_DOMAIN:8000/dashboard/
🔗 For testing without domain: Use SSH port forwarding (see below)
ssh -L 8000:localhost:8000 user@serveripThen access: http://localhost:8000/dashboard/
⚠️ Testing only - You'll lose access when you close the SSH terminal.
# Create admin account (will prompt for password)
cd /opt/pasarguard
docker compose exec -it pasarguard pasarguard-cli admins --create <username>
# Create a sudo (super-admin) account
docker compose exec -it pasarguard pasarguard-cli admins --create <username> --sudo
# View logs
docker compose logs -fContributing: Help improve documentation on GitHub
Support PasarGuard Development
If PasarGuard helps you, consider supporting its development:
Thank you for your support! 💖
Made with ❤️ for Internet freedom