ΠΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Node-to-Node CoPy (NNCP), Π·Π±ΠΈΡ Π½Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π΅-ΠΏΠΎΡΡΠ° ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠ΅. ΠΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΡΠΎ POSIX. Π£ΡΠ»ΡΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ Go ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° GPLv3.
Π£ΡΠ»ΡΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄Π°Ρ ΠΌΠ°Π»ΠΈ ΠΌΡΠ΅ΠΆΠΈ ΠΏΡΠΈΡΠ°ΡΠ΅Π»-Π΄ΠΎ-ΠΏΡΠΈΡΠ°ΡΠ΅Π» ΠΎΠ΄ Π²ΡΡΠ½ΠΈΡΠΈ (Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΡΠ°Π·Π»ΠΈ) ΡΠΎ ΡΡΠ°ΡΠΈΡΠΊΠΎ ΡΡΡΠΈΡΠ°ΡΠ΅ Π·Π° Π±Π΅Π·Π±Π΅Π΄Π΅Π½ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π±Π°ΡΠ°ΡΠ° Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π΅-ΠΏΠΎΡΡΠ° ΠΈ Π±Π°ΡΠ°ΡΠ° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π‘ΠΈΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ΅ ΡΠΈΡΡΠΈΡΠ°Π½ΠΈ (ΠΎΠ΄ ΠΊΡΠ°Ρ Π΄ΠΎ ΠΊΡΠ°Ρ) ΠΈ ΡΠ΅ Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΡΠ°Π½ΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΠΎΠ·Π½Π°ΡΠΈ ΡΠ°Π²Π½ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π½Π° ΠΏΡΠΈΡΠ°ΡΠ΅Π»ΠΈ. ΠΠ½ΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΡΠΎΠΌΠΈΠ΄ (ΠΊΠ°ΠΊΠΎ Π²ΠΎ Tor) ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΈΡΠ΅ ΡΡΠ΅Π΄Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ. Π‘Π΅ΠΊΠΎΡ ΡΠ°Π·ΠΎΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅ΡΡΡΠ²ΡΠ²Π° ΠΈ ΠΊΠ°ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΡΠΈΡΠΈΡΠΊΠ°ΡΠ΅ ΠΈ Π°Π½ΠΊΠ΅ΡΠ°.
Π Π°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ°ΡΠ° 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 echo ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΈΠ»ΠΈ Usenet Π½ΠΎΠ²ΠΈΠ½ΡΠΊΠΈ Π³ΡΡΠΏΠΈ), Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΡΠΈ Π΅Π΄Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΄ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ»Π΅Π½ΠΎΠ²ΠΈ Π½Π° Π³ΡΡΠΏΠ°ΡΠ°, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ΠΊΠΎΡ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π³ΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ Π½Π° ΠΎΡΡΠ°Π½Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ½ΠΈΡΠΈ. Π§ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΌΡΠ»ΡΠΈΠΊΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π±Π°ΡΠ° ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅ Π½Π° ΠΏΠ°ΡΠΎΡ ΠΊΠ»ΡΡΠ΅Π²ΠΈ (ΠΌΠΎΡΠ° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π΄Π° ΡΡΠ΅ ΡΠ»Π΅Π½ Π½Π° Π³ΡΡΠΏΠ°ΡΠ°), Π½ΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΎΠ΄ ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ ΡΠ°Π·ΠΎΠ».
- Π‘Π΅Π³Π° ΠΏΠΎΡΡΠΎΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½Π° ΠΏΠΎΡΠ²ΡΠ΄Π° Π½Π° ΠΏΡΠΈΠ΅ΠΌΠΎΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ. ΠΡΠΏΡΠ°ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π³ΠΎ ΠΈΠ·Π±ΡΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ ΠΏΠΎ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ, ΡΠ΅ΠΊΠ°ΡΡΠΈ Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ ΠΏΡΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ ACK ΠΏΠ°ΠΊΠ΅Ρ ΠΎΠ΄ ΠΏΡΠΈΠΌΠ°ΡΠΎΡ.
- ΠΠ³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠ΅ΠΊΠ»ΠΎΠΏΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° Π½Π° Yggdrasil: ΠΎΠ½Π»Π°ΡΠ½ Π΄Π΅ΠΌΠΎΠ½ΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π΄Π΅ΡΡΡΠ²ΡΠ²Π°Π°Ρ ΠΊΠ°ΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΠΏΡΠ°Π²Π½ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ, Π±Π΅Π· ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Yggdrasil ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ ΠΈ Π±Π΅Π· ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ ΠΎΡΠ°ΠΊΠΎΡ IP Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π΅Π½ ΠΌΡΠ΅ΠΆΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ.
- ΠΠ°ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π½ΠΈΠ·ΠΈ (RFC 3339), Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠΎ Π°Π»Π°ΡΠΊΠΈΡΠ΅ GNU Recutils.
- ΠΠ·Π±ΠΎΡΠ½ΠΎ, ΡΠΈΡΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π·Π°Π³Π»Π°Π²ΠΈΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ βhdr/β, Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π±ΡΠ·ΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ½Π°ΠΎΡΠ°ΡΠ΅ Π»ΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄ΠΈΠΌΠ΅Π½Π·ΠΈΠΈ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ZFS. ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ, Π·Π° Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π±Π»ΠΎΠΊ ΠΎΠ΄ 128 KiB ΠΎΠ΄ Π΄ΠΈΡΠΊΠΎΡ.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π·Π° Π½ΠΎΠ²ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ kqueue ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ½ΠΎΡΠΈΡΠΈΡΠΈΡΠ° ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, ΠΏΡΠ°Π²Π΅ΡΡΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ.
- Π£ΡΠ»ΡΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΡΠ²Π°Π°Ρ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΠΎΡΠ΅ΡΠΊΠΎ Π³ΠΈ Π·Π°ΡΠ²ΠΎΡΠ°Π°Ρ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΡΠ²ΠΎΡΠ°Π°Ρ. Π‘ΠΎ Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π±Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΈΠ΄Π΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΠΎΡ Π±ΡΠΎΡ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ.
- ΠΠ½ΠΎΠ³Ρ ΡΠΈΠΌΠΎΠ²ΠΈ ΠΏΠΎΡΠ½Π°Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Π°Ρ Π½Π°ΠΏΡΠ΅Π΄ΠΎΠΊΠΎΡ ΠΈ Π±ΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅/ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅, ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (ΡΡΠ»Π°ΡΠ΅) ΠΏΠ°ΠΊΠ΅ΡΠΈ.
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βnncp-fileβ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ° Π½Π΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, ΡΡΠΊΡ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΠΈ Π°ΡΡ ΠΈΠ²Π° Π½Π° pax ΡΠΎ Π½ΠΈΠ²Π½Π°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° Π²ΠΎ Π»Π΅Ρ.
- ΠΠ½Π»Π°ΡΠ½ Π°Π»Π°ΡΠΊΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ Π²Π΅Π΄Π½Π°Ρ Π΄Π° ΠΏΠΎΠ²ΠΈΠΊΠ°Π°Ρ ΡΡΠ»Π°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡΠΊΠ°ΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅Π·Π΅ΠΌΠ΅Π½, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΠΏΠΎΡΠ΅Π±Π΅Π½ Π΄Π΅ΠΌΠΎΠ½ βnncp-tossβ.
- ΠΠ½Π»Π°ΡΠ½ ΠΏΠΎΠ²ΠΈΠΊ Π΄ΠΎ Π΄ΡΡΠ³ ΡΡΠ΅ΡΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΠ°ΡΠΌΠ΅ΡΠΎΡ, ΡΡΠΊΡ ΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ ΠΏΠΎΡΠ΄ΠΎΠ²Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ spool.
- ΠΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΡΡ ΠΏΠΎΠ΄ NetBSD ΠΈ OpenBSD OS, ΠΏΠΎΠΊΡΠ°Ρ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈΡΠ΅ FreeBSD ΠΈ GNU/Linux.
- βnncp-daemonβ Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π΅Π½ ΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ UCSPI-TCP. ΠΠ°Π΅Π΄Π½ΠΎ ΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ Π½Π°ΡΠ°Π²ΠΈΡΠ΅ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ βNNCPLOG=FD:4β), ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π΅ ΠΏΡΠΈΡΠ°ΡΠ΅Π»ΡΠΊΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠΎΠ΄ Π°Π»Π°ΡΠΊΠΈ ΡΠ»ΠΈΡΠ½ΠΈ Π½Π° daemontools.
- ΠΡΠΎΠ΅ΠΊΡΠ½ΠΎΡΠΎ ΡΠΎΠ±ΡΠ°Π½ΠΈΠ΅ Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΏΡΠ΅ΡΡΠ»Π΅Π½ΠΎ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ΅.
ΠΠ·Π²ΠΎΡ: opennet.ru