ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ° 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.
Sa bag-ong bersyon:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ (TOTP, RFC 6238). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ Authy ΠΈ Google Authenticator.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠ»Π°Π³ΠΈΠ½Ρ. Π‘ΡΠ΅Π΄ΠΈ ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²: ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΡ Π΅ΠΌΡ Publish/Subscribe, Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ Π² Π‘Π£ΠΠ.
- Π REST API Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠ»ΡΡΠ°ΠΌ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠΊΠ΅Π½ΠΎΠ² JWT, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ (ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ Π΄Π°Π½Π½ΡΡ ) Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Swagger UI Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΡΡΡΡΠ°ΠΌ API Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ.
- Π web-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ (Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΡΠΎΡΠ° ΠΏΠ°ΡΠΎΠ»Ρ Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ email, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΡΠΈΠΊ PDF-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ HTTP-ΡΡΡΠ»ΠΎΠΊ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ, Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌ, Π·Π°Π΄Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΡΡΡΠ»ΠΊΠΈ ΠΈ Π»ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠ»Π° Π·Π°Π³ΡΡΠ·ΠΎΠΊ.
Pangunang mga bahin sa SFTPo:
- Ang matag account gi-chrooted, naglimite sa pag-access sa home directory sa user. Posible ang paghimo og mga virtual nga direktoryo nga nag-refer sa datos sa gawas sa direktoryo sa balay sa user.
- Ang mga account gitipigan sa usa ka virtual nga database sa tiggamit nga wala mag-overlap sa database sa tiggamit sa sistema. Ang SQLite, MySQL, PostgreSQL, bbolt ug in-memory storage mahimong gamiton sa pagtipig sa mga database sa user. Gihatag ang mga pasilidad alang sa pagmapa sa mga virtual ug sistema nga mga account - mahimoβg direkta o random nga pagmapa (ang usa ka tiggamit sa sistema mahimong mapa sa laing virtual nga tiggamit).
- Ang authentication gamit ang public keys, SSH keys ug passwords gisuportahan (lakip ang interactive authentication nga adunay password nga gisulod gikan sa keyboard). Posible ang pagbugkos sa daghang mga yawe alang sa matag tiggamit, ingon man pag-set up sa multi-factor ug multi-step authentication (pananglitan, sa kaso sa malampuson nga key authentication, ang usa ka password mahimong dugang nga gihangyo).
- Alang sa matag user, posible nga i-configure ang lain-laing mga pamaagi sa pag-authenticate, ingon man ang pag-define sa imong kaugalingon nga mga pamaagi, nga gipatuman pinaagi sa pagtawag sa mga programa sa external authenticator (pananglitan, alang sa authentication pinaagi sa LDAP) o pagpadala sa mga hangyo pinaagi sa HTTP API.
- Posible nga makonektar ang mga external handler o HTTP API nga mga tawag aron mabag-o ang mga parameter sa gumagamit, nga gitawag sa wala pa mag-log in ang user. Ang dinamikong paghimo sa mga tiggamit sa koneksyon gisuportahan.
- Nagsuporta sa indibidwal nga mga quota alang sa gidak-on sa datos ug gidaghanon sa mga file.
- Suporta alang sa paglimita sa bandwidth nga adunay bulag nga pag-configure sa mga pagdili alang sa umaabot ug paggawas nga trapiko, ingon man mga pagdili sa gidaghanon sa dungan nga mga koneksyon.
- Mga himan sa pagkontrol sa pag-access nga naglihok nga may kalabotan sa usa ka tiggamit o direktoryo (mahimo nimong limitahan ang pagtan-aw sa usa ka lista sa mga file, pagdili sa pag-upload, pag-download, pag-overwrit, pagtangtang, pag-usab sa ngalan o pagbag-o sa mga katungod sa pag-access, pagdili sa paghimo sa mga direktoryo o simbolikong mga link, ug uban pa).
- Alang sa matag tiggamit, mahimo nimong ipasabut ang indibidwal nga mga pagdili sa network, pananglitan, mahimo nimo tugutan ang mga pag-login gikan sa pipila nga mga IP o subnet.
- Gisuportahan niini ang pagkonekta sa mga filter alang sa na-download nga sulud nga may kalabotan sa mga indibidwal nga tiggamit ug mga direktoryo (pananglitan, mahimo nimong babagan ang pag-download sa mga file nga adunay usa ka piho nga extension).
- Posible nga ihigot ang mga tigdumala nga gilunsad sa lainlaing mga operasyon gamit ang usa ka file (pag-download, pagtangtang, pagbag-o sa ngalan, ug uban pa). Dugang sa pagtawag sa mga tigdumala, ang pagpadala sa mga pahibalo sa porma sa mga hangyo sa HTTP gisuportahan.
- Awtomatikong pagtapos sa dili aktibo nga mga koneksyon.
- Atomic configuration update nga walay pagguba sa mga koneksyon.
- Paghatag metrics alang sa pagmonitor sa Prometheus.
- Ang HAProxy PROXY protocol gisuportahan sa pag-organisar sa load balancing o proxy nga koneksyon sa SFTP/SCP nga mga serbisyo nga walay pagkawala sa impormasyon mahitungod sa tinubdan sa IP address sa user.
- REST API alang sa pagdumala sa mga tiggamit ug mga direktoryo, paghimo og mga backup ug paghimo og mga taho sa aktibong mga koneksyon.
- Web interface (http://127.0.0.1:8080/web) para sa configuration ug monitoring (configuration pinaagi sa regular nga configuration files gisuportahan usab).
- Abilidad sa paghubit sa mga setting sa JSON, TOML, YAML, HCL ug envfile nga mga format.
- Suporta alang sa pagkonektar pinaagi sa SSH nga adunay limitado nga pag-access sa mga mando sa sistema. Pananglitan, gitugotan ang pagpadagan sa mga sugo nga gikinahanglan alang sa Git (git-receive-pack, git-upload-pack, git-upload-archive) ug rsync, ingon man usab sa daghang mga built-in nga mga sugo (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy ug sftpgo-remove).
- Portable mode alang sa pagpaambit sa usa ka komon nga direktoryo nga adunay awtomatik nga paghimo sa mga kredensyal sa koneksyon nga gi-advertise pinaagi sa multicast DNS.
- Gitukod nga sistema sa profiling alang sa pagtuki sa pasundayag.
- Gipasimple nga proseso alang sa pagbalhin sa mga account sa sistema sa Linux.
- Pagtipig sa mga log sa JSON format.
- Suporta alang sa mga virtual nga direktoryo (pananglitan, ang mga sulud sa usa ka piho nga direktoryo mahimong isilbi dili gikan sa lokal nga FS, apan gikan sa usa ka eksternal nga pagtipig sa panganod).
- Suporta sa Cryptfs alang sa transparent on-the-fly encryption sa data kung magtipig sa FS ug decryption kung mobalik.
- Suporta alang sa pagpasa sa mga koneksyon sa ubang mga SFTP server.
- Abilidad sa paggamit sa SFTPGo isip SFTP subsystem para sa OpenSSH.
- Ang abilidad sa pagtipig sa mga kredensyal ug kompidensyal nga datos sa na-encrypt nga porma gamit ang mga KMS server (Key Management Services), sama sa Vault, GCP KMS, AWS KMS.
Source: opennet.ru