Işıkla çalışan dosya transferi.
Bir ekran. Bir kamera. Herhangi iki cihaz. Baytlar QR kodlardan akıyor — internet yok, hesap yok, sunucu yok. Sırf izlemesi keyifli olduğu için.
İki ekran. Üç adım. İnternet yok.
Gönderici tarafta dosyayı seç
Herhangi bir dosya. Fotoğraf, PDF, ZIP, ses notu. Uygulama gerekirse sıkıştırır, hash'ler, kaynak bloklara böler.
QR kodların aktığını izle
XOR kombineli sembollerden bir fountain — saniyede yedi kare civarı QR kod akar. Her biri bağımsız, her biri tek başına yeterli.
Alıcıyı tut
Diğer cihazın kamerası yakalayabildiği kareleri toplar. K + ε sembol toplandığında dosya çözülür, hash doğrulanır, paylaşım sayfana iner.
Eşleşme yok. Bluetooth yok. Wi-Fi yok. Uçak modunda, ıssız bir adada, Faraday kafesinde çalışır.
Bir kareyi mi kaçırdın?
Önemli değil.
Sıradan QR döngüsünde alıcı ya elindekini onaylar ya her kaçırdığında baştan başlar. Bizde geri-kanal yok.
LT codes (Luby Transform) bunu çözer. Gönderici, XOR kombineli sembollerden bir sonsuz akış üretir. Alıcı dosyayı çözmek için bunlardan K + ε kadarına ihtiyaç duyar — yeniden gönderim, onay, başa dönme yok.
file → split into K source blocks → fountain encoder │ ▼ ┌──────────────────────────────────────────────────┐ │ infinite stream of XOR-combined symbols │ │ sym1 = b3 │ │ sym2 = b1 ⊕ b2 ⊕ b5 │ │ sym3 = b1 │ │ sym4 = b2 ⊕ b4 │ │ … │ └──────────────────────────────────────────────────┘ │ ▼ rendered as QR codes │ ▼ camera scans whichever it happens to catch │ ▼ decoder belief-propagates until all K blocks recovered │ ▼ file rebuilt
Uçak modunda çalışan tek o.
| transfqr | AirDrop | Bluetooth | Bulut sync | |
|---|---|---|---|---|
| İnternet gerekir | · | · | · | ● |
| Bluetooth açık | · | ● | ● | · |
| Wi-Fi açık | · | ● | · | ● |
| Çapraz platform (iOS ↔ Android) | ● | · | ● | ● |
| Çapraz cihaz (laptop ↔ telefon) | ● | ● | · | ● |
| Hesap gerekmez | ● | ● | ● | · |
| Hava-boşluğu uyumlu | ● | · | · | · |
transfqr gerçek bir ağdan yavaştır. Anlaşma bu — etrafındaki ağı kullanamadığında, transfqr çalışmaya devam eden olandır.
Terminalden, arada UI yok.
macOS ve Linux'un terminali QR kod çizmeye fazlasıyla yetenekli. Biz de yaptık.
transfqr ./photo.jpg dosyayı terminalinde QR kod olarak yayar. Telefonda uygulamayı aç, laptop ekranına tut — dosya Photos'a iner.
size 148.6 KB (deflate)
frame 00027
npx transfqr ./photo.jpg Dosyalarını göremeyiz. Gerçekten göremeyiz.
Sıfır sunucu.
transfqr backend'i yok. Dosyalar iki cihaz arasında kamera ışığıyla yolculuk eder. Baytların odadan dışarı çıkmaz.
Hesap yok.
E-posta yok, telefon numarası yok, kimlik yok. Uygulamayı aç, başla.
Varsayılan telemetri yok.
Anonim analitik isteğe bağlı. Sadece kovalanmış sinyaller kaydederiz — dosya boyutu kovaları, transfer sonucu — asla isim, içerik ya da IP değil.
Lokal-öncelikli.
Aldığın dosyalar foto galerine ya da uygulama sandbox'ına iner. Sen Paylaş'a basmadan hiçbir şey yüklenmez, mirror'lanmaz, cihaz dışına kopyalanmaz.