GitHunt
YU

YudaKusumaID/zte-f609-manager

CLI tool interaktif untuk mengelola router ZTE F609 — monitoring perangkat, status optik, IP publik, perangkat terhubung, dan auto IP changer. Dibangun dengan Python & Rich.

ZTE F609 Router Manager 📡

Python Version
License
Platform
Contributions Welcome

ZTE F609 Router Manager adalah tool CLI interaktif untuk mengelola router ZTE F609 langsung dari terminal. Dibangun dengan Python dan Rich untuk tampilan TUI yang informatif dan mudah digunakan.

Tool ini bekerja dengan cara melakukan web scraping ke halaman administrasi router, sehingga kamu bisa memantau status, melihat perangkat terhubung, hingga mengganti IP publik — semuanya tanpa perlu membuka browser.

🎯 Mengapa Pakai Ini?

  • Monitoring Cepat: Cek info perangkat, status optik (redaman/PON), dan IP publik dalam hitungan detik tanpa buka browser.
  • Lihat Siapa yang Nyambung: Tampilkan daftar perangkat yang terhubung ke Wi-Fi router lengkap dengan sinyal (RSSI), kecepatan, dan mode koneksi.
  • Ganti IP Publik Otomatis: Fitur andalan — otomatis reboot router berulang kali sampai mendapatkan IP publik dengan prefix yang kamu inginkan (whitelist/blacklist).

🚀 Fitur Utama

  • Device Information — Lihat model, serial number, versi firmware, dan PON serial number.
  • PON Information — Pantau status GPON, daya optik Rx/Tx, tegangan, arus bias, dan suhu modul optik.
  • WAN Connection — Lihat IP publik (IPv4 & IPv6), gateway, DNS, status koneksi, dan disconnect reason.
  • Connected Devices — Daftar perangkat Wi-Fi yang terhubung dengan detail RSSI, Tx/Rx rate, dan mode STA.
  • Reboot Router — Kirim perintah restart ke router dengan konfirmasi.
  • Public IP Changer — Ganti IP publik secara otomatis dengan mode whitelist/blacklist berdasarkan prefix.
  • Settings — Ubah konfigurasi IP router, username, dan password dari dalam aplikasi.

⚙️ Cara Kerja IP Changer

┌─────────────┐     ┌──────────┐     ┌───────────────┐     ┌──────────────┐
│ Kirim Reboot│────▶│ Tunggu   │────▶│ Ambil IP Baru │────▶│ Cocok dengan │
│ ke Router   │     │ Online   │     │ dari ISP      │     │ Kriteria?    │
└─────────────┘     └──────────┘     └───────────────┘     └──────┬───────┘
                                                                  │
                                                      Ya ─────── ┤ ─────── Tidak
                                                      │                     │
                                                      ▼                     ▼
                                                  ✅ Selesai         🔄 Ulangi
  1. Router di-reboot via web interface.
  2. Tool menunggu sampai router kembali online (polling).
  3. Setelah online, tool login dan mengambil IP publik baru dari ISP.
  4. IP dicek berdasarkan mode whitelist (hanya terima prefix tertentu) atau blacklist (tolak prefix tertentu).
  5. Jika tidak sesuai, proses diulang hingga max_attempts tercapai.

🛠 Instalasi

Prasyarat

  • Python 3.10 atau lebih baru
  • Router ZTE F609 yang dapat diakses via jaringan lokal

Langkah Instalasi

# Clone repository
git clone https://github.com/YudaKusumaID/zte-f609-manager.git
cd zte-f609-manager

# Install dependencies
pip install -r requirements.txt

# Salin dan sesuaikan konfigurasi
copy zte_config.example.json zte_config.json
# Edit zte_config.json dengan IP, username, dan password router kamu

Konfigurasi

Buat file zte_config.json di root folder (atau salin dari zte_config.example.json):

{
    "ip": "192.168.1.1",
    "username": "admin",
    "password": "admin"
}

Catatan: File ini berisi kredensial dan sudah di-exclude dari Git via .gitignore.

📖 Cara Penggunaan

# Jalankan aplikasi
python main.py

# Atau gunakan script batch (Windows)
run.bat

Setelah berjalan, navigasi menu dengan mengetik nomor pilihan:

No Menu Fungsi
1 Device Information Lihat informasi dasar perangkat
2 PON Information Lihat status koneksi optik (redaman)
3 WAN Connection Lihat informasi IP publik dan koneksi WAN
4 Connected Devices Lihat perangkat yang terhubung ke Wi-Fi
5 Reboot Router Restart router dari jarak jauh
6 Public IP Changer Ganti IP publik dengan kriteria tertentu
7 Settings Ubah konfigurasi koneksi
0 Exit Keluar dari aplikasi

📁 Struktur Project

zte-f609-manager/
├── main.py                  # Entry point aplikasi
├── cli/
│   ├── app.py               # Orkestrator CLI & routing menu
│   └── views.py             # Tampilan UI (tabel, panel, progress)
├── client/
│   ├── zte_client.py         # HTTP client & web scraping ke router
│   ├── models.py             # Data models (dataclass)
│   └── exceptions.py         # Custom exceptions
├── core/
│   ├── config.py             # Manajemen konfigurasi (load/save JSON)
│   └── ip_changer.py         # Logika inti IP Changer
├── requirements.txt          # Dependencies Python
├── zte_config.example.json   # Contoh file konfigurasi
└── run.bat                   # Script launcher Windows

❓ FAQ

Apakah tool ini aman digunakan?

Tool ini hanya melakukan request HTTP ke halaman administrasi router di jaringan lokal kamu. Tidak ada data yang dikirim ke server eksternal.

Kenapa login gagal terus?

Pastikan username dan password di zte_config.json sesuai dengan kredensial admin router kamu. Juga pastikan tidak ada sesi aktif lain yang sedang login ke router (buka browser dan logout dulu jika perlu).

IP Changer tidak menemukan IP yang sesuai setelah banyak percobaan?

Ini tergantung ISP kamu. Beberapa ISP hanya memberikan range IP tertentu. Coba perbesar daftar prefix yang diterima atau gunakan mode blacklist sebagai gantinya.

Apakah bisa digunakan untuk router selain ZTE F609?

Tidak. Tool ini dibuat khusus untuk ZTE F609 karena menggunakan web scraping yang spesifik terhadap struktur halaman HTML router tersebut.

🤝 Kontribusi

Kontribusi sangat diterima! Baik itu laporan bug, permintaan fitur, atau pull request.

  1. Fork repository ini.
  2. Buat branch fitur: git checkout -b fitur/fitur-keren
  3. Commit perubahan: git commit -m 'Tambah fitur keren'
  4. Push ke branch: git push origin fitur/fitur-keren
  5. Buat Pull Request.

🛡 Lisensi

Project ini dilisensikan di bawah MIT License.

🙏 Credits

Dibangun dengan bantuan library-library hebat:

  • Rich — Untuk tampilan TUI yang cantik dan informatif.
  • Requests — HTTP client yang sederhana dan powerful.
  • Beautiful Soup — Untuk parsing HTML dari halaman router.

Dibuat oleh Yuda Kusuma
Untuk pengguna ZTE F609 di Indonesia 🇮🇩