feat: add wireguard secure installer with modular architecture
This commit introduces a new WireGuard VPN installer with enterprise-grade security features. The installer includes: - Zero-touch installation with automatic configuration - Modular architecture for maintainability (separate lib files) - Client management interface with bandwidth monitoring - Support for multiple Linux distributions - Secure defaults and hardened configurations The implementation provides a complete solution for deploying WireGuard VPN servers with minimal user interaction while maintaining security best practices.
This commit is contained in:
75
README.md
Normal file
75
README.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# WireGuard Secure Installer Enterprise
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
**Automated, Secure, and Modular WireGuard VPN Installer for Enterprise Linux.**
|
||||
|
||||
Project ini dirancang untuk instalasi **Zero-Touch** (Otomatis Penuh) dengan standar keamanan tinggi. Cocok untuk server Ubuntu, Debian, CentOS, AlmaLinux, dan Rocky Linux.
|
||||
|
||||
## 🚀 Fitur Utama
|
||||
|
||||
* **Zero-Touch Install:** Cukup jalankan satu perintah, sistem akan terinstall lengkap dengan Firewall dan Konfigurasi.
|
||||
* **Secure by Default:** Verifikasi Checksum, Hardened Config, dan Permissions yang ketat.
|
||||
* **Modular Architecture:** Kode terstruktur rapi untuk kemudahan audit dan maintenance.
|
||||
* **Management Interface:** Script bawaan untuk menambah/menghapus user dengan mudah.
|
||||
* **Usage Monitoring:** Fitur eksklusif untuk melihat penggunaan bandwidth per user.
|
||||
|
||||
## 📥 Instalasi Cepat (One-Liner)
|
||||
|
||||
Login sebagai `root` di server Anda, lalu jalankan perintah berikut:
|
||||
|
||||
```bash
|
||||
wget -O - https://raw.githubusercontent.com/fadhila36/wireguard-secure-installer/main/bootstrap.sh | bash
|
||||
```
|
||||
|
||||
Tunggu proses selesai. QR Code untuk client pertama (client_admin) akan muncul otomatis di layar.
|
||||
|
||||
## 🛠️ Cara Penggunaan (Manajemen User)
|
||||
|
||||
Setelah instalasi selesai, Anda dapat mengelola VPN menggunakan script `manage.sh` yang terinstall di folder `/opt/wg-installer/`.
|
||||
|
||||
Jalankan perintah ini untuk membuka menu:
|
||||
|
||||
```bash
|
||||
bash /opt/wg-installer/manage.sh
|
||||
```
|
||||
|
||||
**Menu Tersedia:**
|
||||
1. **Add New Client:** Menambah user baru & generate QR Code.
|
||||
2. **Remove Client:** Menghapus akses user secara real-time.
|
||||
3. **View Bandwidth Usage:** Melihat log penggunaan data (Download/Upload) per user.
|
||||
4. **Exit:** Keluar.
|
||||
|
||||
## 📊 Contoh Tampilan Log Usage
|
||||
|
||||
```text
|
||||
Client Name | Public Key | Transfer Rx | Transfer Tx | Last Seen
|
||||
--------------------------------------------------------------------------
|
||||
client_admin | xCy...9d2 | 1.2 GB | 400 MB | 2 mins ago
|
||||
iphone_fadhil | bKa...7s1 | 50 MB | 10 MB | 1 hour ago
|
||||
```
|
||||
|
||||
## 📋 Persyaratan Sistem
|
||||
|
||||
* **OS:** Ubuntu 20.04/22.04/24.04, Debian 11/12, CentOS 9 Stream, Alma/Rocky 9.
|
||||
* **Kernel:** Mendukung modul WireGuard (hampir semua kernel Linux modern).
|
||||
* **Virtualisasi:** Mendukung KVM, VMware, LXC (dengan akses TUN enabled).
|
||||
|
||||
## 🔒 Struktur Project
|
||||
|
||||
```text
|
||||
/opt/wg-installer/
|
||||
├── install.sh # Core Logic
|
||||
├── config.env # Konfigurasi Default
|
||||
├── manage.sh # Menu Manajemen User
|
||||
└── lib/ # Library Modules (Network, OS, Security)
|
||||
```
|
||||
|
||||
## 📝 Credits
|
||||
|
||||
Copyright (c) 2025 Muhammad Fadhila Abiyyu Faris
|
||||
GitHub: [github.com/fadhila36](https://github.com/fadhila36)
|
||||
|
||||
Released under the MIT License.
|
||||
Reference in New Issue
Block a user