Internet Speed Online

Bahasa

Artikel

Panduan praktis

Cara Menyiapkan Server VPN WireGuard di Ubuntu dengan Skrip

Mulai dari server Ubuntu baru hingga koneksi VPN pribadi. Panduan ini menjelaskan penyiapan server, profil perangkat, dan pemeriksaan jalur lalu lintas internet.

Sudah diuji: penyiapan server, koneksi kontainer Linux, dan kecepatan Windows. Pengujian langsung di macOS, Ubuntu Desktop, iPhone, dan Android masih menunggu.

Kapan konfigurasi ini cocok digunakan?

Gunakan jika Anda menginginkan VPN pribadi dengan akses internet melalui server pilihan Anda dan jaringan mengizinkan WireGuard. Anda memilih penyedia, lokasi server, dan perangkat yang boleh terhubung.

Jika jaringan memblokir VPN, WireGuard biasa mungkin tidak cocok. Koneksinya tidak disamarkan sebagai lalu lintas web biasa. Server yang dikonfigurasi dengan benar pun bisa tidak dapat dijangkau melalui penyedia internet Anda. Pertimbangkan ini sebelum membayar VPS.

Untuk jaringan yang memblokir VPN, pertimbangkan AmneziaWG atau Xray dengan VLESS dan REALITY. AmneziaVPN mendukung pemasangannya di server sendiri. Keduanya dirancang untuk menghadapi deteksi dan pemblokiran, tetapi tidak menjamin koneksi dari semua jaringan.

WireGuard

AmneziaVPN

1. Pilih server dan siapkan akses

Panduan ini memasang WireGuard dari awal pada VPS Ubuntu 26.04 LTS. Siapkan alamat IPv4 publik serta kata sandi root atau kunci SSH. Pilih penyedia dan wilayah sesuai kebutuhan.

Panduan ini menggunakan VPS dengan 1 vCPU dan RAM 1 GB.

Pilih server IPv4 agar bisa terhubung dari jaringan tanpa IPv6. Server khusus IPv6 memerlukan pengaturan tambahan untuk mengakses situs khusus IPv4 dan tidak dibahas di sini.

Keamanan server: panduan ini membahas pemasangan VPN, bukan seluruh keamanan dan pemeliharaan VPS. Skrip mengatur firewall untuk SSH dan WireGuard. Pembaruan keamanan dan perlindungan akses tetap tanggung jawab Anda. Gunakan kunci SSH, aktifkan autentikasi dua faktor pada akun hosting, dan lindungi profil VPN seperti kata sandi. Nonaktifkan login SSH dengan kata sandi hanya setelah memastikan login dengan kunci berhasil.

2. Periksa akses masuk melalui SSH

Windows: buka Start, cari PowerShell, lalu buka. Mac: tekan Command+Space, ketik Terminal, lalu Enter. Ubuntu Desktop: tekan Ctrl+Alt+T.

Pada semua perintah berikut, ganti SERVER_IP dengan IPv4 publik dari panel server. Contohnya, ssh root@SERVER_IP menghubungkan Anda sebagai root.

Pilih perintah kata sandi, atau perintah kunci jika sudah memiliki kunci SSH. Ganti contoh lokasi kunci dengan lokasi milik Anda.

Saat pertama terhubung, SSH mungkin meminta persetujuan untuk mempercayai server. Pastikan alamatnya sesuai VPS yang dibuat, ketik yes, lalu Enter. Masukkan kata sandi root saat diminta; karakter tidak tampil saat diketik.

Setelah masuk, jalankan perintah server berikut untuk memeriksa Ubuntu, lalu exit untuk kembali ke komputer Anda.

PowerShell atau Terminal di komputer Anda — masuk dengan kata sandi
ssh root@SERVER_IP
PowerShell atau Terminal di komputer Anda — kunci SSH yang sudah ada
ssh -i ~/.ssh/id_ed25519 root@SERVER_IP
Di server
cat /etc/os-release
exit
Jika perintah ssh tidak ditemukan

