A file server that allows to access files with a OTP-based authentication. This server offers a simple interface, but also allows it do integrate into your application through the endpoints, as it's stateless and relies on an up-to-date OTP.
- Set environment variables in
docker-compose.yml - Run
docker-compose up
- Check branch
release/x.x - Download
otp-filemanager-x.x.tar - Set variables in
.env(see below) - Run
./otp-filemanager-x.x
- Run
./scripts/setup.sh
- Set
HTTPPORT - Set
IDSEEDto a random numeric sequence - Set
ISSUERto your service name with URL compatible characters - Set
PERIODto seconds a OTP is valid - Set
MAXFILESIZEMBto set the max size for an uploaded file - Set
MODIFIERto set how the files and users are managed - Set
KEYto a random 32 long string for encryption. Leave empty to disable it - Set
EXPIRATIONTIMEto set how long a user should exist until deleted in minutes. Set 0 for infinity
go run main.go
The authentication relies on a randomly generated username and OTP (currently only TOTP). The password has to be up-to-date, as no other authentication method is used for the user actions.
Files and user related information are saved directly to the file system.
When using release/1.2 and above, there is the possibility to enable encryption.
- Extensive load and security tests
- Extend to other OTP methods other than TOTP
- Implement alternative methods of saving users and files
