Open-VPN Client Watcher

Skrip ini akan memeriksa semua interface OpenVPN client di MikroTik. Jika ada interface yang tidak aktif, maka akan dinonaktifkan dan diaktifkan kembali secara otomatis.

Skrip otomatis untuk memantau dan me-restart interface client OpenVPN MikroTik jika koneksi terputus.


Script setup

kamu bisa memilih salah satu, antara basic atau yang dengan notifikasi telegram

⚙️Basic Script (Tanpa notifikasi)
# --- Loop through all OpenVPN client interfaces ---
:foreach id in=[/interface ovpn-client find] do={

    :local isRunning [/interface ovpn-client get $id running]

    :if ($isRunning = false) do={

        :local ifaceName [/interface ovpn-client get $id name]
        /log warning "$ifaceName is not running. Restarting..."

        /interface ovpn-client disable $id
        :delay 2s
        /interface ovpn-client enable $id
        :delay 5s
    }
}

🛠️ Skrip ini akan memantau semua interface OpenVPN client di router Anda.

💡Dengan Notifikasi Telegram

Versi ini akan mengirim notifikasi ke Telegram setiap kali interface OpenVPN client direstart.

🔧 Konfigurasi

Ganti isibotToken dan telegramId dengan token bot dan telegram ID kamu.

# --- Configuration ---
:local botToken "123456:ABCdefGHIjklMNOpqrSTUvwxYZ"
:local telegramId "123456789"

# --- Loop through all OpenVPN client interfaces ---
:foreach id in=[/interface ovpn-client find] do={

    :local isRunning [/interface ovpn-client get $id running]

    :if ($isRunning = false) do={

        :local ifaceName [/interface ovpn-client get $id name]
        :local vpnServer [/interface ovpn-client get $id connect-to]

        /log warning "$ifaceName is not running. Restarting..."

        /interface ovpn-client disable $id
        :delay 1s
        /interface ovpn-client enable $id

        :local pingResult [/ping $vpnServer count=10]

        :local message "<b>OpenVPN Interface Restarted</b>%0A"
        :set message ($message . "Interface: <code>$ifaceName</code>%0A")
        :set message ($message . "Server: <code>$vpnServer</code>%0A")
        :set message ($message . "Ping Result: $pingResult/10")

        /tool fetch url=("https://api.telegram.org/bot$botToken/sendMessage?chat_id=$telegramId&text=$message&parse_mode=HTML") keep-result=no
    }
}

🛡️ Tips Keamanan: Jangan bagikan token bot kamu ke publik.

🕐 Scheduler Setup

Untuk membuat schedulernya:

  1. Buka ke System > Scheduler dari winbox

  2. buat schdule baru bernama OpenVPN-Client Watcher atau apapun, bebas

  3. Tempelkan skrip (versi basci atau Telegram).

jangan lupa tekan apply atau ok jika sudah

✅ Apa yang script ini lakukan?

Kondisi
Aksi yang Diambil

VPN aktif

Tidak melakukan apa-apa

VPN tidak aktif

Interface akan di-restart

Telegram aktif

Notifikasi akan dikirim


🧪 Cara Uji Coba

  • Matikan sementara interface OpenVPN-nya

  • Lihat hasil di Log MikroTik dan di Telegram kamu.

Last updated

Was this helpful?