Di Windows, buka PowerShell baru dengan Run as administrator dan jalankan perintah berikut. Setelah selesai, tutup lalu buka PowerShell biasa. Di Ubuntu, gunakan perintah Ubuntu. macOS sudah memiliki klien SSH.

Windows — pasang klien SSH melalui PowerShell administrator
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Salin persis. OpenSSH.Client~~~~0.0.1.0 adalah pengenal komponen Windows; jangan mengubah tanda tilde atau angkanya.

Ubuntu Desktop — pasang klien SSH
sudo apt update
sudo apt install openssh-client

3. Unduh dan periksa paket instalasi

Unduh dan ekstrak ZIP. Simpan semua skrip bersama di folder wireguard-guide. Ikuti salah satu bagian Windows, Mac, atau Ubuntu di bawah.

Skrip memasang WireGuard pada VPS dan menyimpan profil VPN di komputer melalui satu koneksi SSH. Dengan autentikasi kata sandi, sandi diminta sekali per proses yang berhasil dan tidak disimpan skrip.

Nama profil terdiri dari 1–15 huruf Latin besar atau kecil, angka, dan tanda hubung, dimulai dengan huruf. Tanpa spasi. Contoh: my-wg-vpn, my-laptop, my-phone. Jika nama dihilangkan, skrip menanyakannya; Enter memilih my-wg-vpn. Nama yang salah meminta percobaan ulang. Gunakan nama berbeda untuk setiap perangkat tambahan.

Untuk mengunduh profil yang ada, jalankan skrip, pilih 2 (Manage existing server), hubungkan, lalu pilih 9 (Download profile). Masukkan nama dari daftar; Enter tanpa nama membatalkan. Unduhan memakai koneksi SSH yang sama tanpa meminta kata sandi server lagi. Unduhan yang berhasil mengganti berkas lokal dengan nama yang sama.

Unduh skrip penyiapan (.zip)

4a. Siapkan server dari Windows

Buka folder wireguard-guide hasil ekstraksi di File Explorer. Klik bilah alamat, ketik powershell, lalu Enter untuk membuka PowerShell di folder tersebut.

Jalankan salah satu perintah berikut. Ganti SERVER_IP dengan alamat VPS. Jika memakai kunci SSH, ganti juga lokasinya.

Pilih 1 (Set up server), masukkan IP server dan nama profil, lalu jalur kunci SSH atau tekan Enter. Enter mempertahankan nama yang disarankan. Periksa ringkasan dan ketik yes/y untuk melanjutkan; Ketik no untuk membatalkan. Setelah 3 jawaban tidak dikenal, skrip ditutup. Progres ditampilkan selama instalasi. Menekan Enter juga melanjutkan.

Profil disimpan di folder beranda pada WireGuard/SERVER_IP/my-wg-vpn.conf. Skrip menampilkan jalur lengkapnya.

Mulai dengan pertanyaan alamat server dan nama profil
.\Connect-WireGuardServer.ps1
PowerShell — autentikasi kata sandi
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -ProfileName my-wg-vpn
PowerShell — autentikasi kunci SSH
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -ProfileName my-wg-vpn -IdentityFile "$HOME\.ssh\id_ed25519"
Jika PowerShell memblokir skrip

Jika pesan menyebut berkas unduhan tidak ditandatangani secara digital, jalankan perintah ini di folder yang sama, lalu ulangi perintah penyiapan.

PowerShell — buka blokir berkas unduhan
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1, .\ManagementClient.ps1

Jika pesan menyebut eksekusi skrip dinonaktifkan, jalankan perintah berikut, setujui konfirmasi, lalu coba lagi. Perubahan berakhir saat jendela PowerShell ditutup.

PowerShell — izinkan skrip hanya di jendela ini
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1, .\ManagementClient.ps1

Jika kebijakan masih menghalangi eksekusi, berhenti dan simpan pesan kesalahan untuk diagnosis.

4b. Siapkan server dari Mac

Buka Terminal. Ketik cd diikuti spasi, seret folder wireguard-guide dari Finder ke Terminal, lalu Enter.

Jalankan salah satu perintah berikut, termasuk bash di awal. Ganti SERVER_IP dan lokasi kunci jika digunakan. my-wg-vpn adalah nama profil; gunakan nama lain, misalnya macbook, untuk Mac berikutnya.

