Desilo se prvo značajno izdanje servera SFTPGo 1.0, koji vam omogućava da organizirate daljinski pristup datotekama koristeći SFTP, SCP/SSH i Rsync protokole. Između ostalog, SFTPGo se može koristiti za pružanje pristupa Git repozitorijumima koristeći SSH protokol. Podaci se mogu prenositi i iz lokalnog sistema datoteka i sa eksterne memorije kompatibilne sa Amazon S3 i Google Cloud Storage. Za pohranjivanje korisničke baze podataka i metapodataka koriste se DBMS-ovi s podrškom za SQL ili format ključ/vrijednost, kao što su PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x ili bbolt 1.3.x. Postoji i način pohranjivanja metapodataka u RAM, koji ne zahtijeva povezivanje vanjske baze podataka. Kod projekta je napisan u Go and distribuira licenciran pod GPLv3.
Glavne karakteristike:
Svaki račun je chroot, ograničavajući pristup korisničkom kućnom direktoriju. Moguće je kreirati virtualne direktorije koji referenciraju podatke izvan korisničkog kućnog direktorija.
Računi se pohranjuju u virtualnu korisničku bazu podataka koja se ne preklapa s bazom podataka korisnika sistema. SQLite, MySQL, PostgreSQL, bbolt i memorija za skladištenje mogu se koristiti za skladištenje korisničkih baza podataka. Omogućene su mogućnosti za mapiranje virtuelnih i sistemskih naloga - moguće je direktno ili nasumično mapiranje (jedan korisnik sistema može biti mapiran na drugog virtuelnog korisnika).
Podržana je autentifikacija pomoću javnih ključeva, SSH ključeva i lozinki (uključujući interaktivnu autentifikaciju lozinkom unesenom s tastature). Moguće je vezati nekoliko ključeva za svakog korisnika, kao i postaviti višefaktorsku i višestepenu autentifikaciju (na primjer, u slučaju uspješne provjere autentičnosti ključa može se dodatno zatražiti lozinka).
Za svakog korisnika moguće je konfigurirati različite metode provjere autentičnosti, kao i definirati vlastite metode, implementirane pozivanjem eksternih programa za autentifikaciju (na primjer, za autentifikaciju putem LDAP-a) ili slanjem zahtjeva putem HTTP API-ja.
Moguće je povezati vanjske rukovaoce ili HTTP API pozive za dinamičku promjenu korisničkih parametara, pozvanih prije nego što se korisnik prijavi. Podržano dinamičan kreiranje korisnika nakon povezivanja.
Podržava pojedinačne kvote za veličinu podataka i broj datoteka.
Podrška za ograničenje propusnog opsega sa odvojenom konfiguracijom ograničenja za dolazni i odlazni saobraćaj, kao i ograničenja broja istovremenih veza.
Alati za kontrolu pristupa koji rade u odnosu na korisnika ili direktorij (možete ograničiti pregled liste datoteka, zabraniti postavljanje, preuzimanje, prepisivanje, brisanje, preimenovanje ili promjenu prava pristupa, zabraniti kreiranje direktorija ili simboličkih veza, itd.).
Za svakog korisnika možete definirati pojedinačna mrežna ograničenja, na primjer, možete dozvoliti samo prijave sa određenih IP-ova ili podmreža.
Podržava povezivanje filtera za preuzeti sadržaj u odnosu na pojedinačne korisnike i direktorije (na primjer, možete blokirati preuzimanje datoteka s određenim ekstenzijom).
Moguće je vezati rukovaoce koji se pokreću tokom raznih operacija sa datotekom (preuzimanje, brisanje, preimenovanje itd.). Osim rukovatelja pozivanjem, podržano je slanje obavijesti u obliku HTTP zahtjeva.
Automatski prekid neaktivnih veza.
Atomsko ažuriranje konfiguracije bez prekida veze.
HAProxy PROXY protokol je podržan za organiziranje balansiranja opterećenja ili proxy veza sa SFTP/SCP uslugama bez gubitka informacija o izvornoj IP adresi korisnika.
REST API za upravljanje korisnicima i direktorijima, kreiranje sigurnosnih kopija i generiranje izvještaja o aktivnim vezama.
Web interfejs (http://127.0.0.1:8080/web) za konfiguraciju i nadgledanje (takođe je podržana konfiguracija putem redovnih konfiguracijskih datoteka).
Mogućnost definiranja postavki u JSON, TOML, YAML, HCL i envfile formatima.
podrška veze preko SSH-a sa ograničenim pristupom sistemskim komandama. Na primjer, dozvoljeno je pokretanje naredbi neophodnih za Git (git-receive-pack, git-upload-pack, git-upload-archive) i rsync, kao i nekoliko ugrađenih naredbi (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy i sftpgo-remove).
Režim portabl za dijeljenje jednog zajedničkog direktorija s automatskim generiranjem vjerodajnica za vezu koje se oglašavaju putem multicast DNS-a.