A simple, lightweight web interface for managing PPTP and L2TP VPN servers with a Lua-based backend.
- Beautiful UI: A responsive web interface for managing clients.
- Client Management: Create, edit, and delete L2TP/PPTP clients.
- Server Control: Manage server settings and restart VPN services.
- Real-time Statistics: Live bandwidth monitoring and server analytics (CPU, Memory).
- Automated Sync: A background task automatically updates client traffic usage and deletes expired accounts.
- Installation Script: A single
setup.shscript handles the complete installation process. - Responsive Design: Works on desktop, tablet, and mobile browsers.
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/AmiRCandy/Candy-Panel-L2TP-PPTP/main/setup.sh)"- Panel Default Port: 8080
- API Default Port: 8080
- Nginx with
lua-nginx-modulefor the web server and backend. - PPTP and L2TP/IPsec services (
pptpd,strongswan,xl2tpd). - SQLite3 for the database.
- Git for cloning the repository.
- HTML, CSS, JavaScript
- Bootstrap 5 for a responsive and modern design.
- Axios for making API requests to the backend.
- OpenResty (Nginx with Lua) for high-performance API handling.
- Lua for the core backend logic.
- SQLite for database management.
- System utilities to interact with VPN services and server stats.
The setup.sh script will automatically install everything you need. Once complete, you can access the panel at http://<Your-Server-IP>:8080.
- Navigate to the Clients page on the dashboard.
- Click "Add New User" to create a new client.
- Fill in the username, password, traffic limit, and expiration date.
- Use the "Edit" and "Delete" buttons to manage existing users.
You can view server stats like CPU, memory, and network usage directly from the dashboard.
- Database Management: Client information is stored in a local SQLite database.
- IP Tables & UFW: The setup script configures firewall rules to secure the VPN connections.
- Separation of concerns: Frontend and backend are decoupled.
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m 'Add new feature'). - Push to the branch (
git push origin feature/your-feature). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- 📧 Email: amirhosen.1385.cmo@gmail.com
- 🐛 Issues: GitHub Issues
Built with 💜 for L2TP/PPTP Enthusiasts