Profil disimpan di folder beranda pada WireGuard/SERVER_IP/my-wg-vpn.conf. Skrip menampilkan jalur lengkapnya.

Pilih 1 (Set up server), masukkan IP server dan nama profil, lalu jalur kunci SSH atau tekan Enter. Enter mempertahankan nama yang disarankan. Periksa ringkasan dan ketik yes/y untuk melanjutkan; Ketik no untuk membatalkan. Setelah 3 jawaban tidak dikenal, skrip ditutup. Progres ditampilkan selama instalasi. Menekan Enter juga melanjutkan.

Mulai dengan pertanyaan alamat server dan nama profil
bash ./connect-wireguard-server.sh
Terminal macOS — autentikasi kata sandi
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn
Terminal macOS — autentikasi kunci SSH
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn 22 ~/.ssh/id_ed25519

4c. Siapkan server dari Ubuntu Desktop

Tekan Ctrl+Alt+T. Ketik cd diikuti spasi, seret folder wireguard-guide ke Terminal, lalu Enter.

Jalankan salah satu perintah dengan mengganti SERVER_IP. my-wg-vpn adalah nama profil perangkat. Peluncur ini dan akses SSH tidak memerlukan sudo.

Profil disimpan di folder beranda pada WireGuard/SERVER_IP/my-wg-vpn.conf. Skrip menampilkan jalur lengkapnya.

Pilih 1 (Set up server), masukkan IP server dan nama profil, lalu jalur kunci SSH atau tekan Enter. Enter mempertahankan nama yang disarankan. Periksa ringkasan dan ketik yes/y untuk melanjutkan; Ketik no untuk membatalkan. Setelah 3 jawaban tidak dikenal, skrip ditutup. Progres ditampilkan selama instalasi. Menekan Enter juga melanjutkan.

Mulai dengan pertanyaan alamat server dan nama profil
bash ./connect-wireguard-server.sh
Di Ubuntu Desktop — autentikasi kata sandi
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn
Di Ubuntu Desktop — autentikasi kunci SSH
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn 22 ~/.ssh/id_ed25519

Sebelum terhubung: bagaimana jika VPN berhenti bekerja?

Full tunnel mengarahkan lalu lintas internet biasa melalui VPN selama profil aktif.

Kill switch memblokir koneksi internet di luar VPN. Perilakunya bergantung pada aplikasi dan pengaturan: server tidak terjangkau, profil dimatikan manual, dan perangkat dimulai ulang bisa memberi hasil berbeda. Panduan ini membuat profil full tunnel, tetapi tidak mengatur pemblokiran permanen yang sama pada semua perangkat. Tanpa perlindungan tambahan, menonaktifkan profil dapat memulihkan koneksi internet biasa.

Windows: aplikasi resmi otomatis mengaktifkan kill switch untuk profil buatan skrip ini. Perlindungan berlaku selama terowongan aktif. Menonaktifkan profil secara manual memungkinkan internet biasa kembali.

Android: di pengaturan sistem ponsel, cari VPN lalu pengaturan WireGuard. Aktifkan Always-on VPN dan Block connections without VPN untuk memblokir koneksi di luar VPN; Always-on saja tidak cukup. Nama dan letaknya dapat berbeda. Selama pemblokiran aktif, VPN yang tidak tersedia berarti internet juga tidak tersedia.

Mac dan iPhone: On-Demand menghubungkan VPN otomatis sesuai aturan. Jangan menganggapnya sebagai kill switch permanen.

Ubuntu Desktop: impor NetworkManager di bawah tidak membuat kill switch tersendiri. Untuk itu diperlukan aturan firewall tambahan pada komputer.

Server yang tidak terjangkau berbeda dari profil VPN yang dinonaktifkan. Jika server berhenti merespons saat profil masih aktif, lalu lintas bisa berhenti tanpa beralih ke koneksi di luar VPN.

WireGuard — Windows

Android — VPN

5a. Hubungkan Windows atau macOS

