ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π΄Π½Π΅Ρ
ΠΠΎΠ΄ΡΡ Π½Π° ΠΌΠ΅ΡΠΈΠ½Π΄ΠΆΡΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· GPLv3. Jami Π΅ ΠΏΡΡΠ½Π°Ρ Π·Π° GNU/Linux, Windows, MacOS, iOS, Android ΠΈ Android TV. ΠΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π΅Π΄Π½Π° ΠΎΡ ΠΎΠΏΡΠΈΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Qt, GTK ΠΈ Electron. ΠΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ ΡΡΠΊ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ ΡΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΡΠ΅, Π° ΡΠ°ΠΊΡΡΡ, ΡΠ΅ Jami
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠ΅Π· ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΎΡ ΠΊΡΠ°ΠΉ Π΄ΠΎ ΠΊΡΠ°ΠΉ. ΠΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΈΡΡΡΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠΎΡΠ΅Π΄ΡΡΠ°ΡΠ° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° X.509 ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ. ΠΡΠ²Π΅Π½ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π°ΡΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠΈ, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π»Π΅ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ, ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½Π°.
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π±Π΅ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΊΠ°ΡΠΎ ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ SIP ΡΠ΅Π»Π΅ΡΠΎΠ½. ΠΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ΅ΡΠΈΡ Π° Π΄Π° ΡΠ°Π·ΡΠΈΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΠ°Π·ΡΡ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° ΡΡΡ SIP ΠΈ ΠΎΡΡΠ°Π²ΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ΄Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ G711u, G711a, GSM, Speex, Opus, G.722, ΠΏΠ»ΡΡ ICE, SIP, TLS ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ.
ΠΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΎΡΠΌΡΠ½Π° Π½Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅, Π·Π°Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅, Π·Π°ΠΏΠΈΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΠΈΡΡΠΎΡΠΈΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Ρ ΡΡΡΡΠ΅Π½Π΅, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΠΈΠ»Π°ΡΠ° Π½Π° Π·Π²ΡΠΊΠ°, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠ½Π°ΡΠ° ΠΊΠ½ΠΈΠ³Π° Π½Π° GNOME ΠΈ KDE.
ΠΠΎ-Π³ΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΌΠ΅ Π½Π°ΠΊΡΠ°ΡΠΊΠΎ Π·Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ - Π°Π΄ΡΠ΅ΡΠ½Π°ΡΠ° ΠΊΠ½ΠΈΠ³Π° Π΅ Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Ethereum. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π°Π²Π΅Π΄Π½ΡΠΆ, ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠ΄ΡΠ΅ΡΠ½Π°ΡΠ° ΠΊΠ½ΠΈΠ³Π°, ΠΊΠΎΡΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΠΏΡΠ΅Π²ΠΎΠ΄Π° Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π² RingID, ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π²ΡΠ·Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ»Π΅Π½ΠΎΠ²Π΅. Π’Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π²ΡΠ·Π΅Π» Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½Π°ΡΠ° Π°Π΄ΡΠ΅ΡΠ½Π° ΠΊΠ½ΠΈΠ³Π°.
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° OpenDHT, Π·Π° Π΄Π° ΡΠ΅ΡΠ°Ρ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. ΠΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° Jami Π΅ jami-daemon, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π²ΡΡΠ·ΠΊΠΈ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ° Ρ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π·Π²ΡΠΊ.
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Ρ jami-daemon ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° LibRingClient. Π’ΠΎΠΉ Π΅ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΡΠΎΡΡΡΠ΅Ρ ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ, ΠΊΠΎΡΡΠΎ Π½Π΅ Π΅ ΠΎΠ±Π²ΡΡΠ·Π°Π½Π° Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. Π Π²Π΅ΡΠ΅ Π½Π° Π²ΡΡΡ Π° Π½Π° LibRingClient ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ³Π°ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ P2P ΠΌΠ΅ΡΠΈΠ½Π΄ΠΆΡΡ Π² ΡΠ΅Π»Π΅ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π² ΠΌΡΠ΅ΠΆΠΈ Ρ Π½ΠΈΡΠΊΠ° ΡΠ΅ΡΡΠΎΡΠ½Π° Π»Π΅Π½ΡΠ°.
- ΠΠ°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎΠ΄ Android ΠΈ iOS.
- ΠΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π° Windows. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°Π±Π»Π΅Ρ.
- ΠΠΌΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΅Π»Π΅ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΈΠ·Π»ΡΡΠ²Π°Π½Π΅ Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°.
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π΅ Π² ΡΡΡΠ²ΡΡ Ρ Π΅Π΄Π½ΠΎ ΠΊΠ»ΠΈΠΊΠ²Π°Π½Π΅ (ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ).
- Π‘ΡΡΠ²ΡΡΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π°ΠΊΠ°ΡΠ½ΡΠΈ JAMS Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΌΠ΅ΡΠΈΠ½Π΄ΠΆΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com