Skip to content

david-slatinek/file-vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Laravel Docker Amazon S3 PostgreSQL GNU Bash Tailwind CSS Vault

Description

File Vault is a simple, secure file storage service that allows you to upload, download, and delete files.

API

API was made using Go, along with the PostgreSQL database. Files are stored in Localstack S3 and are encrypted using AES-256-GCM. For deriving the encryption key from the user password, Argon2 is used. We additionally added 2FA using TOTP. The 2FA secret key is encrypted using RSA-4096, where keys are stored in HashiCorp Vault. We also added our own TLS certificate.

Website

The website was made using Laravel. It is a simple web interface for the File Vault API. For login, we used Github OAuth.

Home page
Home page.

For additional images, see the images folder.