• Update Script Monitoring UDP V3

    update_script_monitoring_udp
    Postingan ini adalah kelanjutan dari postingan sebelumnya dengan Judul Membuat Panel Monitoring UDP V2
    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 terminal
    monitorpanel
    Script Monitoring UDP V3
    #!/bin/bash
    
    # --- DEFINISI WARNA ---
    NC='\033[0m'; RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; MAGENTA='\033[0;35m'; CYAN='\033[0;36m'; WHITE='\033[1;37m'
    
    # --- Fungsi Helper untuk Enforcer ---
    function start_enforcer() {
        if pgrep -f "enforcer.sh" > /dev/null; then
            echo -e "${YELLOW}Penjaga Koneksi (Enforcer) sudah berjalan.${NC}"
        else
            echo -e "${YELLOW}Menjalankan Penjaga Koneksi di latar belakang...${NC}"
            screen -dmS enforcer /opt/udp-proxy/bin/enforcer.sh
            sleep 2
            if pgrep -f "enforcer.sh" > /dev/null; then
                echo -e "${GREEN}Penjaga Koneksi berhasil dijalankan.${NC}"
            else
                echo -e "${RED}Gagal menjalankan Penjaga Koneksi. Cek lognya dengan 'screen -r enforcer'.${NC}"
            fi
        fi
    }
    
    function stop_enforcer() {
        if pgrep -f "enforcer.sh" > /dev/null; then
            echo -e "${YELLOW}Menghentikan Penjaga Koneksi...${NC}"
            pkill -f "enforcer.sh"
            sleep 2
            echo -e "${GREEN}Penjaga Koneksi telah dihentikan.${NC}"
        else
            echo -e "${YELLOW}Penjaga Koneksi tidak sedang berjalan.${NC}"
        fi
    }
    
    function show_enforcer_status() {
        if pgrep -f "enforcer.sh" > /dev/null; then
            echo -e "${GREEN}Status: Berjalan${NC}"
            echo -e "Untuk melihat log real-time, jalankan: ${CYAN}screen -r enforcer${NC}"
        else
            echo -e "${RED}Status: Tidak Berjalan${NC}"
        fi
        echo ""
        echo -e "${CYAN}Aturan IP yang diblokir saat ini:${NC}"
        sudo iptables -L UDP_ENFORCER --line-numbers -n
    }
    
    function unkick_all() {
        echo -e "${YELLOW}Menghapus semua aturan blokir IP...${NC}"
        sudo iptables -F UDP_ENFORCER
        echo -e "${GREEN}Semua IP telah dibebaskan (unkicked).${NC}"
    }
    
    # --- Fungsi Menu Enforcer ---
    function show_enforcer_menu() {
        while true; do
            show_header
            echo -e "${BLUE}--- Kelola Penjaga Koneksi (Kick Multi-Login) ---${NC}"
            echo -e "  ${GREEN}1.${NC} Jalankan Penjaga Koneksi"
            echo -e "  ${GREEN}2.${NC} Hentikan Penjaga Koneksi"
            echo -e "  ${GREEN}3.${NC} Lihat Status Penjaga & IP Terblokir"
            echo -e "  ${YELLOW}4.${NC} Hapus Semua Blokir IP (Unkick All)"
            echo -e "  ${RED}5.${NC} Kembali ke Menu Utama"
            echo ""
            printf "${YELLOW}Masukkan pilihan Anda [1-5]: ${NC}"
            read choice
            case $choice in
                1)
                    echo -e "${YELLOW}Menjalankan dan mengaktifkan Penjaga Koneksi...${NC}"
                    sudo systemctl enable udp-enforcer.service
                    sudo systemctl start udp-enforcer.service
                    sleep 2
                    echo -e "${GREEN}Selesai.${NC}"
                    ;;
                2)
                    echo -e "${YELLOW}Menghentikan dan menonaktifkan Penjaga Koneksi...${NC}"
                    sudo systemctl stop udp-enforcer.service
                    sudo systemctl disable udp-enforcer.service
                    sleep 2
                    echo -e "${GREEN}Selesai.${NC}"
                    ;;
                3)
                    echo -e "${CYAN}Status Layanan:${NC}"
                    sudo systemctl status udp-enforcer.service --no-pager
                    echo ""
                    echo -e "${CYAN}Aturan IP yang diblokir saat ini:${NC}"
                    sudo iptables -L UDP_ENFORCER --line-numbers -n
                    ;;
                4) unkick_all ;;
                5) break ;;
                *) echo -e "${RED}Pilihan tidak valid.${NC}"; sleep 1 ;;
            esac
            read -p "Tekan Enter untuk melanjutkan..."
        done
    }
    
    
    # --- FUNGSI MENU LAINNYA (TIDAK PERLU DIUBAH) ---
    function show_header() {
        clear
        echo -e "${CYAN}════════════════════════════════════════════════════════════════════════════════${NC}"
        echo -e "${WHITE}                            [ UDP MONITOR PANEL ]                              ${NC}"
        echo -e "${CYAN}════════════════════════════════════════════════════════════════════════════════${NC}"
        echo -e "${CYAN}                              Powered by HAXOR                                  ${NC}"
        echo -e "${CYAN}════════════════════════════════════════════════════════════════════════════════${NC}"
        echo ""
    }
    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 "  ${GREEN}5.${NC} Kelola Penjaga Koneksi (Kick Multi-Login)"
        echo -e "  ${RED}6.${NC} Keluar"
        echo ""
    }
    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
    }
    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
    }
    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
    }
    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 "  ${RED}6.${NC} Kembali ke Menu Utama"; echo ""
            printf "${YELLOW}Masukkan pilihan Anda [1-6]: ${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) break ;;
                *) echo -e "${RED}Pilihan tidak valid.${NC}"; sleep 1 ;;
            esac
            read -p "Tekan Enter untuk melanjutkan..."
        done
    }
    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 "  ${RED}6.${NC} Kembali"; echo ""
            printf "${YELLOW}Masukkan pilihan Anda [1-6]: ${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 -; echo -e "${GREEN}Auto-reboot telah dibatalkan.${NC}"; read -p "Tekan Enter untuk melanjutkan..."; break ;;
                6) 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}"; (crontab -l 2>/dev/null; echo "$cron_job") | crontab -; 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-6]: ${NC}"; read choice
        case $choice in
            1) show_user_menu ;;
            2) show_network_menu ;;
            3) show_resource_menu ;;
            4) show_system_menu ;;
            5) show_enforcer_menu ;;
            6) 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
  • My Profile In Youtube

    ADDRESS

    Jalan Raya Badau Km.11 Rt.06/02 Tanjung Pandan Belitung 33451

    EMAIL

    purwana.cecep@gmail.com
    uraxarixteamxxx@gmail.com

    Telephone

    +628197887769