Limit Bandwidth VPS Debian

⚙️ Membuat Limit Bandwidth VPS di Debian

Berikut langkah penyempurnaan skrip limit bandwidth agar tampil lebih informatif, berwarna, dan mudah digunakan.

1️⃣ Edit Skrip

Jalankan perintah berikut:

nano /usr/bin/limitbw

💡 Versi Skrip Punya Admin

Jika kamu menyimpan skrip di lokasi lain, gunakan:

sudo nano /root/limit-bw.sh

2️⃣ Masukkan kode versi yang diperindah ini:

#!/bin/bash
# === Limit Bandwidth VPS ===
# Kuota maks: 1850 GB per bulan

LIMIT=1850
IFACE="eth0"
USED=$(vnstat -i $IFACE --oneline | awk -F';' '{print $11}' | cut -d'.' -f1)
UNIT=$(vnstat -i $IFACE --oneline | awk -F';' '{print $12}')

# Konversi MiB → GB
if [[ "$UNIT" == "MiB" ]]; then
  USED=$((USED / 1024))
fi

# Hitung sisa kuota
REMAIN=$((LIMIT - USED))
PERCENT=$((100 * USED / LIMIT))

# Bersihkan tampilan
clear
echo -e "\e[1;36m╒════════════════════════════════════════════════════════════╕"
echo -e " │                   [ BANDWIDTH STATUS ]                    │"
echo -e " │ Interface : $IFACE"
echo -e " │ Terpakai  : ${USED} GB"
echo -e " │ Batas     : ${LIMIT} GB"
echo -e " │ Sisa      : ${REMAIN} GB"
echo -e " │ Persentase: ${PERCENT}%"
echo -e " ╘════════════════════════════════════════════════════════════╛\e[0m"

# Logika limit
if [ "$USED" -ge "$LIMIT" ]; then
    echo -e "\e[1;31m🚫 Limit ${LIMIT}GB tercapai! Memblokir koneksi...\e[0m"
    iptables -D OUTPUT -o $IFACE -j DROP 2>/dev/null
    iptables -D INPUT -i $IFACE -j DROP 2>/dev/null
    iptables -A OUTPUT -o $IFACE -j DROP
    iptables -A INPUT -i $IFACE -j DROP
elif [ "$PERCENT" -ge 90 ]; then
    echo -e "\e[1;33m⚠️  Penggunaan sudah ${PERCENT}% — hampir mencapai batas!\e[0m"
else
    echo -e "\e[1;32m✅ Masih dalam batas aman.\e[0m"
fi

3️⃣ Simpan dan aktifkan

chmod +x /usr/bin/limitbw

4️⃣ Jalankan skrip

limitbw

🎯 Contoh hasil tampilan:

╒════════════════════════════════════════════════════════════╕
 │                   [ BANDWIDTH STATUS ]                    │
 │ Interface : eth0
 │ Terpakai  : 1342 GB
 │ Batas     : 1850 GB
 │ Sisa      : 508 GB
 │ Persentase: 72%
 ╘════════════════════════════════════════════════════════════╛
✅ Masih dalam batas aman.

💎 Tips Tambahan

Jika skrip kamu disimpan di /root/limit-bw.sh, agar bisa dijalankan dari mana pun cukup dengan perintah limitbw:

cp /root/limit-bw.sh /usr/bin/limitbw
chmod +x /usr/bin/limitbw