86 lines
2.6 KiB
Markdown
86 lines
2.6 KiB
Markdown
# Decky Vaultwarden
|
|
|
|
A Decky Loader plugin for accessing Bitwarden and Vaultwarden passwords directly from your Steam Deck.
|
|
|
|
## Features
|
|
|
|
- **Login with Email + Password** or **API Key** (supports self-hosted Vaultwarden)
|
|
- **Browse vault** organized by folders with search
|
|
- **Copy passwords, usernames, and TOTP codes** to clipboard (auto-clears after 60 seconds)
|
|
- **PIN unlock** - set up a PIN to avoid entering your master password every time
|
|
- **2FA support** - handles two-factor authentication during login
|
|
- **Offline capable** - once synced, vault data is cached locally
|
|
- **Auto-lock** - vault locks when Steam Deck goes to sleep
|
|
|
|
## Installation
|
|
|
|
1. Install [Decky Loader](https://github.com/SteamDeckHomebrew/decky-loader) on your Steam Deck
|
|
2. Download the latest release ZIP from [Releases](https://github.com/zoe/Decky-vaultwarden/releases)
|
|
3. In Decky Loader settings, go to Developer > Install Plugin from ZIP File
|
|
4. Select the downloaded ZIP file
|
|
|
|
## Setup
|
|
|
|
### First Login
|
|
|
|
1. Open the Decky quick access menu and find the Vaultwarden plugin
|
|
2. Enter your server URL:
|
|
- For Bitwarden cloud: `https://api.bitwarden.com`
|
|
- For self-hosted: `https://your-vaultwarden-domain.com`
|
|
3. Enter your email and master password
|
|
4. If 2FA is enabled, enter your authenticator code
|
|
|
|
### Setting Up PIN (Recommended)
|
|
|
|
After logging in, click "Set Up PIN" to enable quick unlock:
|
|
- Enter a 4+ character PIN
|
|
- The PIN protects your encryption key locally
|
|
- After setup, you only need the PIN to unlock (not the full master password)
|
|
- After 5 failed PIN attempts, you'll need to login with master password again
|
|
|
|
### API Key Login
|
|
|
|
For automation or if you prefer API keys:
|
|
1. Get your API key from Vaultwarden Settings > Security > Keys > View API Key
|
|
2. Toggle "Use API Key" in the plugin
|
|
3. Enter your Client ID, Client Secret, and Email
|
|
4. You'll still need your master password once to decrypt the vault
|
|
|
|
## Security
|
|
|
|
- All decryption happens locally on your device
|
|
- Master password is never stored
|
|
- PIN is used to locally encrypt your vault key (not transmitted)
|
|
- Clipboard is cleared after 60 seconds
|
|
- Vault locks on Steam Deck sleep (configurable)
|
|
- 5 failed PIN attempts triggers logout
|
|
|
|
## Building from Source
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js v16.14+ and pnpm v9
|
|
- Python 3.10+ with pip
|
|
- Docker (for backend builds)
|
|
|
|
### Build
|
|
|
|
```bash
|
|
# Install frontend dependencies
|
|
npm install
|
|
|
|
# Build frontend and create plugin ZIP
|
|
npm run build
|
|
|
|
# The plugin ZIP will be in the out/ directory
|
|
# Install via Decky: Settings > Developer > Install Plugin from ZIP File
|
|
```
|
|
|
|
## Keyboard Shortcuts
|
|
|
|
- **Ctrl+Shift+L**: Lock vault
|
|
|
|
## License
|
|
|
|
MIT License - see [LICENSE](LICENSE) for details.
|