Cara Menggunakan:
1.Buka file dengan perintah: sudo nano /opt/udp-proxy/bin/monitorpanel.sh
sudo nano /opt/udp-proxy/bin/monitorpanel.sh
2.Hapus semua isi file lama
3.Copy dan paste script di atas ke dalam file
4.Simpan dengan Ctrl+X, lalu Y, lalu Enter
5.Jalankan panel dengan perintah: bash /opt/udp-proxy/bin/monitorpanel.sh
bash /opt/udp-proxy/bin/monitorpanel.sh
6.Untuk menampilkan panel menu cukup ketik monitorpanel pada terminalmonitorpanel
Script Monitoring UDP V3
#!/bin/bash
# --- DEFINISI WARNA ---
# Anda bisa mengubah kode warna di sini jika ingin
NC='\033[0m' # No Color (Reset)
RED='\033[0;31m' # Merah
GREEN='\033[0;32m' # Hijau
YELLOW='\033[1;33m' # Kuning (Tebal)
BLUE='\033[0;34m' # Biru
MAGENTA='\033[0;35m'# Magenta
CYAN='\033[0;36m' # Cyan
WHITE='\033[1;37m' # Putih (Tebal)
# --- PATH LOG AUTO REBOOT ---
AUTO_REBOOT_LOG="/var/log/autoreboot.log"
# --- Fungsi untuk menampilkan header panel ---
function show_header() {
clear
echo -e "${CYAN}════════════════════════════════════════════════════════════════════════════════${NC}"
echo -e "${WHITE} [ MONITOR PANEL UDP MANAGER ] ${NC}"
echo -e "${CYAN}════════════════════════════════════════════════════════════════════════════════${NC}"
echo -e "${CYAN} Powered By HaXoR Punya ${NC}"
echo -e "${CYAN}════════════════════════════════════════════════════════════════════════════════${NC}"
echo ""
}
# --- Fungsi untuk menampilkan menu utama ---
function show_menu() {
echo -e "${MAGENTA}Pilih kategori menu:${NC}"
echo -e " ${GREEN}1.${NC} Monitoring User UDP"
echo -e " ${GREEN}2.${NC} Monitoring Bandwidth & Jaringan"
echo -e " ${GREEN}3.${NC} Monitoring Sumber Daya (CPU/RAM/Disk)"
echo -e " ${GREEN}4.${NC} Informasi & Kontrol Sistem"
echo -e " ${RED}5.${NC} Keluar"
echo ""
}
# --- Fungsi untuk mengecek status auto reboot ---
function check_auto_reboot_status() {
if crontab -l 2>/dev/null | grep -q "/sbin/reboot"; then
echo -e "${GREEN}Status: Auto Reboot AKTIF${NC}"
return 0
else
echo -e "${RED}Status: Auto Reboot NON-AKTIF${NC}"
return 1
fi
}
# --- Fungsi untuk menampilkan log auto reboot ---
function show_auto_reboot_log() {
show_header
echo -e "${BLUE}--- Log Auto Reboot VPS ---${NC}"
if [ -f "$AUTO_REBOOT_LOG" ]; then
echo -e "${GREEN}Isi Log Auto Reboot:${NC}"
echo "----------------------------------------"
cat "$AUTO_REBOOT_LOG"
echo "----------------------------------------"
else
echo -e "${YELLOW}Log auto reboot belum ada atau kosong.${NC}"
fi
read -p "Tekan Enter untuk melanjutkan..."
}
# --- Fungsi untuk menghapus log auto reboot ---
function clear_auto_reboot_log() {
show_header
echo -e "${BLUE}--- Hapus Log Auto Reboot VPS ---${NC}"
if [ -f "$AUTO_REBOOT_LOG" ]; then
printf "${RED}Apakah Anda yakin ingin menghapus log auto reboot? (y/n): ${NC}"
read confirm
if [[ $confirm == [yY] ]]; then
> "$AUTO_REBOOT_LOG"
echo -e "${GREEN}Log auto reboot telah dihapus.${NC}"
else
echo -e "${YELLOW}Penghapusan log dibatalkan.${NC}"
fi
else
echo -e "${YELLOW}Log auto reboot tidak ditemukan.${NC}"
fi
read -p "Tekan Enter untuk melanjutkan..."
}
# --- Fungsi untuk menulis log auto reboot ---
function write_auto_reboot_log() {
local message="$1"
echo "$(date '+%Y-%m-%d %H:%M:%S') - $message" >> "$AUTO_REBOOT_LOG"
}
# --- Sub-Menu: Monitoring User UDP ---
function show_user_menu() {
while true; do
show_header
echo -e "${BLUE}--- Monitoring User UDP ---${NC}"
echo -e " ${GREEN}1.${NC} Cek User Login (Real-time Dashboard)"
echo -e " ${GREEN}2.${NC} Cek User Multi-Login"
echo -e " ${GREEN}3.${NC} Tampilkan User Aktif Saat Ini"
echo -e " ${GREEN}4.${NC} Tampilkan Alur Log Koneksi (Live Stream)"
echo -e " ${RED}5.${NC} Kembali ke Menu Utama"
echo ""
printf "${YELLOW}Masukkan pilihan Anda [1-5]: ${NC}"
read choice
case $choice in
1) watch -n 5 udplog ;;
2) checkmultilogin ;;
3) udplog ;;
4) sudo journalctl -u udp-custom.service -f | grep "Client connected" ;;
5) break ;;
*) echo -e "${RED}Pilihan tidak valid.${NC}"; sleep 1 ;;
esac
read -p "Tekan Enter untuk melanjutkan..."
done
}
# --- Sub-Menu: Bandwidth & Jaringan ---
function show_network_menu() {
while true; do
show_header
echo -e "${BLUE}--- Monitoring Bandwidth & Jaringan ---${NC}"
echo -e " ${GREEN}1.${NC} Monitor Bandwidth (Per Jam)"
echo -e " ${GREEN}2.${NC} Monitor Bandwidth (Per Hari)"
echo -e " ${GREEN}3.${NC} Monitor Bandwidth (Per Bulan)"
echo -e " ${GREEN}4.${NC} Cek Kecepatan Internet (Ookla Speedtest)"
echo -e " ${RED}5.${NC} Kembali ke Menu Utama"
echo ""
printf "${YELLOW}Masukkan pilihan Anda [1-5]: ${NC}"
read choice
case $choice in
1) vnstat -h ;;
2) vnstat -d ;;
3) vnstat -m ;;
4) speedtest ;;
5) break ;;
*) echo -e "${RED}Pilihan tidak valid.${NC}"; sleep 1 ;;
esac
read -p "Tekan Enter untuk melanjutkan..."
done
}
# --- Sub-Menu: Sumber Daya ---
function show_resource_menu() {
while true; do
show_header
echo -e "${BLUE}--- Monitoring Sumber Daya ---${NC}"
echo -e " ${GREEN}1.${NC} Tampilkan Penggunaan CPU & RAM (Real-time)"
echo -e " ${GREEN}2.${NC} Tampilkan Penggunaan Disk"
echo -e " ${GREEN}3.${NC} Ringkasan Penggunaan Sumber Daya"
echo -e " ${RED}4.${NC} Kembali ke Menu Utama"
echo ""
printf "${YELLOW}Masukkan pilihan Anda [1-4]: ${NC}"
read choice
case $choice in
1) htop ;;
2) df -h ;;
3) echo -e "${CYAN}### Penggunaan CPU & RAM ###${NC}"; top -bn1 | head -5; echo -e "\n${CYAN}### Penggunaan Disk ###${NC}"; df -h ;;
4) break ;;
*) echo -e "${RED}Pilihan tidak valid.${NC}"; sleep 1 ;;
esac
read -p "Tekan Enter untuk melanjutkan..."
done
}
# --- Sub-Menu: Informasi & Kontrol Sistem ---
function show_system_menu() {
while true; do
show_header
echo -e "${BLUE}--- Informasi & Kontrol Sistem ---${NC}"
echo -e " ${GREEN}1.${NC} Informasi VPS Lengkap"
echo -e " ${GREEN}2.${NC} Pengguna VPS yang Sedang Login"
echo -e " ${GREEN}3.${NC} Restart Service UDP"
echo -e " ${YELLOW}4.${NC} Restart VPS"
echo -e " ${GREEN}5.${NC} Atur Auto Reboot VPS"
echo -e " ${GREEN}6.${NC} Status Auto Reboot VPS"
echo -e " ${GREEN}7.${NC} Lihat Log Auto Reboot"
echo -e " ${GREEN}8.${NC} Hapus Log Auto Reboot"
echo -e " ${RED}9.${NC} Kembali ke Menu Utama"
echo ""
printf "${YELLOW}Masukkan pilihan Anda [1-9]: ${NC}"
read choice
case $choice in
1) neofetch ;;
2) w ;;
3)
echo -e "${YELLOW}Mencoba me-restart service udp-custom...${NC}"
sudo systemctl restart udp-custom.service
echo -e "${GREEN}Service telah di-restart.${NC}"
;;
4)
printf "${RED}Apakah Anda yakin ingin me-reboot VPS? (y/n): ${NC}"
read confirm
if [[ $confirm == [yY] ]]; then
echo -e "${YELLOW}VPS akan reboot dalam 5 detik...${NC}"
sleep 5
sudo reboot
fi
;;
5) setup_auto_reboot_menu ;;
6)
show_header
echo -e "${BLUE}--- Status Auto Reboot VPS ---${NC}"
check_auto_reboot_status
read -p "Tekan Enter untuk melanjutkan..."
;;
7) show_auto_reboot_log ;;
8) clear_auto_reboot_log ;;
9) break ;;
*) echo -e "${RED}Pilihan tidak valid.${NC}"; sleep 1 ;;
esac
read -p "Tekan Enter untuk melanjutkan..."
done
}
# --- Fungsi untuk setup Auto Reboot ---
function setup_auto_reboot_menu() {
while true; do
show_header
echo -e "${BLUE}--- Atur Auto Reboot VPS ---${NC}"
echo -e " ${GREEN}1.${NC} Setiap Jam"
echo -e " ${GREEN}2.${NC} Setiap 6 Jam"
echo -e " ${GREEN}3.${NC} Setiap 12 Jam"
echo -e " ${GREEN}4.${NC} Setiap Hari (Tengah Malam)"
echo -e " ${YELLOW}5.${NC} Batalkan Auto Reboot"
echo -e " ${GREEN}6.${NC} Lihat Status Auto Reboot"
echo -e " ${GREEN}7.${NC} Lihat Log Auto Reboot"
echo -e " ${GREEN}8.${NC} Hapus Log Auto Reboot"
echo -e " ${RED}9.${NC} Kembali"
echo ""
printf "${YELLOW}Masukkan pilihan Anda [1-9]: ${NC}"
read choice
local cron_job=""
case $choice in
1) cron_job="0 * * * * /sbin/reboot" ;;
2) cron_job="0 */6 * * * /sbin/reboot" ;;
3) cron_job="0 */12 * * * /sbin/reboot" ;;
4) cron_job="0 0 * * * /sbin/reboot" ;;
5)
echo -e "${YELLOW}Membatalkan semua auto-reboot...${NC}"
crontab -l | grep -v "/sbin/reboot" | crontab -
write_auto_reboot_log "Auto reboot dibatalkan"
echo -e "${GREEN}Auto-reboot telah dibatalkan.${NC}"
read -p "Tekan Enter untuk melanjutkan..."
break
;;
6)
show_header
echo -e "${BLUE}--- Status Auto Reboot VPS ---${NC}"
check_auto_reboot_status
read -p "Tekan Enter untuk melanjutkan..."
;;
7) show_auto_reboot_log ;;
8) clear_auto_reboot_log ;;
9) break ;;
*) echo -e "${RED}Pilihan tidak valid.${NC}"; sleep 1; continue ;;
esac
if [ -n "$cron_job" ]; then
echo -e "${YELLOW}Menambahkan cron job: $cron_job${NC}"
echo "$cron_job" | crontab -
write_auto_reboot_log "Auto reboot diatur: $cron_job"
echo -e "${GREEN}Auto-reboot telah diatur.${NC}"
read -p "Tekan Enter untuk melanjutkan..."
break
fi
done
}
# --- Loop Utama Program ---
while true; do
show_header
show_menu
printf "${YELLOW}Masukkan pilihan Anda [1-5]: ${NC}"
read choice
case $choice in
1) show_user_menu ;;
2) show_network_menu ;;
3) show_resource_menu ;;
4) show_system_menu ;;
5)
echo -e "${GREEN}Keluar dari Monitor Panel. Sampai jumpa!${NC}"
exit 0
;;
*)
echo -e "${RED}Pilihan tidak valid, silakan coba lagi.${NC}"
sleep 2
;;
esac
done



