Skip to content

Repository files navigation

Network Simulator

Version Next.js React TypeScript TailwindCSS FOSS Total Lines

A comprehensive, client-side, browser-based network simulator for learning switching, routing, wireless, security, IoT, CLI terminal workflows.

Live App: network2026.vercel.app · Alternative: tuzlanet.vercel.app

Demo & Videos / Tanıtım Videoları

Network Simulator


⚡ Quick Start / Hızlı Başlangıç

# 1. Depoyu klonlayın ve bağımlılıkları yükleyin
npm install

# 2. Geliştirme sunucusunu başlatın (http://localhost:3000)
npm run dev

# 3. Tip kontrolü, lint ve testleri çalıştırın
npx tsc --noEmit
npm run check

🧩 CLI Varyasyon Desteği / CLI Alias Compatibility

Simülatör, standart komut formatının yanı sıra yaygın olarak kullanılan alternatif CLI biçimlerini de tanır. configure terminal gibi ana komutlar yanında; system-view, show config ve display interface brief gibi kısa veya farklı yazım biçimleri de aynı akışta çalışır. Bu sayede öğrenciler daha tanıdık komut kalıplarıyla pratik yapabilir, ancak sistem yine tek bir standart komut modeline dayanır.


💻 Sistem Gereksinimleri / System Requirements

Rol / Platform Gereksinimler Açıklama
Son Kullanıcı (Windows) Windows 10/11 Edge WebView2 yerleşiktir. Ekstra hiçbir kurulum gerekmez.
Son Kullanıcı (macOS) macOS 10.15+ WebKit yerleşiktir. .dmg çift tıklanarak doğrudan kurulur.
Son Kullanıcı (Linux) Ubuntu, Debian, Fedora, Arch vb. webkit2gtk kütüphanesi gerekir. .AppImage doğrudan çalışır.
Son Kullanıcı (Mobil/PWA) iOS Safari / Android Chrome Tarayıcıdan "Ana Ekrana Ekle" ile anında uygulama gibi kurulur.
Geliştirici (Masaüstü Derleme) Node.js (>=20.9), Rust & Cargo, C++ Build Tools npm run build:exe için gereklidir.
Geliştirici (Android Derleme) Android Studio, Android SDK/NDK, Java (JDK 17+) tauri android build için gereklidir.

🚀 Key Features / Öne Çıkan Özellikler

  • 🧪 Kurumsal CLI Regresyon Matrisi & Sorun Giderme (Troubleshooting) Modu: CLI no komutları (no shutdown, no ip address, no ip route, no access-group, no switchport access vlan vb.) için uçtan uca E2E test matrisi, bozuk topoloji üretimi ile etkileşimli arıza enjeksiyonu (wrongVlan, wrongGateway, shutdownPort, aclDeny, brokenTrunk, ospfIssue, natIssue, stpIssue), hop-by-hop paket yolculuğu (ARP, VLAN, Routing, ACL, NAT, TTL) ve RFC uyumlu paket düşme nedenleri kaydı.
  • 🏗️ 28 Kategori ve 49+ Örnek Proje Kataloğu: Otomatik Topoloji Üretici penceresinde 8 ana kategori (Temel, Topoloji, Veri Merkezi, Kablosuz, Servisler, Anahtarlama, Yönlendirme, Güvenlik) ve 28 hazır mimari senaryo. Ofis Yazıcısı & Akıllı IoT Sensör, Python Ağ Otomasyonu (OOBM Filosu) ve Kurumsal DMZ Güvenlik Duvarı laboratuvarları.
  • 💻 Gelişmiş CLI & Ağ İşletim Sistemi Simülasyonu: Switch (L2/L3), Router, Güvenlik Duvarı (Firewall), WLC, PC, IoT ve Hub cihazları için 729+ benzersiz komut içeren terminal ve komut motoru. Komut kapsamı ile gerçek protokol/iletim davranışı özellik bazında değişebilir.
  • ⚙️ Gerçek Zamanlı Protokol Durum Makineleri & Yaşlanma Engine: OSPF (Down...Full), BGP (Idle...Established) ve LACP durum makineleri; ARP, CAM/MAC tablosu ve Dynamic NAT kaydı otomatik yaşlanma (aging) ve temizleme mekanizmaları.
  • 📸 Topoloji Anlık Görüntü & Geri Yükleme: Ağ topolojisini tek tıkla dondurma, kontrol noktaları (Checkpoint) oluşturma, JSON dışa/içe aktarma ve anlık geri yükleme.
  • 🐍 Python Yorumlayıcısı, Dosya & GUI/Ses/3D İşlemleri: PC terminalinde OOP, Decorator, Generator, open() ile sanal dosya I/O; tkinter/form ile görsel pencereli form uygulamaları; Web Audio API tabanlı dinamik nota/akor/müzik ve ses efekti (audio/music/synth) sentezleme; scene3d/three3d ile interaktif 3D sahne, katı geometri (CSG) ve ışıklandırma motoru; soket ağ programlama.
  • 🖥️ Çapraz Platform Özellik Eşitliği: macOS (Cmd) ve Windows/Linux (Ctrl) kısayol standardizasyonu, native dosya diyalogları ve çevrimdışı çalışma doğrulamaları.
  • 🖼️ Masaüstü (Tauri) WebView Tuval Düzeltmeleri: Tuval görünümü artık SVG transform özniteliğiyle uygulanıyor; macOS (WKWebView) ve Linux (WebKitGTK) üzerinde foreignObject notlarının cihaz/kablolardan kopması giderildi. Fare ve dokunmatik kaydırmalar tuval yerel koordinatlarına çevrildiği için paketlenmiş masaüstü yerleşimlerinde imleç kayması yaşanmıyor; fare ile kaydırma bırakıldığı anda dururken dokunmatik inertia korunuyor.
  • 🔍 Gelişmiş Teşhis & Sağlık Denetimi: Native VLAN mismatch, çakışan IP/MAC tespiti, routing loop tespiti, orphan port denetimi ve tek komutla show network health raporu.
  • 🔒 Firewall Stateful SPI & Pipeline İyileştirmeleri: Conntrack SPI enforcement artık yalnızca firewall tipi cihazlarda aktif; router ve switch'ler paketleri geçirir ve sessizce takip eder. DHCP Relay Engine (dhcpRelayEngine.ts) temizlendi; DhcpHeader tabanlı giaddr + Option 82 işlemesi ile 233 test dosyası, 2096 test tamamı başarılı.

