ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° SFTPGo 2.2, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΡΠ΅Π· ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ SFTP, SCP/SSH, Rsync, HTTP ΠΈ WebDav. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° SFTPGo ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SSH. ΠΠ°Π½Π½ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΊΠ°ΠΊΡΠΎ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ°ΠΊΠ° ΠΈ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Ρ Amazon S3, Google Cloud Storage ΠΈ Azure Blob Storage. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ Π²ΠΈΠ΄. ΠΠ° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ° Π±Π°Π·Π° ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π‘Π£ΠΠ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° SQL ΠΈΠ»ΠΈ ΠΊΠ»ΡΡ/ΡΡΠΎΠΉΠ½ΠΎΡΡ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠ°ΡΠΎ PostgreSQL, MySQL, SQLite, CockroachDB ΠΈΠ»ΠΈ bbolt, Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½Π° ΠΠ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Go ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· GPLv3.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π²ΡΡΠ°ΠΊΡΠΎΡΠ½Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ (TOTP, RFC 6238). ΠΠ°ΡΠΎ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ Authy ΠΈ Google Authenticator.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΡΡΠ΅Π· ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ. Π‘ΡΠ΅Π΄ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ: ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° ΡΡ Π΅ΠΌΠ° Publish/Subscribe, ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ±ΠΈΡΠΈΡ Π² Π‘Π£ΠΠ.
- Π REST API Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΠ΅Π· ΠΊΠ»ΡΡΠΎΠ²Π΅, Π½Π°ΡΠ΅Π΄ Ρ ΡΠΎΠΊΠ΅Π½ΠΈΡΠ΅ JWT, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ (ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΆΠΈΠ²ΠΎΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅) Π²ΡΠ² Π²ΡΡΠ·ΠΊΠ° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Swagger UI Π·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΈΠ· ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° API Π±Π΅Π· Π½ΡΠΆΠ΄Π° ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΠΈΠ»ΠΈΡΠΈ.
- Π ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π·Π°ΠΏΠΈΡ (ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ, ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅), ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»Π° Ρ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ email, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ ΡΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄Π½ΠΈΠΊ Π½Π° PDF Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° HTTP Π»ΠΈΠ½ΠΊΠΎΠ²Π΅ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½Π° ΠΏΠ°ΡΠΎΠ»Π° Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° IP Π°Π΄ΡΠ΅ΡΠΈ, Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΆΠΈΠ²ΠΎΡ Π½Π° Π»ΠΈΠ½ΠΊΠ° ΠΈ Π»ΠΈΠΌΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° SFTPGo:
- ΠΠ° Π²ΡΡΠΊΠ° ΡΡΠ΅ΡΠ½Π° Π·Π°ΠΏΠΈΡ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° chroot ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΡΠ° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π΄ΠΎΠΌΠ°ΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠΎΡΠ°Ρ ΠΊΡΠΌ Π΄Π°Π½Π½ΠΈ ΠΈΠ·Π²ΡΠ½ Π΄ΠΎΠΌΠ°ΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ.
- Π£ΡΠ΅ΡΠ½ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² Π²ΠΈΡΡΡΠ°Π»Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΏΡΠ΅ΡΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΠΠ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. ΠΠ° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΠ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ SQLite, MySQL, PostgreSQL, bbolt ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΠ΅Ρ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ΅ΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠΈ β Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ (Π΅Π΄ΠΈΠ½ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ Π΄ΡΡΠ³ Π²ΠΈΡΡΡΠ°Π»Π΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΎΡΠΊΡΠΈΡΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅, SSH ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Ρ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»Π° ΠΎΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ°). ΠΡΠ·ΠΌΠΎΠΆΠ½Π° Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΌΡΠ»ΡΠΈΡΠ°ΠΊΡΠΎΡΠ½Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΏΠΊΠΎΠ²Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Ρ ΠΊΠ»ΡΡ, ΠΌΠΎΠΆΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠΈΡΠΊΠ°Π½ ΠΏΠ°ΡΠΎΠ»Π°).
- ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΠ΅Π· LDAP) ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΡΡΠ΅Π· HTTP API.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈΠ»ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° HTTP API Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈ ΠΏΡΠ΅Π΄ΠΈ Π²Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΏΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ ΠΊΠ²ΠΎΡΠΈ Π·Π° ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ Π±ΡΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡΠ°ΡΠΈΠΊ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π±ΡΠΎΡ Π½Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ.
- Π‘ΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏ, Π΄Π΅ΠΉΡΡΠ²Π°ΡΠΈ ΠΏΡΠΈΠ²ΡΡΠ·Π°Π½ΠΈ ΠΊΡΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° (ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄ΡΡ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π΄Π° ΡΠ΅ Π·Π°Π±ΡΠ°Π½ΠΈ ΠΊΠ°ΡΠ²Π°Π½Π΅ΡΠΎ, ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ΡΠΎ, ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ΡΠΎ, ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΏΡΠ°Π²Π°ΡΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ, Π΄Π° ΡΠ΅ Π·Π°Π±ΡΠ°Π½ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΈ Ρ.Π½.).
- ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈ Π΄ΠΎΡΡΡΠΏ ΡΠ°ΠΌΠΎ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ IP ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ»ΡΡΠΈ Π·Π° ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ° ΠΊΠ°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ).
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΏΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»Π° (ΠΊΠ°ΡΠ²Π°Π½Π΅, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅, ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ ΠΈ Π΄Ρ.). ΠΡΠ²Π΅Π½ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ, ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° HTTP Π·Π°ΡΠ²ΠΊΠΈ.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ.
- ΠΡΠΎΠΌΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π±Π΅Π· ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π² Prometheus.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HAProxy PROXY Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ ΡΡΠ»ΡΠ³ΠΈ SFTP/SCP Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ IP Π°Π΄ΡΠ΅Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ.
- REST API Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΡΠ΅ΡΠΈ Π·Π° Π°ΠΊΡΠΈΠ²Π½ΠΈ ΡΠ΅ΡΠΈΠΈ.
- Web ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (http://127.0.0.1:8080/web) Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΠ΅Π· ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅).
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ JSON, TOML, YAML, HCL ΠΈ envfile.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΠΎ SSH Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π΅ ΡΡΠ°ΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Git (git-receive-pack, git-upload-pack, git-upload-archive) ΠΈ rsync, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy ΠΈ sftpgo-remove).
- Portable ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΠ±Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΎΠ±ΡΠ²ΡΠ²Π°Π½ΠΈ ΡΡΠ΅Π· multicast DNS.
- ΠΠ³ΡΠ°Π΄Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
- Π£Π»Π΅ΡΠ½Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ Π² Linux.
- Π‘ΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π² JSON ΡΠΎΡΠΌΠ°Ρ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π½Π΅ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π° ΠΎΡ Π²ΡΠ½ΡΠ½ΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° cryptfs Π·Π° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ Π΄ΡΡΠ³ΠΈ SFTP ΡΡΡΠ²ΡΡΠΈ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° SFTPGo ΠΊΠ°ΡΠΎ SFTP ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° OpenSSH.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ Π²ΠΈΠ΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ KMS ΡΡΡΠ²ΡΡΠΈ (Π£ΡΠ»ΡΠ³ΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅), ΠΊΠ°ΡΠΎ Vault, GCP KMS, AWS KMS.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
