cd ./clientnpm inpm start
cd ./servermkdir -p ./ssl && openssl req -x509 -newkey rsa:2048 -nodes -keyout ./ssl/key.pem -out ./ssl/crt.pem -days 365 -subj "/CN=localhost"mkcert -installmkdir -p ./ssl && mkcert -key-file ./ssl/key.pem -cert-file ./ssl/crt.pem localhost 127.0.0.1 ::1npm inpm start
- tests to cover existing functionality
- constant response time
- constant response size
- double file extension
- prevent malicious file upload
- RSA to transport AES key from server to client
- AES key to encrypt files and send to server
- save files in encrypted form
- when user provides file key, file is decrypted and sent to user
- file is decrypted on client side
- implement rate limiting
- implement CAPTCHA response
This project is in its early stages, expect bugs. File an issue or pull request accordingly.
MIT.