Π‘ΠΎΡΡΠΎΡΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· Node-to-Node CoPy (NNCP), Π½Π°Π±ΠΎΡΠ° ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ store-and-forward. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π½Π° POSIX-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . Π£ΡΠΈΠ»ΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Go ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv3.
Π£ΡΠΈΠ»ΠΈΡΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΠΏΠΎΠΌΠΎΡΡ Π² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΡΡ friend-to-friend ΡΠ΅ΡΠ΅ΠΉ (Π΄ΡΠΆΠΈΠ½Ρ ΡΠ·Π»ΠΎΠ²) ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ fire-and-forget, Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ°ΠΉΠ»Ρ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Ρ (end-to-end) ΠΈ ΡΠ²Π½ΠΎ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΡΡ ΠΏΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠ°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡΡ . ΠΡΠΊΠΎΠ²ΠΎΠ΅ (ΠΊΠ°ΠΊ Π² Tor) ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΊΠ°ΠΊ Π² ΡΠΎΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ push ΠΈ poll ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈΡΠΈΠ΅ΠΌ NNCP ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ UUCP ΠΈ FTN (FidoNet Technology Network), ΠΊΡΠΎΠΌΠ΅ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠ΅ΡΠ΅ΠΉ ΡΠ»ΠΎΠΏΠΏΠΈΠ½Π΅Ρ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ (air-gapped) ΠΎΡ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ NNCP ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΡΠ³ΠΊΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ (Π½Π°ΡΠ°Π²Π½Π΅ Ρ UUCP) Ρ ΡΠ΅ΠΊΡΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠΎΠ²ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Postfix ΠΈ Exim.
ΠΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ NNCP ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ/ΠΏΡΠΈΡΠΌΠ° ΠΏΠΎΡΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π±Π΅Π· ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π½ΠΎΡΠΈΡΠ΅Π»ΡΡ , ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ ΠΎΡ MitM-Π°ΡΠ°ΠΊ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ , ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠ΅Π½Π·ΡΡΡ ΠΈ ΡΠ»Π΅ΠΆΠΊΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡ Π΄Π»Ρ Π΄Π΅ΡΠΈΡΡΠΎΠ²ΠΊΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΡΡΠ΅ΠΉ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ, ΡΡΠ΅ΡΡΠ΅ Π»ΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π΄Π°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΠ² ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ.
Π‘ΡΠ΅Π΄ΠΈ Π½ΠΎΠ²ΡΠ΅ΡΡΠ² NNCP 8.8.0, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π½ΠΎΠ²ΠΎΡΡΡΡ (Π²Π΅ΡΡΠΈΡ 5.0.0):
- ΠΠΌΠ΅ΡΡΠΎ Ρ ΡΡΠ° BLAKE2b Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ, MTH: Merkle Tree-based Hashing, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Ρ ΡΡ BLAKE3. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΡΡΠΌΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ, Π½Π΅ ΡΡΠ΅Π±ΡΡ Π΅Ρ ΡΡΠ΅Π½ΠΈΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ.
- ΠΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π΅Π½ ΠΊ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅, ΠΊΠΎΠ³Π΄Π° Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ . Π‘ΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ, ΠΈΠ΄ΡΡ ΠΏΡΡΠΌΠΎ Π²Π½ΡΡΡΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. ΠΡΠ΅ΠΆΠ΄Π΅, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΈΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ». Π’Π°ΠΊ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «nncp-exec» ΠΈΡΡΠ΅Π·Π»Π° ΠΎΠΏΡΠΈΡ «-use-tmp» Π·Π° ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π΅Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΡΡ.
- Π€ΡΠ½ΠΊΡΠΈΠΈ BLAKE2b KDF ΠΈ XOF Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π½Π° BLAKE3 Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΈ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
- ΠΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π½ΠΎΠ΄ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΡΠ»ΡΡΠΈΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡΠ»ΠΊΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ «ff02::4e4e:4350».
- ΠΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΌΡΠ»ΡΡΠΈΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ (Π°Π½Π°Π»ΠΎΠ³ ΡΡ ΠΎΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΉ FidoNet ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΡΡΠ½ΡΡ Π³ΡΡΠΏΠΏ Usenet), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² Π³ΡΡΠΏΠΏΡ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΡΠ°ΠΌ. Π§ΡΠ΅Π½ΠΈΠ΅ ΠΌΡΠ»ΡΡΠΈΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π½Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΏΠ°ΡΡ (Π½ΡΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ Π±ΡΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠΌ Π³ΡΡΠΏΠΏΡ), Π½ΠΎ ΡΠ΅ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π»ΡΠ±ΠΎΠΉ Π½ΠΎΠ΄ΠΎΠΉ.
- ΠΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ΄Π°Π»ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ, Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ACK-ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ.
- ΠΡΡΡΠΎΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° overlay-ΡΠ΅ΡΠΈ Yggdrasil: online Π΄Π΅ΠΌΠΎΠ½Ρ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠΈ, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Yggdrasil ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ IP ΡΡΡΠΊΠΎΠΌ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅.
- ΠΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊ (RFC 3339), ΠΆΡΡΠ½Π°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ recfile-Π·Π°ΠΏΠΈΡΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ GNU Recutils.
- ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ «hdr/», ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±Π»ΠΎΠΊΠ°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ZFS. Π Π°Π½Π΅Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½ΠΈΡ Ρ Π΄ΠΈΡΠΊΠ° Π²ΡΠ΅Π³ΠΎ 128KiB Π±Π»ΠΎΠΊΠ°.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π°Π»ΠΈΡΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΄ΡΠ° kqueue ΠΈ inotify, Π΄Π΅Π»Π°Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
- Π£ΡΠΈΠ»ΠΈΡΡ Π΄Π΅ΡΠΆΠ°Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ΅ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΡ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΡΠΊΡΡΡΠΈΠ΅. ΠΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠ°Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΏΠ΅ΡΠ΅ΡΡΡΡ Π² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
- ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ°Π»ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅/Π²ΡΠ³ΡΡΠ·ΠΊΠ°, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (toss) ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- ΠΠΎΠΌΠ°Π½Π΄Π° «nncp-file» ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½ΠΎ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π½Π° Π»Π΅ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Ρ pax-Π°ΡΡ ΠΈΠ² Ρ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ.
- Online ΡΡΠΈΠ»ΠΈΡΡ, ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (tossing) ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½Π° «nncp-toss».
- Online Π²ΡΠ·ΠΎΠ² Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΡΠΎΠ±ΡΡΠΈΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, Π½ΠΎ ΠΈ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² spool-Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΠΎΠ΄ NetBSD ΠΈ OpenBSD ΠΠ‘, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ FreeBSD ΠΈ GNU/Linux.
- «nncp-daemon» ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ UCSPI-TCP. ΠΠΊΡΠΏΠ΅ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΆΡΡΠ½Π°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΡΠ°Π²Π»ΡΡ «NNCPLOG=FD:4»), ΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π΅Π½ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌΠΈ Π½Π° daemontools ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ.
- Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ redo.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru