Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rajtatata/password-keeper

Backup your passwords online, encrypted
https://github.com/rajtatata/password-keeper

decryption encryption password tweetnacl vault

Last synced: 5 days ago
JSON representation

Backup your passwords online, encrypted

Awesome Lists containing this project

README

        

This project is a serverless app for storing passwords or any other sensitive data.

Demo: [pass.flaviorajta.com](https://pass.flaviorajta.com/)

Login: demo:demo

Master Password: demo

## How it works

The backend uses Google Firestore as the database and Google Cloud Functions. The frontend is a React app which can also be hosted on Firebase Hosting. [TweetNacl](https://tweetnacl.js.org/) is used for encrypting and decrypting data.
- The backend always stores encrypted data
- The data is decrypted only on the frontend

`Master Password` is the key used to encrypt/decrypt data. When this key is correct, the data will be correctly decrypted and the user will have the option to view or copy.

While logged in with demo account, go ahead and write `demo` as the Master Password and you will notice the data change.

## How to deploy
- Create a Firebase Project, or use an existing one
- Navigate into `backend-firebase-functions` folder
- run `firebase init ` to initialize the firebase project
- check using the space bar only Functions
- choose the Project you want to use
- you can safely press Enter until everything finishes
- Navigate inside `backend-firebase-functions/functions`
- rename `.env.example` to `.env`
- be sure to change the TOKEN_SECRET inside `.env` to whatever you want
- run `firebase deploy` to deploy your function to the cloud
- once it completes it will display your function url, which will be needed below
- Navigate into `frontend-reactjs`
- rename `.env.example` to `.env`
- be sure to changre REACT_APP_SERVER_URL to your function url
- run `npm install` to install the npm packages
- run `npm run build` to build the project
- this will create a build folder inside
- move this build folder to `frontend-firebase-hosting`
- or you can run `npm run postbuild:windows` or `npm run postbuild:linux` depending on your os
- Navigate inside `frontend-firebase-hosting`
- run `firebase init` to initialize the firebase project
- check using the space bar only Hosting
- choose the Project you want to use
- you can safely press Enter until everything finishes
- run `firebase deploy` to deploy your static app to the cloud
- once it finishes it will show the Hosting URL