Pasang aplikasi WireGuard resmi untuk sistem Anda. Impor berkas .conf buatan skrip, setujui izin VPN, lalu aktifkan koneksi. Nama pilihan impor dapat berbeda antarversi aplikasi.

Profil mengarahkan IPv4 ke VPN dan menyertakan rute bawaan IPv6 agar IPv6 tidak melewati VPN. Server ini tidak menyediakan internet IPv6. Periksa perilaku perangkat dengan langkah di bawah.

Profil berisi kunci privat. Orang yang memiliki salinannya dapat mencoba memakai identitas VPN perangkat tersebut. Jangan mengirimnya ke tiket dukungan, penghasil QR daring, atau perangkat lain.

Unduhan resmi WireGuard

5b. Hubungkan Ubuntu Desktop dengan NetworkManager

NetworkManager mengimpor profil serta mengelola DNS dan rute tanpa bergantung pada versi dialog grafis. Jalankan perintah di komputer desktop, bukan sesi SSH VPS. Pastikan nmcli tersedia dan NetworkManager berjalan.

Gunakan my-wg-vpn.conf agar nama koneksinya my-wg-vpn. Jika nama itu sudah ada, pilih nama perangkat lain dan sesuaikan perintah. Impor sekali saja; berikutnya gunakan up dan down. Perintah berikut mematikan koneksi otomatis saat komputer menyala.

Pengaturan DNS memprioritaskan koneksi ini untuk semua nama selama VPN aktif. DNS aman milik browser bisa berbeda. Lakukan pemeriksaan IP, DNS, dan IPv6 pada langkah 7. Cara NetworkManager ini belum diuji langsung di Ubuntu Desktop; hasil kontainer Linux tidak membuktikan perilaku DNS atau IPv6 desktop.

Jangan sekaligus mengaktifkan profil yang sama dengan wg-quick karena rutenya bisa bertabrakan. Gunakan nmcli untuk memeriksa dan memutus koneksi meskipun antarmuka desktop menampilkannya berbeda.

Di Ubuntu Desktop — periksa NetworkManager
nmcli --version
systemctl is-active NetworkManager
Di Ubuntu Desktop — impor sekali dan atur DNS
sudo nmcli connection import type wireguard file "$HOME/WireGuard/SERVER_IP/my-wg-vpn.conf"
sudo nmcli connection modify my-wg-vpn connection.autoconnect no ipv4.dns-priority -50 ipv4.dns-search "~."
Di Ubuntu Desktop — hubungkan
sudo nmcli connection up my-wg-vpn
nmcli connection show --active
Di Ubuntu Desktop — putuskan
sudo nmcli connection down my-wg-vpn

6. Hubungkan iPhone atau Android melalui kode QR

Pasang aplikasi WireGuard resmi melalui tautan App Store atau Google Play berikut.

Di komputer, masuk lagi ke VPS dengan ssh root@SERVER_IP atau perintah kunci SSH Anda. Jalankan perintah untuk ponsel berikut untuk membuat profil dan menampilkan kode QR.

Di aplikasi WireGuard ponsel, pilih penambahan koneksi dengan pemindaian QR. Pindai kode di komputer, beri nama koneksi, setujui izin VPN, lalu aktifkan.

Gunakan profil terpisah untuk setiap ponsel. Jangan bagikan kode QR karena memberi akses ke VPN. Jika baris kode terpotong, perbesar jendela Terminal lalu tampilkan kembali.

Di server — buat profil iPhone
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.conf
Di server — buat profil Android terpisah
python3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf

WireGuard untuk iPhone — App Store

WireGuard untuk Android — Google Play

7. Periksa apakah internet melewati VPN

Sebelum mengaktifkan VPN, buka halaman My IP melalui tautan berikut dan catat alamat IP. Aktifkan WireGuard, muat ulang My IP, lalu bandingkan dengan IPv4 publik VPS.

Jika halaman terbuka dan menunjukkan alamat VPS, koneksi browser tersebut melewati VPN. Jika alamat lama tetap muncul, lihat pemecahan masalah di bawah.

Ini memeriksa koneksi browser, bukan semua aplikasi atau perlindungan ketika VPN terputus. Pemeriksaan tambahan berikut mencakup DNS dan IPv6.

