Tools to deploy my recovery website
It can be a tad scary having your entire digital life locked securely away in something like 1Password, where if you were to lose access to all your devices, you may lose access to EVERYTHING.
The tools in this repository provide me with a static password protected "recovery" website that is hosted via Cloudflare Workers, which will help me in the event that I lose access to all my digital devices.
Hopefully I'll never have to access this website. But it's there for a disaster scenario.
I store a markdown document inside my 1Password that contains various details about how to recover my digital life, along with some important contacts should I need to immediately contact someone.
The src/compiler/compile.mjs
script extracts the markdown document from the
secure Note in 1Password along with an additional passphrase from the Secure
Note. It then encrypts this document using AES encryption and base64s the
content and writes it to stdout.
This compiler also handles converting the markdown document to HTML + CSS.
A src/worker/index.ts
file is uploaded to a Cloudflare
Worker, which is given 2 important
environment variables
USERNAME
: This is the username that is used for authentication.
ENCRYPTED_WEBSITE
: This is the result of compile.mjs
.
When the worker is invoked, the provided password is used to attempt to
decrypt the ENCRYPTED_WEBSITE
content. If successful, the website is rendered.
Ensure the RECOVERY_ITEM_ID
matches the Secure Note in 1Password
containing the markdown file.
Ensure the wrangler.toml
matches your desired worker deployment
configuration.
Deploy the worker and configuration using make deploy
.