Kapsam notu: README’de listelenen CLI, parser, state, paket yakalama ve forwarding özellikleri her protokolde aynı olgunluk seviyesinde değildir. NetFlow/sFlow, MQTT, CoAP, NETCONF-YANG ve RESTCONF için mevcut davranışlar eğitim amaçlı simülasyon kapsamındadır; “destekleniyor” ifadesi tek başına tam üretim protokol uygulaması veya gerçek harici collector/server uyumluluğu anlamına gelmez. Kontrol düzlemi komutları çerçeve düzeyinde çalışır: frame'ler süreç içinde sentezlenir, sokete veya kabloya yazılmaz; netconfTransport.ts XML yerine düz bir nesne işler ve bu sonuçlar realismLevel: sim-only olarak işaretlenir. Bu nedenle harici bir NETCONF/RESTCONF yöneticisiyle veya MQTT/CoAP broker ile birlikte kullanılamazlar.


📊 Proje Durumu / Project Status

Metrik / Metric Değer / Value
Version / Sürüm 7.3.0
Total Lines / Toplam Satır (src/) ~245,806
Source Files / Kaynak Dosya 1172
Test Files / Test Dosyaları 243
Tests / Testler 2182
Documentation Files / Dokümantasyon Dosya 25
Example Projects / Örnek Proje 49
Guided Lessons / Rehberli Ders 19
Exams / Sınavlar 6

📖 Documentation / Dokümantasyon

Bölüm / Section Doküman / Document Açıklama / Description
📘 Ana Eğitim Kitapçığı NETWORK_SIMULATOR_KITAPCIK.md Tüm özellikler, CLI, eğitim, senaryolar ve laboratuvarlar (Kapsamlı Kitapçık)
📗 Uygulama & Kullanım Rehberi NETWORK_SIMULATOR_REHBERI.md Modüler şasi, mimari, cihaz tipleri, kablolar, bash/python rehberi
Kurulum / Setup INSTALL.md Kurulum ve derleme / Installation and build
Başlangıç / Getting started USAGE.md Kullanım ve klavye kısayolları / Usage and shortcuts
PC_CMD_REFERENCE.md PC CMD komutları / PC CMD commands
TOPOLOGY_GENERATOR.md Topoloji üretici sihirbazı / Topology generator
CLI CLI_COMMANDS.md CLI komut referansı / CLI command reference
CLI_GUIDED_TUTORIAL.md Rehberli CLI dersleri / Guided CLI lessons
Ağ / Networking WIRELESS_CONFIGURATION_GUIDE.md Kablosuz ağ yapılandırması / Wireless configuration
L3_SWITCH_CONFIGURATION.md L3 switch yapılandırması / L3 switch configuration
PACKET_CAPTURE_GUIDE.md Paket yakalama paneli / Packet capture panel
Referans / Reference ProjeOzellikleri.md Özellik envanteri / Feature inventory
DOCUMENTATION_INDEX.md Tüm belgelerin indeksi / Documentation index
history.md Sürüm geçmişi / Changelog
Geliştirme / Development CONTRIBUTING.md Katkı ve geliştirme rehberi / Contribution guide