Periksa IP publik Anda

Opsional: periksa IPv6 dan DNS

IPv6: buka Test IPv6 sebelum terhubung dan catat apakah ada alamat IPv6. Aktifkan VPN dan ulangi. Konfigurasi IPv4 ini seharusnya tidak memiliki internet IPv6 aktif. Jika IPv6 biasa masih terlihat, lalu lintas itu melewati luar VPN. Jika sejak awal tidak ada IPv6, pengujian ini tidak menunjukkan perilaku pada jaringan yang mendukung IPv6.

DNS: saat VPN aktif, buka DNS Leak Test dan jalankan Standard test. Profil memakai DNS Cloudflare. Jika penyedia internet rumah muncul, periksa DNS perangkat. Penyedia lain juga dapat berasal dari pengaturan Secure DNS browser; itu perlu diperiksa, bukan bukti kebocoran otomatis. Hasil ini tidak menjamin perlindungan semua aplikasi.

Buka Test IPv6

Buka DNS Leak Test

8. Atasi koneksi yang tidak berfungsi

Jika My IP masih menunjukkan alamat biasa, pastikan koneksi profil di WireGuard aktif. Matikan dan nyalakan sekali, lalu muat ulang My IP.

Jika situs tidak terbuka saat VPN aktif, matikan VPN dan coba halaman yang sama. Jika tetap gagal, pulihkan internet biasa dahulu. Jika berhasil tanpa VPN, lakukan pemeriksaan berikut.

Untuk membandingkan jaringan, hubungkan komputer ke hotspot ponsel dan coba VPN. Di ponsel, matikan Wi-Fi dan gunakan data seluler. Ini perbandingan sementara; biaya seluler mungkin berlaku. Jika hanya berhasil lewat hotspot atau seluler, masalah terkait koneksi Wi-Fi itu, tetapi penyebab pastinya belum diketahui.

Jika penyiapan berhenti dengan kesalahan, simpan pesan terakhir. Setelah penyebab diperbaiki, jalankan kembali perintah dengan nama perangkat yang sama. Skrip mempertahankan profil yang ada.

Periksa apakah server VPN berjalan

Masuk melalui SSH seperti langkah 2 dan jalankan perintah berikut. Hasilnya seharusnya active. Jika inactive atau failed, jalankan perintah mulai ulang dan periksa lagi. Jika belum active, simpan pesan kesalahan.

Di server — periksa WireGuard
systemctl is-active wg-quick@wg0
Di server — mulai ulang WireGuard jika tidak aktif
systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0

Mulai ulang akan memutus perangkat yang terhubung untuk sementara.

Periksa apakah perangkat mencapai server

Aktifkan VPN dan coba My IP. Jalankan wg show di server. Cari latest handshake pada perangkat: 10 seconds ago berarti koneksi terenkripsi terbentuk baru-baru ini. Jika baris itu tidak ada, belum tercatat koneksi berhasil untuk perangkat tersebut.

Jika koneksi terbaru tidak muncul, periksa Endpoint di profil WireGuard: alamat VPS diikuti :51820. Buka Firewall atau Security groups di panel VPS. Jika ada aturan firewall untuk VPS ini, izinkan UDP masuk pada port 51820. Tampilan bergantung penyedia; firewall di dalam Ubuntu sudah diatur skrip.

Jika handshake terbaru ada tetapi situs masih gagal, simpan hasil dan log atau kesalahan aplikasi untuk diagnosis. Mengubah pengaturan jaringan lanjutan secara acak bisa menyulitkan pemeriksaan.

Di server — tampilkan status koneksi VPN
wg show

9. Berapa kecepatan yang bisa diharapkan?

Dalam pengujian Windows, unduhan sekitar 450–500 Mbps dan unggahan 450–500 Mbps, dengan metode yang sama seperti VPN lain dalam proyek. Jalurnya: pengguna di San Diego → server VPN di San Francisco Bay Area → server pengukuran di Seattle.

