Skip to content

AmiRCandy/Candy-Panel-L2TP-PPTP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🍭 Candy Panel - L2TP/PPTP Management System

A simple, lightweight web interface for managing PPTP and L2TP VPN servers with a Lua-based backend.

✨ Features

  • 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.sh script handles the complete installation process.
  • Responsive Design: Works on desktop, tablet, and mobile browsers.

🚀 Quick Start

🚀 One-line command install

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

Prerequisites

  • Nginx with lua-nginx-module for the web server and backend.
  • PPTP and L2TP/IPsec services (pptpd, strongswan, xl2tpd).
  • SQLite3 for the database.
  • Git for cloning the repository.

🏗️ Architecture

Frontend Stack

  • HTML, CSS, JavaScript
  • Bootstrap 5 for a responsive and modern design.
  • Axios for making API requests to the backend.

Backend Stack

  • 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.

🎯 Usage

First Time Setup

The setup.sh script will automatically install everything you need. Once complete, you can access the panel at http://<Your-Server-IP>:8080.

Managing Clients

  1. Navigate to the Clients page on the dashboard.
  2. Click "Add New User" to create a new client.
  3. Fill in the username, password, traffic limit, and expiration date.
  4. Use the "Edit" and "Delete" buttons to manage existing users.

Server Configuration

You can view server stats like CPU, memory, and network usage directly from the dashboard.


🔒 Security Features

  • 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.

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/your-feature).
  3. Commit your changes (git commit -m 'Add new feature').
  4. Push to the branch (git push origin feature/your-feature).
  5. Open a Pull Request.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.


📞 Support


Built with 💜 for L2TP/PPTP Enthusiasts

⭐ Star us on GitHub🐛 Report Bug✨ Request Feature

About

Candy Panel - A simple web-based management system for L2TP/PPTP VPN servers. It features a lightweight Lua backend running on OpenResty and a clean HTML/JS frontend for managing users, monitoring server statistics, and automating tasks.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors