Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 NetDiag

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.

Version Platform License Tauri


✨ Özellikler

🏓 Ping & Game Server Latency

  • 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

⚡ Speed Test (Cloudflare edge)

  • 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::Emitter ile 200ms refresh

📊 Bufferbloat Testi (Waveform standardı)

  • 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)

🤖 AI Analiz

  • OpenAI GPT veya Ollama (local)
  • Fallback: kural-bazlı local_analyze (key gerektirmez)
  • Gaming score: latency + jitter + bufferbloat + Wi-Fi quality + packet loss

🛜 Wi-Fi Tanılaması

  • SSID, BSSID, signal (dBm + %)
  • 2.4/5GHz band, kanal, PHY type (802.11n/ac/ax)
  • TX/RX rate, encryption (WPA2/WPA3)

📈 Animasyonlu Progress

  • 6 adımlı pulse-ring animasyonlu kart
  • Her adım için canlı sayaç
  • "Askıda kalmış" hissi yok

🚀 Kullanım

Hazır Portable (önerilen)

Releases sayfasından NetDiag-vX.X.X-portable.exe indir:

  1. İndir
  2. Sağ tıkla → Yönetici olarak çalıştır (ICMP için lazım)
  3. Run Diagnostics'e bas
  4. ~60 saniye bekle, sonuçları gör

Kuruluma gerek yok. WebView2 Windows 10/11'de built-in.

Kaynaktan Build

git clone https://github.com/thorrangonak/netdiag.git
cd netdiag
npm install
cd ui && npm install && cd ..
npm run tauri dev

Gereksinimler:

  • Node.js 18+
  • Rust 1.75+
  • Windows 10/11 (Linux/macOS desteği planda)

Portable Build

npm run build:portable
# Çıktı: dist/NetDiag-vX.X.X-portable.exe (~5 MB)

🧰 Teknolojiler

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

📂 Proje Yapısı

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

🛠️ Geliştirme

Komutlar

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.0

Mimari Notlar

Tek 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 → 🎉

🐛 Bilinen Sınırlamalar

  • ICMP raw socket yönetici izni ister. Yoksa TCP fallback (daha az hassas)
  • Cloudflare __down endpoint 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)

🤝 Katkı

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, any yerine unknown
  • Erken return (early return) pattern
  • Fonksiyonlar ~40 satır max
  • Türkçe yorum yazılabilir ama kod İngilizce
  • Magic number yerine const

📜 Lisans

MIT — istediğin gibi kullan, fork'la, sat. Atıf yapsan sevinirim.


🙏 Teşekkür

  • Cloudflarespeed.cloudflare.com edge 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

About

🎮 Gaming network diagnostics tool — CS2 ping, Cloudflare speed test, bufferbloat segment analysis, AI insights. Tauri 2 + React 19 + Rust. Single 5MB portable .exe.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages