# IP Monitor

Modern Windows masaüstü uygulaması - IP izleme, m3u8 kanal kontrolü ve bildirim sistemi.

## Özellikler

### 🌐 IP Bilgileri
- Public IP adresinizi otomatik tespit
- Ülke, şehir ve ISP bilgilerini görüntüleme
- ip-api.com ve ipify.org API entegrasyonu

### 📺 M3U8 Kanal Yönetimi
- M3U8/M3U playlist URL'lerini içe aktarma
- Kanal listesi görüntüleme ve gruplandırma
- İzlemek istediğiniz kanalları seçme
- Kanal logolarını ve metadata'sını gösterme

### 📊 Canlı İzleme
- Seçili kanalların ping ve stream kontrolü
- HTTP durum kodları takibi (404, 502, vb.)
- Bağlantı hataları tespiti (ERR_CONNRESET, ECONNREFUSED)
- Gerçek zamanlı durum güncellemeleri
- Gecikme (latency) ölçümü

### 🔔 Bildirim Sistemi
- **Windows Toast**: Yerel Windows bildirimleri
- **Telegram Bot**: Telegram üzerinden anlık bildirim
- **Email (SMTP)**: E-posta ile hata raporları
- Otomatik veya manuel bildirim seçeneği
- Özelleştirilebilir bildirim kuralları

### 🔧 Panel Entegrasyonu
- MONITOR_API_GUIDE uyumlu API entegrasyonu
- IP listesi çekme (REST/SSE)
- Burn vote gönderme
- Health check raporlama

## Kurulum

```bash
# Bağımlılıkları yükle
npm install

# Geliştirme modunda çalıştır
npm run dev

# Production build
npm run build

# Electron uygulaması oluştur
npm run build:electron
```

## Gereksinimler

- Node.js 18+
- npm veya yarn
- Windows 10/11 (64-bit)

## Teknoloji Stack

- **Electron 28** - Desktop framework
- **React 18** - UI library
- **TypeScript** - Type safety
- **Tailwind CSS** - Styling
- **Framer Motion** - Animations
- **Zustand** - State management
- **Axios** - HTTP client
- **electron-store** - Settings persistence

## Konfigürasyon

### Telegram Bildirimleri
1. [@BotFather](https://t.me/BotFather) ile yeni bot oluşturun
2. Bot token'ı alın
3. Chat ID'nizi [@userinfobot](https://t.me/userinfobot) ile öğrenin
4. Ayarlar sayfasından bilgileri girin

### Email Bildirimleri
1. SMTP sunucu bilgilerini girin (Gmail, Outlook, vb.)
2. Gmail için App Password kullanmanız gerekebilir
3. Test butonuyla bağlantıyı kontrol edin

### Panel API
1. Panel URL'sini girin
2. Monitor ID tanımlayın
3. Auth token'ı girin (panel'den alınır)

## Lisans

MIT

