A Docker-first, secure V2Ray subscription aggregator and management system.
- Centralized Hub: Merge multiple subscriptions (Hiddify, Xray, etc.) into one.
- Admin Panel: Manage users, upstream sources, and static nodes.
- Secure: Per-user secret tokens, no public signup, encrypted token storage.
- Performance: Caching, concurrent fetching, deduplication.
- Docker First: Easy deployment with Nginx and SSL automation.
- Clone the repo.
cp .env.example .envand edit it.- Start the stack:
docker compose up -d --build
- Create an admin user:
docker compose exec app bun run scripts/create-admin.ts --email admin@example.com --password secret - Access the admin panel at
http://localhost/admin(or your domain).
- Set
DOMAINandEMAILin.env. - Initialize SSL certificates:
chmod +x ops/ssl/init.sh ./ops/ssl/init.sh
- The app will be available at
https://your-domain.com.
- Login to Admin Panel.
- Create users. Each user gets a unique Subscription URL.
- Give this URL to the user for their V2Ray client (v2rayNG, V2Box, etc.).
- Global: Applies to ALL users.
- User: Applies to specific user only.
- Supports raw text lists or base64 subscription links.
- In User details, click "Rotate Token" to invalidate the old URL and generate a new one immediately.
- Run
bun install - Run
bun devfor local dev server (requires local Mongo). - Run
bun testfor unit tests.
- Backend: Nuxt 3 (Nitro)
- Database: MongoDB (Mongoose)
- Frontend: Nuxt UI (Tailwind)
- Security: Argon2 hashing, AES-256-GCM token encryption, H3 sessions.