Itusilẹ ti NNCP 8.8.0, awọn ohun elo fun gbigbe awọn faili/awọn aṣẹ ni ipo itaja-ati-siwaju

Itusilẹ ti Node-to-Node CoPy (NNCP), ṣeto awọn ohun elo fun gbigbe awọn faili ni aabo, imeeli, ati awọn aṣẹ fun ipaniyan ni ipo itaja-ati-siwaju. Ṣe atilẹyin iṣẹ lori awọn ọna ṣiṣe ibaramu POSIX. Awọn ohun elo naa jẹ kikọ ni Go ati pinpin labẹ iwe-aṣẹ GPLv3.

Awọn ohun elo naa ni idojukọ lori iranlọwọ lati kọ awọn nẹtiwọọki ọrẹ-si-ẹlẹgbẹ kekere si ọrẹ (awọn dosinni ti awọn apa) pẹlu ipa ọna aimi fun ina-ati-gbagbe awọn gbigbe faili ti o ni aabo, awọn ibeere faili, imeeli, ati awọn ibeere aṣẹ. Gbogbo awọn apo-iwe ti a firanṣẹ jẹ ti paroko (opin-si-opin) ati pe o jẹri ni gbangba nipa lilo awọn bọtini gbangba ti awọn ọrẹ ti a mọ. Alubosa (bii ninu Tor) fifi ẹnọ kọ nkan jẹ lilo fun gbogbo awọn apo-iwe agbedemeji. Ipade kọọkan le ṣe bi alabara mejeeji ati olupin kan ati lo titari mejeeji ati awọn awoṣe ihuwasi ibo.

Iyatọ laarin NNCP ati UUCP ati FTN (FidoNet Technology Network) awọn solusan, ni afikun si fifi ẹnọ kọ nkan ti a ti sọ tẹlẹ ati ijẹrisi, jẹ atilẹyin ti ita-apoti fun awọn nẹtiwọọki floppinet ati awọn kọnputa ti o ya sọtọ (afẹfẹ-afẹfẹ) lati agbegbe ti ko ni aabo ati gbangba awọn nẹtiwọki. NNCP tun ṣe ẹya isọpọ irọrun (ni ipo pẹlu UUCP) pẹlu awọn olupin meeli lọwọlọwọ gẹgẹbi Postfix ati Exim.

Awọn agbegbe ti o le ṣee ṣe fun NNCP pẹlu siseto fifiranṣẹ / gbigba meeli si awọn ẹrọ laisi asopọ ayeraye si Intanẹẹti, gbigbe awọn faili ni awọn ipo ti asopọ nẹtiwọọki aiduro, gbigbe data ti o tobi pupọ ni aabo lori media ti ara, ṣiṣẹda awọn nẹtiwọọki gbigbe data ti o ya sọtọ ti o ni aabo lati ọdọ. Awọn ikọlu MitM, yiyọkuro ihamon nẹtiwọki ati iwo-kakiri. Niwọn igba ti bọtini decryption nikan wa ni ọwọ olugba, laibikita boya soso naa ti wa ni jiṣẹ lori nẹtiwọọki tabi nipasẹ media ti ara, ẹnikẹta ko le ka awọn akoonu naa, paapaa ti package ba ti di idilọwọ. Lọ́wọ́lọ́wọ́, ìfàṣẹ̀sí ìfọwọ́wọ̀n oni-nọmba ko gba didasilẹ ifiranṣẹ alailabo labe itanjẹ olufiranṣẹ miiran.

