Turn your secrets into scannable QR codes.
OATHqr helps users create security credentials for use with 2FA/MFA and
other OATH-enabled apps. Use it to generate scannable QR codes for one-time password
authenticator apps such as Aegis or YubiKey. Or
skip the QR code altogether and paste the formatted otpauth
URI it creates directly
into OpenPGP-activated password managers such as the
remarkable Pass standard unix password manager.
- Ease migration between authenticator solutions.
- Customize auth URI data and access advanced security features.
- Enable users to work directly with auth strings to discourage camera use.
- Discourage users from saving secrets to cleartext files they cannot read.
- Consolidate account credentials within encrypted password managers.
- Makes no external requests and runs offline-first.
- Installable to mobile device home screens.
- Defaults browser to strict Content-Security Policy.
- Informs users when they are using a trusted origin.
- Discourages user from saving QR code to a file.
- Proactively disables FLoC surveillance in Chrome.
- Provides accessible form for more inclusive design.
- Promotes ethical software alternatives to Google.
- Adjusts color scheme based on system preference.
- Includes native build target with isolation enabled.
OATHqr adapts its colors based on your current system preference:
Prefers Light | Prefers Dark |
---|---|
![]() |
![]() |
View the online demo to test it out and see how it works.
Depending on your target environment.
To ensure compatibility with the lockfile, set up the correct Node.js and pnpm versions:
# Using fnm (Fast Node Manager)
fnm install 16.16.0
fnm use 16.16.0
# Install compatible pnpm version
npm install -g [email protected]
Reference .npmrc
file as well package.json
for Node project configuration.
Once you've cloned the project install development dependencies:
pnpm install --frozen-lockfile
Then start a development server:
pnpm dev
# or start the server and open the app in a new browser tab
pnpm dev -- --open
See Compatability Notes for help running the non-Rust part of this app.
Once you've cloned the project, completed
the Tauri prerequisites and installed development
dependencies with pnpm install
, start a development server:
pnpm tauri dev
To create a production version of your app:
pnpm build
You can preview the production build with pnpm preview
.
To create a native version of your app:
pnpm tauri build
OATHqr - Turn your secrets into scannable QR Codes.
Copyright (C) 2022 VHS <[email protected]> (https://vhs.codeberg.page)
OATHqr is made available under the AGPL-3.0-or-later license. See the file COPYING in the source for the complete license text.
This project is locked to:
- Node.js v14.13 - v16.x
- pnpm v6.x (specifically 6.35.1 recommended)
- SvelteKit "next" version (pre-1.0)
- Vite 3.0.4
Leverage lockfile to produce a working build based on compatability matrix.