VLESS Daddy is a simple, locally-run web application designed to help users easily create and manage VLESS proxies with XTLS-Reality on remote servers. It provides a modern, user-friendly interface to automate the entire setup and client management process, removing the need for manual SSH commands and configuration.
- Guided Proxy Setup: Step-by-step process with real-time status updates for setting up new proxy servers
- Server Overwrite Protection: Confirmation dialogs prevent accidental overwriting of existing configurations
- Custom Proxy Naming: Assign meaningful names to your proxy servers for easy identification
- Automatic Cleanup: Old database entries are removed when servers are overwritten
- Easy Client Addition/Removal: Add or remove users with a few clicks
- Automatic Configuration: Generates VLESS connection links and QR codes automatically
- Client Details Modal: View UUIDs, connection strings, and QR codes in a clean interface
- Copy-to-Clipboard: One-click copying of connection details
- Real-time Traffic Statistics: Monitor upload/download traffic for each client
- Traffic Reset: Reset traffic counters when needed
- Bandwidth Usage Display: Human-readable traffic statistics (KB, MB, GB)
- Per-user Analytics: Track individual client usage patterns
- React-based UI: Clean, responsive design that works on all devices
- Real-time Status Updates: Live progress indicators during proxy creation
- Management Dashboard: Central hub for all your proxy servers
- Intuitive Navigation: Easy-to-use interface designed for non-technical users
- Backend: Python with FastAPI framework, Paramiko for SSH connections, SQLite for data storage
- Frontend: React with React Router for navigation and modern component-based architecture
- Proxy Technology: VLESS protocol with XTLS-Reality for enhanced security and performance
- Server Communication: Xray-core with built-in Statistics API for traffic monitoring
- Authentication: SSH key-based server access with automatic Xray installation
VLESS Daddy/
βββ backend/ # Python FastAPI backend
β βββ main.py # Main API server and routing
β βββ proxy_creator.py # SSH automation for Xray setup
β βββ client_manager.py # Client configuration management
β βββ traffic_parser.py # Traffic statistics via Xray API
β βββ database.py # SQLite database management
β βββ proxy_verifier.py # Connection verification
β βββ requirements.txt # Python dependencies
βββ frontend/ # React frontend application
β βββ src/
β β βββ components/ # React components
β β βββ App.js # Main application and routing
β β βββ App.css # Modern styling
β βββ build/ # Production build (served by backend)
β βββ package.json # Node.js dependencies
βββ README.md # This file
βββ .gitignore # Git ignore rules
βββ vless_daddy.db # SQLite database (auto-created)
- Python 3.8+ with pip
- Node.js 16+ and npm
- SSH access to your remote server(s)
- Root privileges on the remote server (for Xray installation)
-
Clone the repository:
git clone <repository-url> cd vless-daddy
-
Set up the Backend:
pip install -r backend/requirements.txt
-
Set up the Frontend:
cd frontend npm install npm run build cd ..
-
Start the Application:
python backend/main.py
-
Access the Web Interface: Open your browser and navigate to
http://localhost:8000
The application will automatically:
- Initialize the SQLite database
- Serve the React frontend
- Provide API endpoints for proxy management
- Click "Create New Server" from the dashboard
- Fill in the server details:
- Server IP: Your remote server's IP address
- SSH User: Username with root privileges (usually
root
) - SSH Password: Password for SSH access
- Masking Domain: Domain to mask traffic (e.g.,
microsoft.com
) - Proxy Name: A friendly name for identification
- Watch the real-time progress as the system:
- Connects to your server
- Installs Xray if needed
- Generates security keys
- Configures the proxy
- Verifies the connection
- From the dashboard, click "Manage Clients" for any server
- Add clients: Enter a username and click "Add Client"
- Uses Xray's built-in API for instant user addition
- No server restart required
- View connection details: Click "Show" to see:
- Client UUID
- VLESS connection string
- QR code for mobile apps
- Monitor traffic: View real-time upload/download statistics
- Remove clients: Click "Delete" to remove access
- Uses Xray's built-in API for instant user removal
- No server restart required
- Real-time Statistics: Traffic data updates automatically
- Usage Breakdown: See both total traffic and upload/download separately
- Reset Counters: Use "Reset Traffic" to clear all statistics
- Refresh Data: Click "Refresh Traffic" for the latest numbers
python backend/main.py
The FastAPI server runs with auto-reload enabled for development.
cd frontend
npm start
This starts the React development server with hot-reloading at http://localhost:3000
, which proxies API requests to the backend.
GET /api/servers
- List all managed serversPOST /api/proxy
- Create a new proxy serverGET /api/servers/{id}/clients
- List clients for a serverPOST /api/servers/{id}/clients
- Add a new clientDELETE /api/servers/{id}/clients/{client_id}
- Remove a clientGET /api/servers/{id}/traffic
- Get traffic statisticsPOST /api/servers/{id}/reset_traffic
- Reset traffic counters
- API-Based Operations: Uses Xray's built-in API for user management operations
- Real-time Updates: Client additions/removals are applied instantly without service restarts
- Efficient Operations: No configuration file rewriting - direct API communication
- Atomic Operations: Each user operation is isolated and atomic
xray api adu
- Add users to inbound configurationsxray api rmu
- Remove users from inbound configurationsxray api inbounduser
- Query user informationxray api stats
- Traffic statistics retrieval
- Local Operation: The application runs locally and stores data in a local SQLite database
- SSH Security: Uses standard SSH authentication; consider using SSH keys for enhanced security
- Traffic Encryption: All proxy traffic is encrypted using XTLS-Reality
- No External Dependencies: No data is sent to external services
- API Security: Xray API is bound to localhost only (127.0.0.1:8081)
- "Connection failed" - Check SSH credentials and server accessibility
- "Xray installation failed" - Ensure the server has internet access and root privileges
- "Traffic shows 0 bytes" - Generate some traffic through the proxy, then refresh statistics
- Database errors - Delete
vless_daddy.db
to reset (will lose all server data)
- Ubuntu/Debian Linux distribution (recommended)
- Root access for Xray installation
- Port 443 available for proxy traffic
- Internet connectivity for downloading Xray
- The database file
vless_daddy.db
is automatically created and excluded from Git - Server data is stored locally - back up the database file if needed
- When updating the application, you may need to delete the database file if the schema changes
- Each proxy server can handle multiple clients with individual traffic tracking
- The application is designed for personal/small-scale use
This project was built to simplify VLESS proxy management for non-technical users. Feel free to contribute improvements, bug fixes, or additional features.
This project is provided as-is for educational and personal use.