ΠΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Node-to-Node CoPy (NNCP), Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠΌΠ΅ΠΉΠ»ΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° POSIX-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Go ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· GPLv3.
ΠΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ° ΡΠΎΠΊΡΡΠΈΡΠ°Π½ΠΈ Π²ΡΡΡ Ρ ΠΏΠΎΠ΄ΠΏΠΎΠΌΠ°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΈ peer-to-peer ΠΌΡΠ΅ΠΆΠΈ ΠΏΡΠΈΡΡΠ΅Π»-ΠΏΡΠΈΡΡΠ΅Π» (Π΄Π΅ΡΠ΅ΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ) ΡΡΡ ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½ΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠΌΠ΅ΠΉΠ»ΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. ΠΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ (ΠΎΡ ΠΊΡΠ°ΠΉ Π΄ΠΎ ΠΊΡΠ°ΠΉ) ΠΈ ΡΠ° ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΡΡΠ΅Π»ΠΈ. Onion (ΠΊΠ°ΠΊΡΠΎ Π² Tor) ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ. ΠΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΠΊΡΠΎ ΠΊΠ°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΡΠ°ΠΊΠ° ΠΈ ΠΊΠ°ΡΠΎ ΡΡΡΠ²ΡΡ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠΈ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅, ΡΠ°ΠΊΠ° ΠΈ ΠΏΡΠΈ Π°Π½ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅.
Π Π°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° NNCP ΠΈ UUCP ΠΈ FTN (FidoNet Technology Network), Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π³ΠΎΡΠ΅ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡΠ΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡΡΠ° Π·Π° ΡΠ»ΠΎΠΏΠΈΠ½Π΅Ρ ΠΌΡΠ΅ΠΆΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ (Π²ΡΠ·Π΄ΡΡΠ½ΠΎ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ) ΠΎΡ Π½Π΅ΡΠΈΠ³ΡΡΠ½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ. NNCP ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ Π»Π΅ΡΠ½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ (Π½Π°ΡΠ°Π²Π½ΠΎ Ρ UUCP) Ρ Π½Π°ΡΡΠΎΡΡΠΈΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΊΠ°ΡΠΎ Postfix ΠΈ Exim.
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° NNCP Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅/ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΠ° Π΄ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π±Π΅Π· ΠΏΠΎΡΡΠΎΡΠ½Π½Π° Π²ΡΡΠ·ΠΊΠ° Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° Π½Π΅ΡΡΠ°Π±ΠΈΠ»Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° Π²ΡΡΠ·ΠΊΠ°, ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Π·Π°ΡΠΈΡΠ΅Π½ΠΈ ΠΎΡ MitM Π°ΡΠ°ΠΊΠΈ, Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΉΠΊΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΡΠ΅Π½Π·ΡΡΠ° ΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΠ»ΡΡΡΡ Π·Π° Π΄Π΅ΡΠΈΡΡΠΈΡΠ°Π½Π΅ Π΅ ΡΠ°ΠΌΠΎ Π² ΡΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡΡ Π΅ Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΏΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΎΡΠΈΡΠ΅Π», ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΡΡ Π±ΡΠ΄Π΅ ΠΏΡΠΈΡ Π²Π°Π½Π°Ρ. ΠΠ° ΡΠ²ΠΎΠΉ ΡΠ΅Π΄ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Ρ ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠΊΡΠΈΠ²Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ ΠΏΡΠΈΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π΄ΡΡΠ³ ΠΏΠΎΠ΄Π°ΡΠ΅Π».
Π‘ΡΠ΅Π΄ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈΡΠ΅ Π½Π° NNCP 8.8.0, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π½ΠΎΠ²ΠΈΠ½Π° (Π²Π΅ΡΡΠΈΡ 5.0.0):
- ΠΠΌΠ΅ΡΡΠΎ Ρ Π΅Ρ BLAKE2b, Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΎΡΠΎ Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° MTH: Merkle Tree, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ Π΅Ρ BLAKE3. Π’ΠΎΠ²Π° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅ ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ΡΠΎ, Π±Π΅Π· Π΄Π° ΡΠ΅ Π½Π°Π»Π°Π³Π° ΡΡ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½Π° Π² Π±ΡΠ΄Π΅ΡΠ΅. Π’ΠΎΠ²Π° ΡΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅Ρ.
- ΠΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° ΡΡΡΠΈΠΉΠΌΠΈΠ½Π³, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ. Π‘ΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½ΡΡΠ΅ΡΠ° Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠΈΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊ. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π³ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ ΡΠ°ΠΉΠ». Π’Π°ΠΊΠ° ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βnncp-execβ Π΅ Π·Π°Π³ΡΠ±ΠΈΠ»Π° ΠΎΠΏΡΠΈΡΡΠ° β-use-tmpβ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π½Π΅Π½ΡΠΆΠ½Π°.
- Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ BLAKE2b KDF ΠΈ XOF ΡΠ° Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ BLAKE3, Π·Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π±ΡΠΎΡΡ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΎΡΡΠΈ ΠΊΠΎΠ΄ΡΡ.
- ΠΠ΅ΡΠ΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΊΡΠΈΡΡ Π΄ΡΡΠ³ΠΈ Π²ΡΠ·Π»ΠΈ Π² Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΡΡΠ΅Π· ΠΌΡΠ»ΡΠΈΠΊΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Π°Π΄ΡΠ΅Ρ βff02::4e4e:4350β.
- ΠΠΎΡΠ²ΠΈΡ Π° ΡΠ΅ Π³ΡΡΠΏΠΈ Π·Π° ΠΌΡΠ»ΡΠΈΠΊΠ°ΡΡ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π° Π΅Ρ ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈΡΠ΅ Π½Π° FidoNet ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΈΠ½Π°ΡΡΠΊΠΈΡΠ΅ Π³ΡΡΠΏΠΈ Π½Π° Usenet), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π΄Π°Π½Π½ΠΈ Π΄ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅Π½ΠΎΠ²Π΅ Π½Π° Π³ΡΡΠΏΠ°ΡΠ°, ΠΊΡΠ΄Π΅ΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΡΡΡΠΎ ΠΏΡΠ΅ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π»ΠΈ. Π§Π΅ΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ»ΡΠΈΠΊΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Π΄Π²ΠΎΠΉΠΊΠ°ΡΠ° ΠΊΠ»ΡΡΠΎΠ²Π΅ (ΡΡΡΠ±Π²Π° ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π΄Π° ΡΡΠ΅ ΡΠ»Π΅Π½ Π½Π° Π³ΡΡΠΏΠ°ΡΠ°), Π½ΠΎ ΠΏΡΠ΅ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ ΠΎΡ Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π».
- ΠΠ΅ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ. ΠΠ·ΠΏΡΠ°ΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΠΈΠ·ΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ»Π΅Π΄ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅, ΠΈΠ·ΡΠ°ΠΊΠ²Π°ΠΉΠΊΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ACK ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ.
- ΠΠ³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Ρ Π½Π°ΡΠ»Π°Π³Π²Π°Π½Π΅ Π½Π° Yggdrasil: ΠΎΠ½Π»Π°ΠΉΠ½ Π΄Π΅ΠΌΠΎΠ½ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄Π΅ΠΉΡΡΠ²Π°Ρ ΠΊΠ°ΡΠΎ ΠΏΡΠ»Π½ΠΎΠΏΡΠ°Π²Π½ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Yggdrasil ΠΎΡ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ ΠΈ Π±Π΅Π· Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΈΠ·ΡΡΠ»ΠΎ Ρ IP ΡΡΠ΅ΠΊΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π΅Π½ ΠΌΡΠ΅ΠΆΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
- ΠΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅ (RFC 3339), Π΄Π½Π΅Π²Π½ΠΈΠΊΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° recfile Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π½Π° GNU Recutils.
- ΠΠΎ ΠΈΠ·Π±ΠΎΡ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° "hdr/", ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΊΠ°ΡΠΎ ZFS. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ΡΠ΅Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° Π±Π»ΠΎΠΊ ΠΎΡ 128KiB ΠΎΡ Π΄ΠΈΡΠΊΠ°.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π·Π° Π½ΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° kqueue ΠΈ inotify ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΏΡΠ°Π²Π΅ΠΉΠΊΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ.
- ΠΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π³ΠΈ Π·Π°ΡΠ²Π°ΡΡΡ ΠΈ ΠΎΡΠ²Π°ΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΎ-ΡΡΠ΄ΠΊΠΎ. ΠΡΠΈ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠ΅Π΄ΠΈ Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°ΡΠ΅ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΠ½ΠΎΠ³ΠΎ Π΅ΠΊΠΈΠΏΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π½Π°ΠΏΡΠ΅Π΄ΡΠΊΠ° ΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅/ΠΊΠ°ΡΠ²Π°Π½Π΅, ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (Ρ Π²ΡΡΠ»ΡΠ½Π΅) Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ.
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βnncp-fileβ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π½Π΅ ΡΠ°ΠΌΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π½ΠΎ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΡΡΠ·Π΄Π°Π²Π°ΠΉΠΊΠΈ pax Π°ΡΡ ΠΈΠ² Ρ ΡΡΡ Π½ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.
- ΠΠ½Π»Π°ΠΉΠ½ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΌΠΎΠ³Π°Ρ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°Ρ ΠΏΠΎΠ΄Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΡΡ Π±ΡΠ΄Π΅ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π±Π΅Π· Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΠΎΡΠ΄Π΅Π»Π΅Π½ Π΄Π΅ΠΌΠΎΠ½ "nncp-toss".
- ΠΠ½Π»Π°ΠΉΠ½ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ ΠΊΡΠΌ Π΄ΡΡΠ³ ΡΡΠ°ΡΡΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π° ΡΠ°ΠΉΠΌΠ΅Ρ, Π½ΠΎ ΡΡΡΠΎ ΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·Ρ ΠΎΠ΄ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° Π±ΡΡΠ΅ΡΠ°.
- ΠΠ°ΡΠ°Π½ΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ ΠΏΠΎΠ΄ NetBSD ΠΈ OpenBSD OS, Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° FreeBSD ΠΈ GNU/Linux.
- "nncp-daemon" Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ UCSPI-TCP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π ΡΡΡΠ΅ΡΠ°Π½ΠΈΠ΅ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° "NNCPLOG=FD:4"), ΡΠΎΠΉ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎΠ΄ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° daemontools.
- Π‘Π³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ ΠΈΠ·ΡΡΠ»ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru