Mühendislik Notları
PlainApp'ın peer-to-peer mimarisinin, taşıma katmanı tasarımının ve kriptografisinin derinlemesine analizi — doğrudan kaynak koddan.
DLNA Yayın: Sıfırdan Bir UPnP Gönderici ve Alıcı Kurmak
PlainApp, DLNA/UPnP AV yayınını her iki yönde nasıl uygular: bir gönderici olarak TV'leri SOAP üzerinden tarayıp kontrol etmek ve bir alıcı olarak telefonun kendisini bir UPnP MediaRenderer'a dönüştürmek — SSDP keşfi, DIDL-Lite meta verileri, Range-istekli medya sunumu, GENA olay geri çağrıları ve gönderici-IP izin/red güven modeli, tamamen saf Kotlin Multiplatform ile.
Ekran Yansıtma: Düşük Gecikmeli Yayın Mimarisi
Bu makale, PlainApp'in ekran yansıtma sisteminin uçtan uca tasarımını kapsar: Android'in MediaCodec ile H.264/Opus'u nasıl donanım kodlayıp yakaladığı, karelerin özel bir ikili protokol ile WebSocket üzerinden nasıl taşındığı, web tarafının WebCodecs ile kod çözüp WebGL2 ile sıfır CPU kopyası ile nasıl render ettiği, kayıp algılama, yön değişikliği ve uzaktan dokunma kontrolünün nasıl ele alındığı ve sistem MediaProjection yaşam döngüsünün nasıl senkronize tutulduğu.
PlainApp Güvenlik: Derinlemesine Analiz
PlainApp yerel Wi-Fi'da verilerinizi nasıl korur — açık kaynak koddan kanıtlarla.
Wi-Fi Aware Taşıma Tasarımı — Komşu Keşfi ve Veri Yolları
Bu makale, PlainApp'in eş taşıma yedek zincirinin orta katmanı olarak, LAN (aynı alt ağ HTTPS) ve BLE (son çare GATT RPC) arasında Wi-Fi Aware'i (NAN — Neighbor Awareness Networking) nasıl kullandığını açıklamaktadır. Wi-Fi Aware, iki PlainApp cihazının farklı SSID'lerde, misafir ve IoT VLAN'larında veya hiç Wi-Fi altyapısı yokken — bir DHCP sunucusundan hiçbir zaman IP adresi gerektirmeden konuşmasını sağlayan şeydir.
BLE Taşıma Tasarımı — Mesajlar ve Dosya İndirmeleri
Bu makale, PlainApp'in ne LAN ne de Wi-Fi Aware kullanılabilir olduğunda Bluetooth Low Energy üzerinden sohbet mesajlarını nasıl gönderdiğini ve dosyaları nasıl indirdiğini açıklamaktadır. BLE, garanti edilen yedektir: yavaştır, ancak hiçbir IP bağlantısı olmadan çalışır. Makale, kablo biçimini, iki katmanlı parçalama tasarımını, eşzamanlı trafiğin nasıl önceliklendirildiğini (ve önceliklendirilmediğini) ve her bağlantının neden her istekten sonra yıkıldığını ele almaktadır.
Eş ve Kanal Sohbet Mimarisi
Bu makale, PlainApp'in çevrimdışı öncelikli sohbetinin uçtan uca nasıl çalıştığını açıklamaktadır: bir mesajın UI'da bir dokunuştan eş taşıması üzerinden başka bir cihaza kadar nasıl yol aldığını, grup kanallarının mesajları birçok üyeye nasıl dağıttığını ve ağlar kaybolduğunda sistemin nasıl dayanıklı kaldığını. Eşleştirme (iki cihazı başlatan güven ve anahtar değişimi) ayrı Eşleştirme Akışı makalesinde ele alınmaktadır.
Eşleştirme Akışı
Bu makale, iki PlainApp cihazının ilk kez nasıl güven oluşturduğunu — birbirlerini nasıl keşfettiklerini, anahtarları nasıl değiştirdiklerini ve sonrasında her sohbet mesajının, dosya transferinin ve varlık pinginin şifrelendiği paylaşılan ChaCha20 taşıma anahtarına nasıl ulaştıklarını açıklamaktadır. Bu anahtarı kullanan sohbet ve kanal mimarisi, ayrı Sohbet Mimarisi makalesinde ele alınmaktadır.