VPN memakai Vultr Shared CPU (vc2-1c-1gb): 1 vCPU, RAM 1 GB, lalu lintas 1 TB per bulan, seharga US$5 per bulan saat dipesan.

Dalam pengujian terpisah, instans Vultr Shared CPU Intel High Frequency (vhf-1c-1gb; 1 vCPU, 1 GB RAM) seharga US$6 per bulan mencapai sekitar 550–750 Mbps untuk unduhan maupun unggahan. Kedua paket diuji di Windows dengan metode dan jalur yang sama: San Diego → server VPN di San Francisco Bay Area → server pengukuran di Seattle.

Hasil berbeda di antara instans Intel High Frequency yang kami uji: beberapa secara konsisten mendekati batas atas rentang, sedangkan yang lain lebih dekat ke batas bawah. Memilih paket ini saja tidak menjamin 750 Mbps.

Ini hasil konfigurasi tersebut. Kecepatan Anda bergantung pada koneksi internet, server, dan lokasi.

10. Biaya, privasi, dan batas penyedia

VPN pribadi memberi kendali konfigurasi dan satu lokasi keluar pilihan. Anda bertanggung jawab atas pembaruan keamanan, tagihan, akses perangkat, dan pemulihan. Aktivitas tidak menjadi anonim bagi penyedia hosting; HTTPS tetap diperlukan.

Server uji kami berbiaya US$5 dan US$6 per bulan. Harga, perangkat keras, dan kuota trafik berbeda menurut penyedia dan wilayah. Saat membandingkan dengan langganan VPN, ingat bahwa satu VPS memberi satu lokasi pilihan dan Anda memeliharanya sendiri.

Pemakaian VPN menghabiskan kuota VPS: menjelajah, video, unduh, unggah, dan tes kecepatan. Periksa sisa kuota di panel hosting. Kelebihan dapat menimbulkan biaya atau pembatasan sesuai paket.

Sebelum memakai P2P, baca ketentuan penyedia dan hukum yang berlaku. Protokol dan hak atas konten adalah hal berbeda. Unduh dan bagikan hanya konten yang Anda berhak gunakan; tidak semua host mengizinkan semua penggunaan P2P.

IP pusat data bisa menghadapi CAPTCHA, pembatasan layanan, atau blokir streaming. WireGuard biasa tidak menjamin akses dari semua jaringan yang disaring. Satu VPS juga berarti satu titik kegagalan tanpa kumpulan lokasi dan server pengganti penyedia besar.

11. Tambah perangkat, cabut akses, dan rawat server

Gunakan profil terpisah untuk setiap perangkat. Untuk mencabut akses profil VPN, masuk ke VPS melalui SSH dan jalankan perintah penghapusan di bawah, mengganti iphone dengan nama profil. Hapus juga salinan berkas atau kode QR yang tersimpan. Menghapus profil di perangkat saja tidak mencabut akses pada server.

Perbarui keamanan Ubuntu dan periksa kebutuhan mulai ulang. Mulai ulang pada waktu yang sesuai dan pastikan VPN kembali berfungsi. Lindungi akun hosting dan SSH; ubah autentikasi SSH secara terpisah dengan cara masuk alternatif yang telah diuji.

Skrip penghapusan menghentikan VPN ini dan menghapus konfigurasi serta aturan firewall yang dikelolanya. SSH, UFW, dan paket terpasang tetap ada. Penerusan lalu lintas tetap aktif sampai kebijakan sistem diterapkan saat mulai ulang. Penghapusan VPN tidak menghentikan tagihan VPS: simpan data yang diperlukan, lalu hapus instance melalui penyedia jika tidak digunakan lagi.

Di server — cabut profil iPhone
python3 /root/internetspeed-wireguard/manage-client.py remove iphone
Di server — periksa pembaruan dan kebutuhan mulai ulang
apt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-required

Perintah ini menampilkan pembaruan yang tersedia dan kebutuhan mulai ulang, bukan memasang pembaruan. Atur pembaruan keamanan dan perlindungan VPS secara terpisah dari pemasangan VPN.

Di server — hapus konfigurasi VPN ini (semua klien terputus)
bash /root/internetspeed-wireguard/remove-server.sh --confirm