Muhammad Fadhila Abiyyu Faris 35ff83baca 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.
2025-11-30 14:55:15 +07:00

WireGuard Secure Installer Enterprise

Badge Badge Badge

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:

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 /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

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

/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

Released under the MIT License.

Description
No description provided
Readme 42 KiB
Languages
Shell 100%