Lara awọn imotuntun ti NNCP 8.8.0, ni akawe si awọn iroyin ti tẹlẹ (ẹya 5.0.0):

  • Dipo elile BLAKE2b, eyiti a pe ni MTH: Merkle Tree-based Hashing, eyiti o lo hash BLAKE3, ni a lo lati ṣayẹwo iduroṣinṣin ti awọn faili. Eyi n gba ọ laaye lati ṣe iṣiro iyege ti apakan fifi ẹnọ kọ nkan ti apo-iwe ọtun lakoko igbasilẹ, laisi nilo lati ka ni ọjọ iwaju. Eyi tun ngbanilaaye fun isọdọkan ailopin ti awọn sọwedowo iduroṣinṣin.
  • Ọna kika apo tuntun ti paroko jẹ ore-ọfẹ ṣiṣanwọle patapata nigbati iwọn data naa jẹ aimọ tẹlẹ. Awọn ifihan agbara ti ipari gbigbe, pẹlu iwọn ti o jẹri, lọ taara sinu ṣiṣan ti paroko. Ni iṣaaju, lati wa iwọn ti data gbigbe, o jẹ dandan lati fipamọ si faili igba diẹ. Nitorinaa aṣẹ “nncp-exec” ti padanu aṣayan “-use-tmp” nitori ko ṣe pataki patapata.
  • Awọn iṣẹ BLAKE2b KDF ati XOF ti rọpo nipasẹ BLAKE3 lati dinku nọmba awọn alakoko cryptographic ti a lo ati rọrun koodu naa.
  • O ṣee ṣe ni bayi lati ṣawari awọn apa miiran lori nẹtiwọọki agbegbe nipasẹ multicasting si adirẹsi “ff02:: 4e4e: 4350”.
  • Awọn ẹgbẹ Multicast ti han (afọwọṣe si awọn apejọ FidoNet echo tabi awọn ẹgbẹ iroyin Usenet), gbigba apo-iwe kan lati fi data ranṣẹ si awọn ọmọ ẹgbẹ ẹgbẹ pupọ, nibiti ọkọọkan tun ṣe atunṣe apo-iwe naa si iyoku awọn ibuwọlu. Kika apo-iwe multicast nilo imo ti bata bọtini (o gbọdọ jẹ ọmọ ẹgbẹ ni gbangba), ṣugbọn isọdọtun le ṣee ṣe nipasẹ eyikeyi ipade.
  • Atilẹyin wa ni bayi fun ìmúdájú kedere ti iwe-ẹri idii. Olufiranṣẹ le ma paarẹ apo-iwe naa lẹhin fifiranṣẹ, nduro titi yoo fi gba apo-iwe ACK pataki kan lati ọdọ olugba.
  • Atilẹyin ti a ṣe sinu fun nẹtiwọọki apọju Yggdrasil: awọn daemons ori ayelujara le ṣe bi awọn olukopa nẹtiwọọki ominira ni kikun, laisi lilo awọn imuṣẹ Yggdrasil ẹni-kẹta ati laisi ṣiṣẹ ni kikun pẹlu akopọ IP lori wiwo nẹtiwọọki foju kan.
  • Dipo awọn gbolohun ọrọ ti a ṣeto (RFC 3339), log naa nlo awọn titẹ sii atunṣe, eyiti o le ṣee lo pẹlu awọn ohun elo GNU Recutils.
  • Ni yiyan, awọn akọle package ti paroko le wa ni ipamọ ni awọn faili lọtọ ni “hdr/” subdirectory, ni iyara awọn iṣẹ imupadabọ akojọpọ akojọpọ ni pataki lori awọn eto faili pẹlu awọn iwọn bulọọki nla, bii ZFS. Ni iṣaaju, mimu-pada sipo akọsori nilo kika nikan 128KiB Àkọsílẹ lati disk nipasẹ aiyipada.
  • Ṣiṣayẹwo fun awọn faili titun le ni yiyan lo kqueue ati inotify awọn eto inu ekuro, ṣiṣe awọn ipe eto diẹ.
  • Awọn ohun elo ntọju awọn faili ṣiṣi diẹ sii ati sunmọ ati tun ṣi wọn diẹ sii nigbagbogbo. Pẹlu nọmba nla ti awọn idii, ni iṣaaju o ṣee ṣe lati ṣiṣe sinu aropin lori nọmba ti o pọju ti awọn faili ṣiṣi.
  • Ọpọlọpọ awọn ẹgbẹ bẹrẹ lati ṣafihan ilọsiwaju ati iyara awọn iṣẹ bii gbigba lati ayelujara / ikojọpọ, didaakọ ati sisẹ (sisọ) awọn idii.
  • Aṣẹ “nncp-faili” le firanṣẹ kii ṣe awọn faili ẹyọkan, ṣugbọn tun awọn ilana, ṣiṣẹda ibi ipamọ pax pẹlu awọn akoonu wọn lori fo.
  • Awọn ohun elo ori ayelujara le ni iyan lẹsẹkẹsẹ pe soso soso lẹhin igbati o ti ṣe igbasilẹ package ni aṣeyọri, laisi ṣiṣiṣẹ daemon “nncp-toss” lọtọ.
  • Ipe ori ayelujara kan si alabaṣe miiran le waye lainidii kii ṣe nigbati aago kan nfa nikan, ṣugbọn paapaa nigbati apo-iwe ti njade ba han ninu itọsọna spool.
  • Ṣe idaniloju iṣiṣẹ labẹ NetBSD ati OpenBSD OS, ni afikun si atilẹyin FreeBSD ati GNU/Linux tẹlẹ.
  • "nncp-daemon" ni ibamu ni kikun pẹlu wiwo UCSPI-TCP. Paapọ pẹlu agbara lati wọle si oluṣapejuwe faili pàtó kan (fun apẹẹrẹ nipa tito “NNCPLOG=FD:4”), o jẹ ọrẹ patapata lati ṣiṣẹ labẹ awọn ohun elo bii daemontools.
  • Apejọ agbese na ti gbe patapata si eto atunṣe.

orisun: opennet.ru

Fi ọrọìwòye kun