57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
# Emergency Access System
|
|
|
|
A secure emergency information access system using YubiKey authentication. This application allows authorized users to access critical emergency information stored in Markdown format.
|
|
|
|
## Features
|
|
|
|
- YubiKey authentication for secure access
|
|
- Markdown rendering with syntax highlighting
|
|
- Webhook for remote updates of emergency information
|
|
- Mobile-friendly interface
|
|
- Hidden passwords that reveal when clicked
|
|
|
|
## Setup
|
|
|
|
1. Clone this repository
|
|
2. Install dependencies:
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
3. Create a `.env` file based on `.env.example`:
|
|
```
|
|
cp .env.example .env
|
|
```
|
|
4. Edit the `.env` file with your settings
|
|
|
|
### YubiKey Configuration
|
|
|
|
1. Get your YubiKey API credentials from https://upgrade.yubico.com/getapikey/
|
|
2. Add your client ID and secret key to the `.env` file
|
|
3. Determine your YubiKey ID (first 12 characters of any OTP generated by your YubiKey)
|
|
4. Add the YubiKey ID to the `.env` file
|
|
|
|
### Webhook Secret Generation
|
|
|
|
The webhook requires a strong secret to secure remote updates. Use one of these methods to generate a secure secret:
|
|
|
|
#### Option 1: Using Python
|
|
|
|
```python
|
|
import secrets
|
|
print(secrets.token_hex(32)) # Generates a 64-character hex string
|
|
```
|
|
|
|
#### Option 2: Using OpenSSL
|
|
|
|
```bash
|
|
openssl rand -hex 32
|
|
```
|
|
|
|
#### Option 3: Using /dev/urandom (Linux/Mac)
|
|
|
|
```bash
|
|
head -c 32 /dev/urandom | xxd -p -c 32
|
|
```
|
|
|
|
Add the generated secret to your `.env` file:
|