Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

🌐 Telegram-Web-Monitor

Shell Script License: MIT

Skrip Bash ringan yang didesain untuk memantau status ketersediaan (Live/Down) dari daftar website dan mengirimkan notifikasi instan ke Telegram ketika status situs berubah.


✨ Fitur Utama

  • Pengecekan Status HTTP: Mengecek kode status HTTP (200, 404, 500, dll.) dari URL yang ditargetkan menggunakan curl.
  • Notifikasi Telegram: Mengirim peringatan (alert) otomatis ke Telegram saat status website berubah (Live -> Down, atau Down -> Live).
  • Pencatatan Status: Menyimpan riwayat status terakhir (termasuk waktu Last Live dan Last Down) dalam file JSON (webmonitoring/status.json).
  • Penanganan Redirect: Otomatis mengikuti pengalihan permanen (kode 301) dan mengecek status di URL tujuan.
  • Input Fleksibel: Mendukung pemantauan URL tunggal, multiple URL, atau daftar URL dari file teks.

🛠️ Prasyarat

Pastikan Anda memiliki utilitas berikut terinstal di sistem Anda:

  • bash
  • curl
  • jq (Untuk memanipulasi file JSON)

Instalasi Prasyarat

# Untuk Debian/Ubuntu
sudo apt update
sudo apt install curl jq

# Untuk sistem berbasis RHEL/Fedora
sudo dnf install curl jq

🚀 Langkah-Langkah Deployment

Ikuti langkah-langkah berikut untuk menyiapkan dan menjalankan monitor.
Asumsikan nama skrip Anda adalah monweb.sh.


1️⃣ Clone Repositori

Clone repositori Anda ke server atau mesin lokal:

git clone https://github.com/ForensicID/web-monitoring-bot.git
cd Telegram-Web-Monitor

2️⃣ Konfigurasi Telegram & Skrip

🔑 Dapatkan Token & Chat ID Telegram

  • Buat Bot via @BotFather untuk mendapatkan bot_token.
  • Dapatkan chat_id grup atau chat pribadi yang dituju.

📝 Edit Skrip

Buka file monweb.sh dan ganti YOUR_BOT_TOKEN dan YOUR_CHAT_ID dengan kredensial Anda:

# Dalam monweb.sh
bot_token="TOKEN_ANDA_DI_SINI"
chat_id="CHAT_ID_ANDA_DI_SINI"

⚒️ Beri Izin Eksekusi

Berikan izin eksekusi pada skrip:

chmod +x monitor.sh

3️⃣ Siapkan Direktori & Daftar Website

📂 Buat Direktori Status

Skrip membutuhkan direktori webmonitoring untuk menyimpan file status JSON.

mkdir webmonitoring

🌐 Buat Daftar URL

Buat file teks (misalnya, urls.txt) yang berisi daftar website yang ingin Anda pantau, satu URL per baris. urls.txt

4️⃣ Uji Coba (Running Manual)

Jalankan skrip secara manual untuk memastikan konfigurasi berjalan dengan baik dan notifikasi Telegram terkirim:

./monweb.sh -l urls.txt

5️⃣ Otomasi dengan Cron Job (Produksi)

Untuk menjaga pemantauan berjalan terus-menerus, atur cron job untuk menjalankan skrip setiap beberapa menit (misalnya, setiap 5 menit).

📖 Buka Crontab

crontab -e

➕ Tambahkan Baris Berikut

Pastikan untuk menggunakan absolute path ke skrip monitor.sh dan file urls.txt Anda:

# Format: Menit Jam Hari Bulan Hari_Minggu Perintah
# Jalankan monitor setiap 5 menit
*/5 * * * * /path/to/Telegram-Web-Monitor/monitor.sh -l /path/to/Telegram-Web-Monitor/urls.txt >/dev/null 2>&1

📄 Struktur Data Status

Status terakhir dari semua website yang dipantau disimpan dalam file webmonitoring/status.json.

🗂️ Contoh isi status.json

{
  "sites": {
    "website-utama-anda.com": {
      "Status": "Live",
      "Last Live": "11/12/2025-18:00:00"
    },
    "website-kedua.net": {
      "Status": "Down",
      "Last Down": "11/12/2025-17:55:00"
    }
  }
}

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages