Gaming Network Diagnostics Tool — Türk yapımı, açık kaynak, FPS/MOBA oyuncuları için ağ teşhis aracı.
Tauri 2 + React 19 + TypeScript + Rust ile yazılmış native desktop uygulaması. Ping, paket kaybı, jitter, bufferbloat, gerçek hız testi ve AI destekli analiz tek bir araçta.
- CS2 SDR relay IP'lerine gerçek ICMP ping (Viyana, Frankfurt, Varşova, Madrid, Amsterdam, Stockholm, Londra, Paris)
- 10 sample + 1 warm-up (ARP cache için)
- Standard deviation jitter (RFC 3550 yumuşatması yerine kararlı σ)
- En düşük paket kaybı mantığı — oyuncu en iyi rotaya bağlanır
- Sortable tablo (Avg, Min, Max, Jitter, Loss, Grade) — header'a tıkla sırala
- Unreachable host'lar (ICMP firewall) ortalamadan elenir
- 8 paralel TCP connection download
- 8 paralel upload (256KB chunk, smooth bar)
- 2 sn warm-up (TCP slow-start atlanır)
- 10 sn ölçüm penceresi her yön için
- Sliding window 1sn peak Mbps
- Canlı gauge — backend
tauri::Emitterile 200ms refresh
- 5 sn idle + 10 sn DL + 10 sn UL pencereleri
- ICMP ping ile latency (HTTP HEAD değil — gerçek RTT)
- p95 percentile delta (median yerine — worst-case lag)
- 🎯 Segment teşhisi:
- PC ↔ Router segmenti (gateway ping)
- Router ↔ WAN segmenti (1.1.1.1 ping)
- Suçlu segment otomatik tespit (SQM, Wi-Fi, ISP önerileri)
- OpenAI GPT veya Ollama (local)
- Fallback: kural-bazlı
local_analyze(key gerektirmez) - Gaming score: latency + jitter + bufferbloat + Wi-Fi quality + packet loss
- SSID, BSSID, signal (dBm + %)
- 2.4/5GHz band, kanal, PHY type (802.11n/ac/ax)
- TX/RX rate, encryption (WPA2/WPA3)
- 6 adımlı pulse-ring animasyonlu kart
- Her adım için canlı sayaç
- "Askıda kalmış" hissi yok
Releases sayfasından NetDiag-vX.X.X-portable.exe indir:
- İndir
- Sağ tıkla → Yönetici olarak çalıştır (ICMP için lazım)
- Run Diagnostics'e bas
- ~60 saniye bekle, sonuçları gör
Kuruluma gerek yok. WebView2 Windows 10/11'de built-in.
git clone https://github.com/thorrangonak/netdiag.git
cd netdiag
npm install
cd ui && npm install && cd ..
npm run tauri devGereksinimler:
- Node.js 18+
- Rust 1.75+
- Windows 10/11 (Linux/macOS desteği planda)
npm run build:portable
# Çıktı: dist/NetDiag-vX.X.X-portable.exe (~5 MB)| Layer | Tech |
|---|---|
| Frontend | React 19, TypeScript 5.9, Vite 8 |
| Styling | Tailwind 4 + custom glass/dark CSS |
| Backend | Rust 2021, Tokio async |
| Native | Tauri 2.11, WebView2 |
| Ping | surge-ping (ICMP raw socket) |
| HTTP | reqwest 0.12 |
| Network | windows-rs (IpHelper), sysinfo |
netdiag/
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── lib.rs # Tauri command registry
│ │ ├── nic.rs # NIC info (sysinfo)
│ │ ├── wifi.rs # Wi-Fi info (Windows WLAN API)
│ │ ├── ping.rs # CS2 SDR ping
│ │ ├── speedtest.rs # Cloudflare speed test
│ │ ├── bufferbloat.rs # Dual-target bufferbloat
│ │ ├── network_topology.rs # Gateway tespiti
│ │ └── ai.rs # AI analiz (OpenAI/Ollama/local)
│ └── Cargo.toml
├── ui/ # Frontend
│ ├── src/
│ │ ├── App.tsx
│ │ ├── components/ # Sidebar, TopBar, tabs/
│ │ └── lib/ # icons, helpers
│ └── package.json
├── scripts/
│ ├── bump-version.mjs # Versiyon senkronizasyonu
│ └── build-portable.mjs # Portable .exe build
└── package.json
npm run dev # Vite dev server (ui/)
npm run tauri dev # Tauri dev (hot reload)
npm run build # UI production build
npm run build:portable # Tek .exe portable build
npm run bump # Patch versiyon: 0.3.0 → 0.3.1
npm run bump:minor # Minor: 0.3.x → 0.4.0
npm run bump:major # Major: 0.x.x → 1.0.0Tek source of truth versiyon:
package.json, ui/package.json, tauri.conf.json, Cargo.toml, Sidebar.tsx — hepsi npm run bump ile senkron.
Debug log macro (dlog!):
Release build'de no-op. Console penceresi açılmaz.
Gateway segment teşhisi: WAN delta + Gateway delta karşılaştırılır. Suçlu taraf otomatik bulunur:
- Gateway temiz + WAN sorunlu → ISP/modem
- İkisi de sorunlu → PC ↔ Router (Wi-Fi, NIC driver)
- İkisi de temiz → 🎉
- ICMP raw socket yönetici izni ister. Yoksa TCP fallback (daha az hassas)
- Cloudflare
__downendpoint 95MB cap'li (403 üstüne) — 64MB chunk kullanılıyor - Linux/macOS desteği henüz yok (gateway tespit Windows-only)
- AI analiz default'ta local rule engine (OpenAI key veya Ollama gerekmez ama daha temel)
PR'lara açığım kanka. Branch açın, feature ekleyin, conventional commits kullanın:
feat: yeni özellik
fix: bug düzeltme
docs: dokümantasyon
refactor: davranış değişmedi, kod iyileşti
test: test ekle/güncelle
chore: build/CI/araç
Geliştirme felsefesi:
- TypeScript strict,
anyyerineunknown - Erken return (early return) pattern
- Fonksiyonlar ~40 satır max
- Türkçe yorum yazılabilir ama kod İngilizce
- Magic number yerine const
MIT — istediğin gibi kullan, fork'la, sat. Atıf yapsan sevinirim.
- Cloudflare —
speed.cloudflare.comedge endpoint - Valve — CS2 SDR relay altyapısı
- Tauri ekibi — native desktop deneyimi için
- Atalarımız — "Ölçemediğini yönetemezsin" 📏
Made with ☕ ve biraz da küfür by @thorrangonak