⌨️ Keyboard Shortcuts / Klavye Kısayolları

Simülatör kontrollerine hızlıca göz atmak için aşağıdaki listeyi genişletin. Daha fazla detay için USAGE.md dosyasına bakın.

⌨️ Click to expand Keyboard Shortcuts / Klavye Kısayollarını görmek için tıklayın

Canvas / Tuval

Shortcut / Kısayol Action (EN) İşlem (TR)
Ctrl + Z Undo Geri al
Ctrl + Y Redo Yeniden yap
Ctrl + C Copy selected device Seçili cihazı kopyala
Ctrl + X Cut selected device Seçili cihazı kes
Ctrl + V Paste Yapıştır
Ctrl + A Select all Tümünü seç
Ctrl + S Save project Projeyi kaydet
Ctrl + O Open project file Proje dosyasını aç
Ctrl + N / Alt + N New project Yeni proje
Ctrl + P Print topology Topolojiyi yazdır
Ctrl + F Toggle fullscreen Tam ekrana geç / çık
Shift + ? Open Shortcuts guide modal Kısayol kılavuzu modalını aç
Alt + M Toggle Minimap display Minimap (Harita) göster / gizle
Alt + L Toggle Network Log panel Ağ Olay Günlüğü panelini aç / kapat
Alt + F Zoom to fit all devices Tüm cihazları ekrana sığdır (Fit View)
Alt + R Reset zoom/pan view Görünümü sıfırla
Delete / Backspace Delete selected Seçili öğeyi sil
Escape Cancel selection / Close mode Seçimi iptal et / Modu kapat
Ctrl + Drag Snap to grid Nokta ızgaraya yapıştır
Ctrl + Scroll Zoom in / out Yakınlaştır / Uzaklaştır
Space + Drag Pan canvas Canvas'ı kaydır
Arrow Keys Move selected device(s) Seçili cihaz(lar)ı taşı
Shift + Arrow Keys Move selected device(s) faster Seçili cihaz(lar)ı daha hızlı taşı
Mouse Selection Auto-Copy text on mouse selection CMD, CLI & Konsol geçmişinden metin seçilince otomatik kopyalama
F1 Open / close help panel Yardım panelini aç / kapat
F2 Rename / configure selected device Seçili cihazı yeniden adlandır / yapılandır
F5 Refresh network topology Ağ topolojisini yenile
Tab Focus next device Sonraki cihaza odaklan
Shift + Tab Open window switcher when windows are open Açık pencereler arasında geçiş yap
Ctrl + M Minimize active device window Etkin cihaz penceresini küçült
Home Reset topology view Topoloji görünümünü sıfırla
End Focus last element Son öğeye odaklan
Page Up Scroll canvas up Canvas'ı yukarı kaydır
Page Down Scroll canvas down Canvas'ı aşağı kaydır
Double-click (Empty Space) Reset topology view Topoloji görünümünü sıfırla
Double-click (Device) Open collapsible device panel Daraltılabilir cihaz panelini aç

Ping Packet Analysis / Ping Paket Analizi

Shortcut / Kısayol Action (EN) İşlem (TR)
P Play / Pause packet analysis Paket analizi: Oynat / Duraklat
N Next hop (when paused) Sonraki Hop (duraklatıldığında)

CLI / CMD

Shortcut / Kısayol Action (EN) İşlem (TR)
Tab Auto-complete command Komut tamamlama
Arrow Up / Down Command history Komut geçmişi
Enter Execute command Komutu çalıştır
Ctrl + L Clear terminal Terminali temizle
? Show available commands Kullanılabilir komutları göster
Ctrl + C Cancel command (CLI) Komutu iptal et

🛠️ Tech Stack / Teknoloji

  • Framework: Next.js 16 (App Router), React 19
  • Language: TypeScript 7.0
  • Styling: Tailwind CSS 4, Radix UI Icons & Components
  • State Management: Zustand 5.0
  • PDF Engine: jsPDF + High-DPI HTML5 Canvas

📜 License / Lisans

Free and open source under the MIT License. See LICENSE.

Özgür ve açık kaynak. LICENSE dosyasına bakın.

Releases

Packages

Used by

Contributors

Languages