Skip to content
sayhakilic61Public

About

İnternet ve baz istasyonu olmadan çalışan afet haberleşme uygulaması. Telefonlar Bluetooth üzerinden birbirine bağlanır; mesaj ve konum cihazdan cihaza sıçrayarak (mesh) yayılır. TTL'li relay, tekrar-önleme, Ed25519 imza ve uçtan uca şifreleme. Mesh çekirdeği test edildi (9/9). React Native · Expo.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AfetNet — İnternetsiz Afet Haberleşme Ağı

React Native Bluetooth Kriptografi Mesh Test Lisans

Şebeke çökse bile telefonlar birbiriyle konuşabilir.

Deprem ve afet anında baz istasyonları ve internet çökebilir. AfetNet bu senaryo için tasarlanmış bir mobil uygulamadır: internet olmadan, telefonlar Bluetooth üzerinden birbirine bağlanır; mesajlar ve konum bilgisi cihazdan cihaza sıçrayarak (mesh) yayılır. Menzil dışındaki birine bile, aradaki telefonlar mesajı taşıyarak ulaştırır. Altyapı yok; ağın kendisi insanlar.


✨ Öne Çıkanlar

  • 🆘 Tek dokunuş SOS — internetsiz, konumunla birlikte tüm yakın cihazlara acil çağrı.
  • 🔁 Çok sıçramalı mesh — mesaj menzil dışına da ulaşır; aradaki her telefon onu bir sonrakine taşır (TTL'li kontrollü taşma + tekrar-önleme).
  • 🔐 Güvenli — her mesaj Ed25519 ile imzalı, birebir mesajlar NaCl box ile uçtan uca şifreli.
  • 📍 Konum paylaşımı — GPS koordinatı mesaja gömülür.
  • 💾 Offline kuyruk — komşu yokken mesaj bekler, cihaz menzile girince iletilir.
  • ✅ Kanıtlanmış çekirdek — mesh protokolü saf JS yazıldı ve 9/9 senaryo ile test edildi.

🧪 Kanıt — mesh testi çıktısı

Protokolün beyni taşımadan bağımsızdır; BLE donanımı olmadan Node ile doğrulanabilir:

$ npm run test:mesh

TEST 1 — çok sıçramalı SOS relay (A—B—C—D):
  ✅ SOS 3 sıçrama ötedeki D'ye ulaştı (internetsiz mesh)
  ✅ aradaki B ve C de aldı
TEST 2 — dedup (üçgen topoloji, döngü):
  ✅ her düğüm mesajı tam 1 kez teslim etti (fırtına yok)
TEST 3 — birebir uçtan uca şifreli sohbet:
  ✅ alıcı C mesajı çözüp okudu
  ✅ dinleyici E içeriği göremedi (bana değil + şifreli)
  ✅ tel üzerindeki gövde şifreli (e:1)
TEST 4 — imza doğrulama:
  ✅ kurcalanmış mesaj imza doğrulamasında reddedildi
TEST 5 — offline kuyruk:
  ✅ komşu yokken teslim edilmedi (kuyrukta bekledi)
  ✅ komşu gelince kuyruktaki mesaj iletildi

=== SONUÇ: 9 test geçti ===

📱 Uygulama

Üç sekme: Yakındakiler · Mesajlar (şifreli/yayın) · SOS (konumla acil çağrı). Kurumsal, yüksek-kontrastlı mobil arayüz; ilk açılışta kalıcı kriptografik kimlik üretilir.


Dürüst kapsam

Katman Durum
Mesh protokol çekirdeği (src/mesh/) ✅ Taşınabilir saf JS, 9/9 test geçti — relay, dedup, imza, uçtan uca şifreleme, offline kuyruk doğrulandı.
BLE taşıma (src/transport/BleTransport.js) ⚙️ Cihaz katmanı — gerçek telefonlarda derlenip test edilmeli.

Gerçek telefon-telefon Bluetooth mesh native yetenek ister; üretim için Android'de Google Nearby Connections en sağlam yoldur. Mesh mantığı taşımadan bağımsız yazıldığı için çekirdek değişmeden kalır. iOS arka planda BLE mesh'e kısıtlıdır; öncelikli hedef Android'dir.


Mimari

flowchart LR
    subgraph A["Telefon A"]
      UA["UI"] --> NA["MeshNode<br/>imza·TTL·dedup·kuyruk"] --> TA["BLE"]
    end
    subgraph B["Telefon B — relay"]
      TB["BLE"] --> NB["MeshNode"] --> TB
    end
    subgraph C["Telefon C"]
      TC["BLE"] --> NC["MeshNode"] --> UC["UI"]
    end
    TA <-->|Bluetooth| TB
    TB <-->|Bluetooth| TC
    classDef core fill:#0B2E52,stroke:#0B2E52,color:#fff;
    class NA,NB,NC core;
Loading

Mesaj A → B → C yolunu izler; A ile C birbirini görmese bile B taşır. Her düğüm imza-doğrular, gördüyse eler (dedup), TTL azaltıp komşularına yeniden yayar.


Kurulum

npm install
npx expo install
npm run test:mesh        # mesh çekirdeğini doğrula (9/9)
npx expo start           # Demo modu (Bluetooth'suz UI)
npx expo run:android     # gerçek BLE mesh (dev build, 2+ telefon)

Gerçek mesh için App.js'te makeTransport'u BleTransport ile değiştirin, en az iki Android telefonda test edin.


Lisans

Tüm Hakları Saklıdır. Ayrıntılar için LICENSE.


Sayha Kılıç — sayha.cloud

About

İnternet ve baz istasyonu olmadan çalışan afet haberleşme uygulaması. Telefonlar Bluetooth üzerinden birbirine bağlanır; mesaj ve konum cihazdan cihaza sıçrayarak (mesh) yayılır. TTL'li relay, tekrar-önleme, Ed25519 imza ve uçtan uca şifreleme. Mesh çekirdeği test edildi (9/9). React Native · Expo.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages