Megtörtént a szerver első jelentős kiadása SFTPGo 1.0, amely lehetővé teszi a fájlok távoli elérésének megszervezését az SFTP, SCP/SSH és Rsync protokollok használatával. Az SFTPGo többek között arra is használható, hogy az SSH-protokoll használatával hozzáférést biztosítsanak a Git-tárolókhoz. Az adatok a helyi fájlrendszerből és az Amazon S3-mal és a Google Cloud Storage-gal kompatibilis külső tárhelyről is átvihetők. A felhasználói adatbázis és a metaadatok tárolására SQL-t vagy kulcs/érték formátumot támogató DBMS-eket használnak, például PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x vagy bbolt 1.3.x. A metaadatok RAM-ban való tárolására is van mód, amelyhez nincs szükség külső adatbázis csatlakoztatására. A projekt kódja a Go és nyelven van írva forgalmazza GPLv3 licenccel.
Főbb jellemzői:
Minden fiók chrootolt, ami korlátozza a hozzáférést a felhasználó kezdőkönyvtárához. Lehetőség van virtuális könyvtárak létrehozására, amelyek a felhasználó saját könyvtárán kívüli adatokra hivatkoznak.
A fiókokat a rendszer egy virtuális felhasználói adatbázisban tárolja, amely nem fedi át a rendszer felhasználói adatbázisát. Felhasználói adatbázisok tárolására SQLite, MySQL, PostgreSQL, bbolt és memórián belüli tárolás használható. Lehetőségek biztosítottak a virtuális és rendszerfiókok leképezésére – közvetlen vagy véletlenszerű leképezés lehetséges (egy rendszerfelhasználó hozzárendelhető egy másik virtuális felhasználóhoz).
A nyilvános kulcsokkal, SSH-kulcsokkal és jelszavakkal történő hitelesítés támogatott (beleértve az interaktív hitelesítést a billentyűzetről beírt jelszóval). Lehetőség van minden felhasználóhoz több kulcs kötésére, valamint többtényezős és többlépcsős hitelesítés beállítására (például sikeres kulcshitelesítés esetén további jelszó is kérhető).
Minden felhasználó számára lehetőség van különböző hitelesítési módszerek konfigurálására, valamint saját módszerek definiálására, amelyeket külső hitelesítő programok hívásával (például LDAP-n keresztüli hitelesítéshez) vagy HTTP API-n keresztüli kérések küldésével valósítanak meg.
Lehetőség van külső kezelők vagy HTTP API-hívások csatlakoztatására a felhasználói paraméterek dinamikus megváltoztatásához, amelyeket a felhasználó bejelentkezése előtt hívnak meg. Támogatott dinamikus felhasználók létrehozása csatlakozáskor.
Támogatja az adatméretre és a fájlok számára vonatkozó egyedi kvótákat.
A sávszélesség korlátozásának támogatása a bejövő és kimenő forgalom korlátozásainak külön konfigurációjával, valamint az egyidejű kapcsolatok számának korlátozásával.
Hozzáférés-szabályozási eszközök, amelyek egy felhasználóhoz vagy könyvtárhoz kapcsolódnak (korlátozhatja a fájllista megtekintését, tilthatja a feltöltést, letöltést, felülírást, törlést, átnevezést vagy hozzáférési jogok módosítását, megtilthatja könyvtárak vagy szimbolikus hivatkozások létrehozását stb.).
Minden felhasználó számára egyedi hálózati korlátozásokat határozhat meg, például csak bizonyos IP-címekről vagy alhálózatokról engedélyezheti a bejelentkezést.
Támogatja a szűrők összekapcsolását a letöltött tartalomhoz az egyes felhasználókhoz és könyvtárakhoz (például blokkolhatja a fájlok letöltését bizonyos kiterjesztéssel).
Lehetőség van a különféle műveletek során elindított kezelők fájlhoz kötésére (letöltés, törlés, átnevezés stb.). A kezelők hívása mellett az értesítések HTTP kérések formájában történő küldése is támogatott.
Az inaktív kapcsolatok automatikus megszakítása.
Atomic konfiguráció frissítés a kapcsolatok megszakítása nélkül.
Gondoskodás mérőszámok a figyeléshez a Prometheusban.
A HAProxy PROXY protokoll támogatja a terheléselosztást vagy a proxy kapcsolatokat az SFTP/SCP szolgáltatásokhoz anélkül, hogy elveszne a felhasználó forrás IP-címére vonatkozó információ.
REST API felhasználók és címtárak kezelésére, biztonsági másolatok készítésére és jelentések készítésére az aktív kapcsolatokról.
Webes felület (http://127.0.0.1:8080/web) a konfigurációhoz és a felügyelethez (a szokásos konfigurációs fájlokon keresztül történő konfigurálás is támogatott).
Lehetőség a beállítások megadására JSON, TOML, YAML, HCL és envfile formátumokban.
támogatás SSH-n keresztüli kapcsolatok korlátozott hozzáféréssel a rendszerparancsokhoz. Például a Githez (git-receive-pack, git-upload-pack, git-upload-archive) és az rsynchez szükséges parancsok, valamint számos beépített parancs (scp, md5sum, sha*sum) futtatása engedélyezett. , cd, pwd, sftpgo-copy és sftpgo-remove).
rezsim hordozható egy közös címtár megosztása a multicast DNS-en keresztül hirdetett csatlakozási hitelesítő adatok automatikus generálásával.
Beágyazott rendszer profilalkotás teljesítményelemzéshez.
Egyszerűsített folyamat Linux rendszerfiókok migrációja.