Lëshimi i Node-to-Node CoPy (NNCP), një grup utilitarësh për transferimin e sigurt të skedarëve, email-eve dhe komandave për ekzekutim në mënyrë store-and-forward. Mbështetet puna në sisteme operative të pajtueshme me POSIX. Utilitarët janë shkruar në gjuhën Go dhe shpërndahen nën licencën GPLv3.
UtilitarĂ«t janĂ« tĂ« orientuar pĂ«r tĂ« ndihmuar nĂ« ndĂ«rtimin e rrjeteve tĂ« vogla peer-to-peer (dhjetĂ«ra nod) me ruter statik pĂ«r transferimin e sigurt tĂ« skedarĂ«ve nĂ« mĂ«nyrĂ« fire-and-forget, kĂ«rkesave pĂ«r skedarĂ«, email-eve dhe kĂ«rkesave pĂ«r ekzekutimin e komandave. TĂ« gjithĂ« pakot e transferuara janĂ« tĂ« enkriptuara (end-to-end) dhe autentikohen qartĂ« me çelĂ«sa publikĂ« tĂ« njohur. Enkriptimi i shalĂ«s (si nĂ« Tor) pĂ«rdoret pĂ«r tĂ« gjitha paketat ndĂ«rmjetĂ«se. Ădo nod mund tĂ« veprojĂ« si klient dhe server tĂ« pĂ«rdorĂ« modelin e sjelljes push dhe poll.
Dallimi i NNCP nga zgjidhjet UUCP dhe FTN (FidoNet Technology Network), përveç enkriptimit dhe autentifikimit të përmendur më parë, është mbështetja e përfshirë natyrisht e rrjeteve floppinet dhe kompjuterëve, fizikisht të izoluar (air-gapped) nga rrjetet lokale dhe publike të pa sigurta. Një veçori e NNCP është gjithashtu integrimi i lehtë (në të njëjtin nivel me UUCP) me postat ekzistuese serverëve, si Postfix dhe Exim.
Nga fushat e mundshme të përdorimit të NNCP, shënohet organizimi i dërgimit/marrjes së postës në pajisje pa lidhje të përhershme me internetin, transferimi i skedarëve në kushte të lidhjes rrjetore të paqëndrueshme, transferimi i volumeve shumë të madhe të dhënash në mënyrë të sigurt në mbajtës fizik, krijimi i rrjeteve të izoluara të transferimit të dhënash të mbrojtura nga sulmet MitM, shmangia e censurës dhe ndjekjes rrjetore. Duke qenë se çelësi për dekriptim ndodhet vetëm te marrësi, pavarësisht nga rrugët e dërgimit të pakos nëpër rrjet ose përmes mbajtësve fizikë, një palë e tretë nuk mund të lexojë përmbajtjen, madje duke e kapur dërgesën. Nga ana tjetër, autentifikimi me nënshkrim digjital nuk lejon formimin e një dërgesë të rreme në emër të një dërguesi tjetër.
Midis risive të NNCP 8.8.0, krahasuar me lajmin e mëparshëm (versioni 5.0.0):
- Në vend të hash-it BLAKE2b për verifikimin e integritetit të skedarëve, përdoret, ashtuquajturi, MTH: Merkle Tree-based Hashing, duke përdorur hash-in BLAKE3. Kjo lejon llogaritjen e integritetit të pjesës së enkriptuar të pakos gjatë shkarkimit, pa e kërkuar leximin e saj më pas. Po ashtu, kjo ofron mundësinë e paralelizimit të pakufizuar të verifikimit të integritetit.
- Formati i ri i paketave të enkriptuara është plotësisht miqësor me transmetimin gjatë kur madhësia e të dhënave nuk dihet paraprakisht. Sinjalizimi për përfundimin e transferimit, me madhësinë e autentikuar, shkon direkt brenda rrjedhës së enkriptuar. Më parë, për të ditur madhësinë e të dhënave të transferuara, ishte e nevojshme ruajtja e tyre në një skedar temporar. Kështu, komanda "nncp-exec" humbi opsionin "-use-tmp" për shkak të mosnevojshmërisë së saj.
- Funksionet BLAKE2b KDF dhe XOF zëvendësohen nga BLAKE3 për të reduktuar numrin e primitivave kriptografikë të përdorur dhe për të thjeshtuar kodin.
- U mundësua zbulimi i nodëve të tjera në rrjetin lokal përmes transmetimit multicast në adresën "ff02::4e4e:4350".
- U krijuan grupet multicast (analog të konferencave echo të FidoNet ose grupeve të lajmeve Usenet), duke lejuar dërgimin e të dhënave njëkohësisht për shumë pjesëmarrës, ku çdo njëri gjithashtu retransmiton paketën te të tjerët. Leximi i paketës multicast kërkon njohjen e çiftit të çelësave (duhet të jesh shprehur me qartë si pjesëmarrës i grupit), por retransmitimi mund të bëhet nga çdo nod.
- U mundësua mbështetje e qartë për konfirmimin e marrjes së paketës. Dërguesi mund të mos e fshijë paketën pas dërgimit, duke pritur për marrjen e një pakete ACK të veçantë nga marrësi.
- U ndërtua mbështetje e rrjetit overlay Yggdrasil: demonët online mund të veprojnë si pjesëmarrës të plotë të pavarur në rrjet, pa përdorur realizime të jashtme Yggdrasil dhe pa punuar plotësisht me grumbullin IP në ndërfaqen virtuale të rrjetit.
- Në vend të rreshtave të strukturuara (RFC 3339), regjistri përdor recfile-rekorde, me të cilat mund të përdoren utilitarët GNU Recutils.
- Opsionalisht, titujt e paketave të enkriptuara mund të ruhen në skedarë të veçantë në nën-drejtorinë "hdr/", duke shpejtuar ndjeshëm operacionet për marrjen e listës së paketave në sisteme të skedarëve me madhësi të madhe blloku, si ZFS. Më parë, marrja e titullit të paketës kërkonte për defaut leximin nga disku të gjithë 128KiB bllokut.
- Kontrolli i pranisë së skedarëve të rinj mund të përdorë opsionalisht nën-sistemat e bërthamës kqueue dhe inotify, duke bërë më pak thirrje sistemike.
- Utilitetet mbajnë më pak skedarë të hapur, mbyllen dhe rihapen më rrallë. Për një numër të madh paketash, më parë mund të haseshit në kufirin maksimal të skedarëve të hapur.
- Shumë komandat kanë filluar të tregojnë përparimin dhe shpejtësinë e realizimit të operacioneve, si shkarkimi/dërgimi, kopjimi dhe përpunimi (toss) i paketave.
- Komanda «nncp-file» mund të dërgojë jo vetëm skedarë të vetme, por edhe direktori, duke krijuar në fluks një arkiv pax me përmbajtjen e tyre.
- Utilitetet Online mund të thërrasin opsional procesin e përpunimit të paketave (tossing) menjëherë pas shkarkimit të suksesshëm të paketës, pa nisur një demon të veçantë «nncp-toss».
- Thirrja online e një anëtari tjetër mund të ndodhë opsionalisht jo vetëm në ngjarjen e aktivizimit të timer-it, por edhe në rastin e shfaqjes së një pakete dalëse në direktorinë spool.
- Siguruar funksionimi nën sistemet operative NetBSD dhe OpenBSD, përveç FreeBSD dhe GNU/Linux që mbaheshin më parë.
- «nncp-daemon» është plotësisht i përputhshëm me interface-in UCSPI-TCP. Së bashku me mundësinë e regjistrimit në një deshifrues skedari të specifikuar (p.sh., duke vendosur «NNCPLOG=FD:4»), ai është plotësisht i përshtatshëm për t'u ekzekutuar me utilitete të ngjashme me daemontools.
- Konstruksioni i projektit është përkthyer plotësisht në sistemin redo.
Burimi: opennet.ru
