- Nomad Network, kayıt, kullanım şartları, veri gönderimi veya yetki verenler olmadan kullanıcıların doğrudan sahip olduğu ve kontrol ettiği özel, dayanıklı bir iletişim platformu oluşturmak için kullanılan bir off-grid mesh iletişim aracıdır
- Temeli LXMF ve Reticulum'dur; şifreli mesaj ağı işlevleri ile P2P mesaj yönlendirme sunar ve packet radio'dan fiber optiğe kadar çeşitli iletişim ortamlarında çalışır
- Genel internet, IP veya Ethernet olmadan da kullanılabilir; packet radio, LoRa ve serial line üzerinde çalıştırılabilir, ayrıca Reticulum sayesinde 300bps radyo bağlantılarında kullanıldığı örnekler vardır
- Özellikleri arasında şifreli mesajlaşma, sıfır yapılandırmalı mesh iletişimi, çevrimdışı kullanıcılar için dağıtık şifreli mesaj depolama, sayfa ve dosya barındırma düğümleri, metin tabanlı tarayıcı ve sayfa önbellekleme yer alır
- Şu anda beta yazılım durumundadır; kriptografik en iyi uygulamalar gözetilerek geliştirilmiş olsa da harici güvenlik denetiminden geçmemiştir ve gizliliği bozan hatalar içerebilir
Nomad Network'ün sunduğu iletişim modeli
- Nomad Network, kullanıcıların tamamen kontrol ettiği ve sahip olduğu özel, dayanıklı bir iletişim platformu kurmasını sağlar
- Kayıt, şart kabulü, veri gönderimi, yetki verenler veya kapı bekçileri gerekmez
- Depo herkese açık bir aynadır; asıl geliştirme başka bir yerde sürmektedir
- Grafik kullanıcı arayüzüne sahip bir LXMF istemcisi istiyorsanız Linux, Android ve macOS için Sideband kullanılabilir
Temel teknoloji ve ağ ortamları
- Nomad Network, LXMF ve Reticulum üzerine inşa edilmiştir
- Bu iki proje, Nomad Network'ün dayandığı şifreli mesaj ağı işlevlerini ve P2P mesaj yönlendirmeyi sağlar
- Bu temel sayesinde program, packet radio'dan fiber optiğe kadar çok çeşitli iletişim ortamlarında kullanılabilir
- Genel internet bağlantısı olmadan çalışır; IP veya Ethernet ağı da zorunlu değildir
- Yalnızca packet radio, LoRa ve serial line ile kullanılabilir
- Gerekirse ayrık ağlar internete veya özel Ethernet'e köprülenebilir
- Tamamen internet üzerinde çalışan ağlar da kurulabilir
- Reticulum kullandığı için çok düşük bant genişliğine sahip ortamlarda da verimlidir; 300bps radyo bağlantılarında başarıyla kullanılmıştır
Başlıca özellikler
- Reticulum'ün desteklediği packet radio, LoRa, WiFi gibi ortamlarda şifreli mesajlaşma sunar
- Sıfır yapılandırma ve minimum altyapı ile mesh iletişimini destekler
- Çevrimdışı kullanıcılar için mesajları saklayan dağıtık şifreli mesaj deposu bulunur
- Bağlanabilir düğümler sayfa ve dosya barındırabilir
- Düğüm tarafında PHP, Python, bash vb. ile sayfa üretilebilir
- Düğüm içeriğiyle etkileşim için yerleşik bir metin tabanlı tarayıcı bulunur
- Sayfa yazımı için kullanımı kolay ve bant genişliği açısından verimli bir işaretleme dili sunar
- Tarayıcıda sayfa önbellekleme desteklenir
Kurulum ve çalıştırma
- En kolay kurulum yöntemi
pip kullanmaktır
pip install nomadnet
nomadnet
nomadnet --daemon
nomadnet --help
- Normal kullanıcı paket kurulumunu engelleyen işletim sistemlerinde,
~/.config/pip/pip.conf içindeki [global] bölümüne aşağıdaki ayarı ekleyerek pip davranışı geri alınabilir
[global]
break-system-packages = true
- Yalıtılmış bir ortama kurmak için
pipx kullanılabilir
pipx install nomadnet
pipx install rns
pipx install lxmf
nomadnet
nomadnet --daemon
nomadnet --help
- Sistemde ilk kez
pip ile bir program kurduysanız, çalıştırma komutu tanınmıyorsa sistemi yeniden başlatıp tekrar denemeniz gerekebilir
- Program ilk kez çalıştırıldığında, kullanıma başlamak için gerekli bilgileri içeren Guide section görüntülenir
packet radio, LoRa ve testnet kullanımı
- Nomad Network'ü packet radio veya LoRa üzerinde kullanmak için, Reticulum kurulumunun ilgili packet radio TNC veya LoRa cihazını kullanacak şekilde yapılandırılması gerekir
- Fiziksel ağı doğrudan kurmadan denemek isterseniz internet üzerinden Unsigned.io RNS Testnet'e bağlanabilirsiniz
- Testnet'te halihazırda bazı Nomad Network ve LXMF etkinlikleri vardır
- Bağlandıktan sonra sayfa veya hizmet barındıran diğer düğümlerin announce'larını almak için
nomadnet bir süre çalıştırılabilir
- Doğrudan bağlantı kurmayı deneyebileceğiniz testnet düğümleri:
abb3ebcd03cb2388a838e70c001291f9: Dublin Hub Testnet Node
ea6a715f814bdc37e56f80c34da6ad51: Frankfurt Hub Testnet Node
- Henüz bilinmeyen bir düğümün sayfalarını keşfetmek için programın
Network bölümünde Ctrl+U ile URL iletişim kutusunu açıp adresi girdikten sonra Go seçilebilir veya Enter'a basılabilir
- NomadNet, istenen düğümü bulup bağlanmaya çalışır
Android ve Docker
- Android'de Termux kullanılarak Nomad Network kurulabilir, ancak tipik tek satırlık kurulumdan daha fazla komut gerekir
- Süreç, Reticulum Manual içindeki Android Installation bölümünde belgelenmiştir
- Reticulum kurulduktan sonra Nomad Network
pip ile kurulabilir
- Yerel bir Android grafik uygulaması gerekiyorsa Sideband kullanılabilir
- Nomad Network, GitHub Packages'a Docker imajı olarak otomatik yayımlanır
- İmaj etiketleri en son commit için
master veya belirli sürüm numarası biçimindedir
- Örnek sürüm etiketi
0.2.0'dır
docker pull ghcr.io/markqvist/nomadnet:master
docker run -it ghcr.io/markqvist/nomadnet:master --textui
docker run -i ghcr.io/markqvist/nomadnet:master --daemon --console
Araçlar, eklentiler ve yol haritası
- Nomad Network esnek ve genişletilebilir bir platformdur; topluluk tarafından sağlanan araçlar ve düğüm tarafı eklentiler mevcuttur
- Destek talepleri, tartışmalar ve fikir paylaşımı için Nomad Network discussions pages kullanılabilir
- Geliştirme yol haritasındaki yeni büyük özellikler arasında ağ geneline yayılan bulletin ve discussion thread yapıları, işbirlikçi haritalar ve coğrafi bilgi paylaşımı bulunur
- İyileştirme ve düzeltme başlıkları arasında bağlantı durumu göstergesi, menü gezinti kısayolları, düğüm paylaşımı, bazı işletim sistemlerindeki dahili editör sorunlarının giderilmesi ve başarısız mesajlar için yeniden deneme mekanizması yer alır
Güvenlik durumu ve dikkat edilmesi gerekenler
- Nomad Network beta yazılım olarak değerlendirilmelidir
- Kriptografik en iyi uygulamalara yüksek öncelik verilerek geliştirilmiş olsa da harici bir güvenlik denetiminden geçmemiştir
- Gizliliği bozan hatalar olabilir
- Denetime yardımcı olmak veya sponsorluk sağlamak isteyenlerin iletişime geçmesi istendiği belirtilir
1 yorum
Hacker News yorumları
NextNav 900MHz ISM bandının büyük bir kısmını alırsa böyle olmayabilir: https://news.ycombinator.com/item?id=41226802
https://en.wikipedia.org/wiki/ISM_radio_band
Buradan görüş bildirebilirsiniz: https://www.fcc.gov/ecfs/search/docket-detail/24-240
Bununla ilgili devam eden bir thread var:
Private, Secure and Uncensorable Messaging over a LoRa Mesh (2022) - https://news.ycombinator.com/item?id=41256623 - Ağustos 2024, 21 yorum
Bunun kullandığı temel Reticulum ağı, paket radyo gibi çok sayıda taşıma ortamını desteklediği için oldukça ilginç
Reticulum, saniyede 5 bitten fazla aktarım hızı ve 500 baytlık MDU olduğu sürece herhangi bir ortamda çalışabiliyor. LoRa, BLE, paket radyo, Tor veya I2P gibi overlay ağlar dahil yüzlerce taşıyıcı üzerinde çalışmakla kalmıyor; bu taşıyıcılar aynı ağın bir parçası da olabiliyor
HF radyo üzerinde çalışan hızlı bir kavram kanıtı hazırladım. Yaklaşık 144 km aralıklı iki node kurdum; ikisi de ICOM-7300 ve Raspberry Pi 5 kullanarak Reticulum paketlerini alıp kablosuz gönderen bir yazılım modem çalıştırıyordu: https://www.youtube.com/watch?v=blwNVumLujc
Node 1 dışarıdaydı, node 2 ise evdeydi. Node 2'de HF modem için bir arayüz ve TCP testnet'e bağlı başka bir arayüz yapılandırdığım için node 1, TCP testnet'teki tüm peer'lere erişebiliyordu
Reticulum'un temel kavramını açıklayan kısa bir giriş videosu da var: https://www.youtube.com/watch?v=q8ltLt5SK6A
Düzeltme: Öyle değilmiş. Bağlantı bazında değil, global düzeyde ayarlanıyor gibi görünüyor
Konsept ilginç ama iOS/iPadOS cihazları kullanan kişilerle iletişim kurmak sorun. Genellikle işletim sistemi kısıtlamaları nedeniyle bu tür uygulamaları kullanamıyorlar[1] ve ağ etkisi yüzünden çoğu insan için kullanımı çok zor hale geliyor
[1] https://forums.developer.apple.com/forums/thread/685525
Elbette arka planda çalıştırma konusunda sorunlar var, fakat Reticulum'u tamamen RNode üzerinde çalıştırmak gibi olası çözümler mevcut ve bunun üzerinde bir ölçüde aktif şekilde çalışılıyor
Android veya iOS cihazların dokunmatik ekran klavyesiyle yazarken aynı zamanda gizliliğin sağlandığını hissetmeyi anlayamıyorum
Gerçek gizlilik istiyorsanız metin yakalama ve gösterme, şifreleme ve şifrelenmiş paket aktarımı için bare-metal kodla çalışan bir klavye/terminali, Reticulum istemcisi üzerinden şifreli blob'lar gönderecek şekilde kullanmanız gerekir
Örneğin bu kablolu seri bağlantı veya Bluetooth olabilir; ayrı bir MCU da ağ ve protokol işlerini yönetebilir. Esas nokta, binary blob içermeyen doğrulanmış kodu bare metal üzerinde çalıştırmak ve ağ node'una yalnızca şifrelenmiş payload göndermektir. Mümkünse terminal denetleyicisi ile ağ denetleyicisi arasında TTL seri bağlantı iyi olur
NomadNet/Reticulum’un Yggdrasil, IPFS, Nostr, Scuttlebutt ile nasıl karşılaştırıldığını merak ediyorum
Scuttlebutt: Reticulum gerçek zamanlı veri yönlendiren bir ağ yığınıdır; merkeziyetsiz bir sosyal ağ değildir
Nostr: Scuttlebutt ile aynı
IPFS: Reticulum veriyi depolamaz, iletir. Ancak LXMF gibi Reticulum üzerinde çalışan bazı protokoller isteğe bağlı olarak geçici mesaj depolama işlevi sunar
Yggdrasil, bahsedilenler içinde Reticulum’a en yakın benzer örnek; ama kabaca baktığımda çalışma biçimine dair ayrıntılı bilgi bulamadım. Şu anda bir ölçüde IPv4 tüneli kullanan, yalnızca IPv6 üzerinde çalışan bir yapı gibi görünüyor; Reticulum’un farkı ise her şeyin üzerinde çalışabilmesi
İlgileniyorsanız Reticulum’un nasıl çalıştığını görmek için en azından http://reticulum.network/manual/understanding.html sayfasını okumanızı öneririm
Hızlıca göz atarak aldığım, belki de pek bilmeden yazdığım kullanılabilirlik notları
Kimlik adresi olarak kullanılan sayıyı kullanıcıya anlamlandırabileceği bir biçimde en başta göstermek çoğu yaklaşımdan daha iyi. Bu kimliği ve güveni iletişim kutusunda birlikte ele alma biçimi de nispeten anlaşılır görünüyor. Güvenilir/güvenilir değil (bilinmiyor) dışında kategoriler olması iyi bir fikir, ama hemen anlaşılmıyor. Kullanıcının bu bağlamda “trust”ın tam olarak ne anlama geldiği konusunda eğitilmesi gerekir
Kullanıcının Curve25519 kullanıldığını bilmesine gerek yok; yalnızca bir tür şifrelemenin kurulduğunu bilmesi yeterli
Kimlik numarasını onaltılık olarak göstermek, olası sayı tabanları içinde en kötüsü. Tanımlama için alışık olunan onluk sistem ya da daha kısa base32 daha iyi olur; kimlik numarası da yardımcı bir gruplama biçimiyle tutarlı şekilde gösterilmeli. Örneğin 5 haneli 4 grup gibi
Bunu okumak beni çok heyecanlandırdı. Off-grid mesh ağı kurmak, bilimkurgu romanım ‘Mesh’in temel önermesi: https://inkican.com/mesh-middle-grade-scifi-thriller/
Aklıma Meshtastic geliyor, ama Nomad PC’ler için, Meshtastic ise mikrodenetleyiciler için gibi görünüyor
https://meshtastic.org/
Aradım ama bulamadım. Bu hiç denetimden geçti mi?