Skip to main content

monifa

Command-line client for Monifa, the multi-SSO TOTP authenticator.

Install

pip install monifa

The Python module uses the same name:

import monifa

For development:

python -m venv .venv
.venv/bin/pip install -e .

Login

Sign in through the installed Qitian CLI (qt app oauth):

monifa login

Use GitHub Device Flow instead (the CLI displays a short code and opens GitHub):

monifa login --provider github

You can also exchange a Qitian authorization code or an unconsumed Monifa login ticket directly:

monifa login --code 'QITIAN_AUTHORIZATION_CODE'
monifa login --ticket 'https://monifa.jyonn.space/#/auth/callback?ticket=...'

Tokens

Synchronize and show all current codes:

monifa ls

Generate one code by entry ID, issuer, or account name:

monifa code GitHub
monifa code 12

The last synchronized entries remain available offline:

monifa ls --offline
monifa code GitHub --offline

Add an entry:

monifa add --issuer GitHub --account user@example.com --secret JBSWY3DPEHPK3PXP
monifa add --issuer Example --account user --secret SECRET --algorithm SHA256 --digits 8 --period 30

Delete an entry after an interactive confirmation:

monifa rm 12
monifa rm GitHub --yes

Other commands:

monifa sync
monifa whoami
monifa logout

State And Security

The state file is ~/.config/monifa-cli/state.json by default. It contains refresh credentials and a plaintext cache of TOTP secrets so codes remain available offline. The CLI creates it with user-only permissions (0600). Anyone who can read this file can generate the stored MFA codes.

Override the backend, Qitian executable, or state path with MONIFA_BACKEND_URL, MONIFA_QT_COMMAND, and --config. GitHub Device Flow must be enabled for the configured GitHub OAuth App.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monifa-0.1.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file monifa-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: monifa-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for monifa-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e50e9f2d3dbb9854688612942b9086efc6eeb281f5e088bdcaedfe2bfa5bc443
MD5 73f0d80cf8e9db4e637f96cb2149f18d
BLAKE2b-256 d3c27ea3b1f6a7f9976f693a69c5df7adb7c370e689fd1f1834b396f690d185f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page