Состоялся первый значительный выпуск сервера , позволяющего организовать удалённый доступ к файлам при помощи протоколов SFTP, SCP/SSH и Rsync. В том числе SFTPGo может использоваться для предоставления доступа к Git-репозиториям, используя протокол SSH. Данные могут отдаваться как с локальной файловой системы, так и из внешних хранилищ, совместимых с Amazon S3 и Google Cloud Storage. Для хранения пользовательской базы и метаданных используются СУБД с поддержкой SQL или формата ключ/значение, такие как PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x или . Имеется также режим хранения метаданных в оперативной памяти, не требующий подключения внешней БД. Код проекта написан на языке Go и në përputhje me licencën GPLv3.
Karakteristikat kryesore:
- Për çdo llogari aplikohet izolimi chroot, i cili kufizon aksesin në katalogun e shtëpisë së përdoruesit. Është e mundur të krijohen katalogë virtualë që i referohen të dhënave jashtë katalogut të shtëpisë së përdoruesit.
- Llogaritë ruhet në një bazë virtuale përdoruesish, e cila nuk përputhet me DB-në sistemike të përdoruesve. Për ruajtjen e DB-së së përdoruesve mund të përdoren SQLite, MySQL, PostgreSQL, bbolt dhe ruajtja në memorie. Ofrohen mjete për të përputhur llogaritë virtuale me ato sistemike — është e mundur përputhja direkte ose arbitrare (një përdorues sistemik mund të përputhet me një përdorues tjetër virtual).
- Mbështetet autentifikimi me çelësa publikë, çelësa SSH dhe fjalëkalime (përfshirë autentifikimin interaktiv me futjen e fjalëkalimit nga tastiera). Është e mundur lidhja e disa çelësave për secilin përdorues, si dhe konfigurimi i autentifikimit me shumë faktorë dhe shumë hapa (për shembull, në rastin e autentifikimit të suksesshëm me çelës, mund të kërkohet gjithashtu një fjalëkalim).
- Çdo përdorues ka mundësi të konfigurojë metoda të ndryshme autentikimi, si dhe të përcaktojë metoda të veçanta, që realizohen përmes thirrjes së programeve autentifikues të jashtme (p.sh., për autentikimin përmes LDAP) ose dërgimit të kërkesave përmes API HTTP.
- Возможно подключение внешних обработчиков или вызовов HTTP API для динамического изменения параметров пользователя, вызываемых перед входом пользователя. Поддерживается создание пользователей при подключении.
- Mbështetje për kuota individuale për madhësinë e të dhënave dhe numrin e skedarëve.
- Mbështetje për kufizimin e bandwidth-it me konfigurim të ndarë të kufizimeve për trafik hyrës dhe dalës, si dhe kufizime për numrin e lidhjeve njëkohëshe.
- Mjetet e ndarjes së aksesit, që veprojnë në lidhje me përdoruesin ose katalogun (mund të kufizojnë shikimin e listës së skedarëve, të ndalojnë shkarkimin, ngarkimin, rishkrimin, fshirjen, rinovimin ose ndryshimin e të drejtave të aksesit, të ndalojnë krijimin e katalogëve ose lidhjeve simbolike etj.).
- Për çdo përdorues mund të përcaktohen kufizime të veçanta të rrjetit, për shembull, mund të lejohet hyrja vetëm nga IP ose nëndivizione të caktuara.
- Mbështetet lidhja e filtrave të ngarkesës së përmbajtjes në lidhje me përdoruesit dhe katalogët e veçantë (për shembull, mund të bllokoni ngarkimin e skedarëve me një zgjerim të caktuar).
- Është e mundur lidhja e përpunuesve që aktivizohen gjatë operacioneve të ndryshme me skedarin (ngarkim, fshirje, rinovim, etj.). Përveç thirrjes së përpunuesve, mbështetet dërgimi i njoftimeve në formën e kërkesave HTTP.
- Mbarimi automatik i lidhjeve të paaktivizuara.
- Përditësimi atomar i konfiguracionit pa ndërprerjen e lidhjeve.
- метрик для мониторинга в Prometheus.
- Mbështetet protokolli HAProxy PROXY për organizimin e balancimit të ngarkesës ose për proksimin e lidhjeve në shërbimet SFTP/SCP pa humbur informacion për IP-në origjinë të përdoruesit.
- для управления пользователями и каталогами, создания резервных копий и формирования отчётов об активных соединениях.
- (http://127.0.0.1:8080/web) для настройки и мониторинга (поддерживается и настройка через обычные файлы конфигурации).
- Mundësia për të caktuar cilësimet në formate JSON, TOML, YAML, HCL dhe envfile.
- подключения по SSH с ограниченным доступом к системным командам. Например, разрешён запуск команд, необходимых для работы Git (git-receive-pack, git-upload-pack, git-upload-archive) и rsync, а также нескольких встроенных команд (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy и sftpgo-remove).
- Режим для совместного использования одного общего каталога с автоматической генерацией учётных данных для подключения, анонсируемых через multicast DNS.
- Встроенная система для анализа производительности.
- Упрощённый миграции системных учётных записей Linux.
- логов в формате JSON.
Burimi: opennet.ru
