Состоялся первый значительный выпуск сервера SFTPGo 1.0, позволяющего организовать удалённый доступ к файлам при помощи протоколов SFTP, SCP/SSH и Rsync. В том числе SFTPGo может использоваться для предоставления доступа к Git-репозиториям, используя протокол SSH. Данные могут отдаваться как с локальной файловой системы, так и из внешних хранилищ, совместимых с Amazon S3 и Google Cloud Storage. Для хранения пользовательской базы и метаданных используются СУБД с поддержкой SQL или формата ключ/значение, такие как PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x или bbolt 1.3.x. Имеется также режим хранения метаданных в оперативной памяти, не требующий подключения внешней БД. Код проекта написан на языке Go и Distribuït per amb llicència GPLv3.
Característiques principals:
Cada compte té un chrooteig, limitant l'accés al directori inicial de l'usuari. És possible crear directoris virtuals que facin referència a dades fora del directori inicial de l'usuari.
Els comptes s'emmagatzemen en una base de dades d'usuaris virtual que no es solapa amb la base de dades d'usuaris del sistema. SQLite, MySQL, PostgreSQL, bbolt i l'emmagatzematge en memòria es poden utilitzar per emmagatzemar bases de dades d'usuaris. Es proporcionen instal·lacions per mapejar comptes virtuals i de sistema; és possible mapejar directament o aleatòriament (un usuari del sistema es pot assignar a un altre usuari virtual).
S'admet l'autenticació mitjançant claus públiques, claus SSH i contrasenyes (inclosa l'autenticació interactiva amb una contrasenya introduïda des del teclat). És possible lligar diverses claus per a cada usuari, així com configurar l'autenticació multifactorial i de diversos passos (per exemple, en cas d'autenticació de claus correcta, es pot demanar una contrasenya addicional).
Per a cada usuari, és possible configurar diferents mètodes d'autenticació, així com definir els vostres propis mètodes, implementats cridant a programes d'autenticació externs (per exemple, per a l'autenticació mitjançant LDAP) o enviant peticions mitjançant l'API HTTP.
Возможно подключение внешних обработчиков или вызовов HTTP API для динамического изменения параметров пользователя, вызываемых перед входом пользователя. Поддерживается динамическое создание пользователей при подключении.
Admet quotes individuals per a la mida de les dades i el nombre de fitxers.
Suport per a la limitació de l'ample de banda amb una configuració separada de restriccions per al trànsit entrant i sortint, així com restriccions sobre el nombre de connexions simultànies.
Eines de control d'accés que operen en relació a un usuari o directori (podeu limitar la visualització d'una llista d'arxius, prohibir la càrrega, la descàrrega, la sobreescritura, la supressió, el canvi de nom o el canvi de drets d'accés, prohibir la creació de directoris o enllaços simbòlics, etc.).
Per a cada usuari, podeu definir restriccions de xarxa individuals, per exemple, només podeu permetre inicis de sessió des de determinades IP o subxarxes.
Admet la connexió de filtres per al contingut descarregat en relació amb usuaris i directoris individuals (per exemple, podeu bloquejar la descàrrega de fitxers amb una extensió determinada).
És possible enllaçar els controladors que s'inicien durant diverses operacions amb un fitxer (descàrrega, supressió, canvi de nom, etc.). A més de trucar als controladors, s'admet l'enviament de notificacions en forma de sol·licituds HTTP.
Finalització automàtica de connexions inactives.
Actualització de la configuració atòmica sense trencar connexions.
El protocol HAProxy PROXY és compatible per organitzar l'equilibri de càrrega o les connexions de proxy als serveis SFTP/SCP sense perdre informació sobre l'adreça IP d'origen de l'usuari.
REST API для управления пользователями и каталогами, создания резервных копий и формирования отчётов об активных соединениях.
Interfície web (http://127.0.0.1:8080/web) для настройки и мониторинга (поддерживается и настройка через обычные файлы конфигурации).
Capacitat de definir la configuració en formats JSON, TOML, YAML, HCL i envfile.
suport подключения по SSH с ограниченным доступом к системным командам. Например, разрешён запуск команд, необходимых для работы Git (git-receive-pack, git-upload-pack, git-upload-archive) и rsync, а также нескольких встроенных команд (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy и sftpgo-remove).
Mode portàtil для совместного использования одного общего каталога с автоматической генерацией учётных данных для подключения, анонсируемых через multicast DNS.
Sistema incrustat профилирования для анализа производительности.