Состоялся первый значительный выпуск сервера , позволяющего организовать удалённый доступ к файлам при помощи протоколов SFTP, SCP/SSH и Rsync. В том числе SFTPGo может использоваться для предоставления доступа к Git-репозиториям, используя протокол SSH. Данные могут отдаваться как с локальной файловой системы, так и из внешних хранилищ, совместимых с Amazon S3 и Google Cloud Storage. Для хранения пользовательской базы и метаданных используются СУБД с поддержкой SQL или формата ключ/значение, такие как PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x или . Имеется также режим хранения метаданных в оперативной памяти, не требующий подключения внешней БД. Код проекта написан на языке Go и në licencë GPLv3.
Karakteristikat kryesore:
- Për çdo llogari aplikohet izolimi chroot, i cili kufizon aksesin në katalogun e përdoruesit. Është e mundur të krijohen katalogë virtualë që referohen në të dhënat jashtë katalogut të përdoruesit.
- Llogaritë ruhen në një bazë virtuale të përdoruesve, e cila nuk ndërthuret me bazën e të dhënave sistemore. Për ruajtjen e bazës së të dhënave të përdoruesve mund të përdoren SQLite, MySQL, PostgreSQL, bbolt dhe ruajtje në memorje. Sigurohen mjete për përputhjen e llogarive virtuale dhe atyre sistemore – është e mundur përputhja direkte ose arbitrare (një përdorues i sistemit mund të jetë i përputhur me një përdorues tjetër virtual).
- Përkrahja e autentikimit me çelësa publikë, çelësa SSH dhe fjalëkalime (përfshirë autentikimin interaktiv me hyrje të fjalëkalimit nga tastiera). Mund të lidhen disa çelësa për çdo përdorues, si dhe të konfigurohet autentikimi me shumë faktorë dhe shumë hapa (për shembull, në rastin e një autentikimi të suksesshëm me çelës, mund të kërkohet një fjalëkalim shtesë).
- Për çdo përdorues është e mundur të konfigurohen metoda të ndryshme autentikimi, si dhe të përcaktohen metoda të veta që realizohen përmes thirrjes së programeve të jashtme autentikues (për shembull, për autentikimin përmes LDAP) ose dërgimit të kërkesave përmes HTTP API.
- Возможно подключение внешних обработчиков или вызовов HTTP API для динамического изменения параметров пользователя, вызываемых перед входом пользователя. Поддерживается создание пользователей при подключении.
- Përkrahja e kuotave individuale për madhësinë e të dhënave dhe numrin e skedarëve.
- Përkrahja e kufizimit të kapacitetit me konfigurim të veçantë për kufizimet e trafikut hyrës dhe dalës, si dhe kufizimeve për numrin e lidhjeve të njëkohshme.
- Mjete për ndarjen e aksesit, që veprojnë në lidhje me përdoruesin ose katalogun (mund të kufizohet shikimi i listës së skedarëve, të ndalohet ngarkimi, shkarkimi, rishkrimi, fshirja, rinovimi ose ndryshimi i të drejtave të aksesit, të ndalohet krijimi i katalogëve ose lidhjeve simbolike, etj.).
- Për çdo përdorues mund të përcaktohen kufizime individuale rrjeti, për shembull, mund të lejohet akses vetëm nga disa IP ose nënrrjeta të caktuara.
- Mbështetet lidhja e filtrave të përmbajtjes së ngarkuar në lidhje me përdorues të veçantë dhe katalogë (p.sh., mund të bllokoni ngarkimin e skedarëve me një prapashtesë të caktuar).
- Mundësia e lidhjes së menaxherëve që aktivizohen gjatë operacioneve të ndryshme me skedarin (ngarkim, fshirje, rinovim, etj.). Përveç thirrjes së menaxherëve, mbështetet dërgimi i njoftimeve në formën e kërkesave HTTP.
- Automatizimi i përfundimit të lidhjeve të paaktivizuara.
- Përditësimi atomar i konfigurimit pa ndërprerë lidhjet.
- метрик для мониторинга в Prometheus.
- Mbështetet protokolli HAProxy PROXY për organizimin e balansimit të ngarkesës ose për proksimin e lidhjeve në shërbimet SFTP/SCP pa humbur informacionin mbi IP-në origjinale të përdoruesit.
- для управления пользователями и каталогами, создания резервных копий и формирования отчётов об активных соединениях.
- (http://127.0.0.1:8080/web) для настройки и мониторинга (поддерживается и настройка через обычные файлы конфигурации).
- Mundësia e përcaktimit të konfigurimeve 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).
- Modaliteti для совместного использования одного общего каталога с автоматической генерацией учётных данных для подключения, анонсируемых через multicast DNS.
- Встроенная система для анализа производительности.
- Упрощённый миграции системных учётных записей Linux.
- логов в формате JSON.
Burimi: opennet.ru
