
オフラインで動作する安全な二要素認証(2FA)マネージャー。デスクトップ環境向け。Pythonで構築され、強力な暗号化を備え、クラウド依存はありません。
🌐 ランディングページ: desktop-2fa.org
| 機能 | 説明 |
|---|---|
| 🔐 金庫のセキュリティ | AES-256-GCM暗号化とArgon2id鍵導出 |
| ⏱️ TOTP生成 | RFC 6238準拠のコード生成 |
| 💻 完全なCLI | トークン管理のための完全なコマンドラインインターフェース |
| 📋 クリップボード対応 | TOTPコードを自動的にクリップボードにコピー |
| 🔓 ステートレス設計 | すべてのコマンドで明示的なパスワード認証が必要 |
| 🛡️ パスワードポリシー | zxcvbnによる設定可能なパスワード強度チェック |
| 🧪 十分なテスト | 289のテストが通過し、広範なカバレッジ |
| 📖 セキュリティモデル | 詳細な脅威分析と暗号設計のドキュメント |
新しいTOTPエントリを対話的に追加
エントリのTOTPコードを生成
重複検出付きでエントリ名を変更
バージョン情報の表示と全エントリの一覧
pip install desktop-2fa
インストールの確認:
python -c "import desktop_2fa; print(desktop_2fa.__version__)"
# Output: 0.8.1dev
# 新しい金庫を初期化
d2fa vault init
# 新しいTOTPトークンを追加
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP
# 全エントリを表示
d2fa vault list
# コードを生成
d2fa code GitHub
# パスワードをコマンドラインで指定
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP --password mypassphrase
# パスワードをファイルで指定
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP --password-file /path/to/passphrase.txt
金庫は~/.desktop-2fa/vaultに保存される暗号化されたストレージファイルです。
金庫が必要なコマンドが実行され、金庫が存在しない場合:
--password/--password-fileが必要(非対話モード)Vault created at <path>金庫が必要なコマンドが実行され、金庫が存在する場合:
typer.Exit(1)で終了するrenameコマンドは、対象名に一致するエントリが複数存在する場合に決定論的な動作を強制します:
Error: Multiple entries named '<name>' exist. Operation aborted. Resolve duplicates first.金庫は以下を使用します:
すべてのコマンドで明示的なパスワード認証が必要です。セッションベースのアクセスはありません。
Desktop-2FAは、金庫パスワードの作成または変更時に zxcvbn を使用してパスワード強度を評価します:
例:
password, 123456, qwerty, admin2024Battery-Horse-Staple-Correct, Mountain@River*2024, MySecureVault#42設定(~/.config/d2fa/config.toml):
[security]
# 強いパスワードを要求(スコア >= 3)
reject_weak_passwords = false # 警告するが許可 | true: 弱いパスワードを拒否
reject_weak_passwords = false の場合:
reject_weak_passwords = true の場合:
後方互換性:
設定ファイルに min_password_entropy が設定されている場合(旧オプション)、それは認識され、zxcvbnスコア >= 3 を要求するのと同等として扱われます。
バージョン0.8.0は、v0.7.3以前のすべてのセキュリティ強化を維持し、コードの分離を改善するためのモジュラーアーキテクチャを導入します:
| ドキュメント | 説明 |
|---|
pytest tests/ # 全テストを実行
pytest --cov=src/desktop_2fa # カバレッジ付きで実行
src/desktop_2fa/
├── app/ # アプリケーションコンポーネント
├── cli/ # コマンドラインインターフェース
├── crypto/ # 暗号化ユーティリティ
├── totp/ # TOTP生成
├── ui/ # ユーザーインターフェースコンポーネント
├── vault/ # 金庫管理
└── utils/ # ユーティリティ
Apache License 2.0。 LICENSE ファイルを参照。
Łukasz Perek
desktop‑2faはKilo OSSスポンサーシッププログラムによって支援されています。
ご質問やサポートについては、[email protected] までお問い合わせください。
Desktop‑2FAは、自立性、透明性、オフラインセキュリティに重点を置いた独立したオープンソースツールです。 役に立つと思われ、継続的な開発を支援したい場合は、以下のプラットフォームからご支援いただけます:
| コマンド | 説明 |
|---|
d2fa vault add <name> <issuer> <secret> | 新しいTOTPエントリを追加 |
d2fa vault list | 保存された全TOTPエントリを表示 |
d2fa vault rename <old> <new> | エントリ名を変更 |
d2fa vault remove <name> | エントリを削除 |
d2fa code <name> [--copy|--copy-only] | TOTPコードを生成し、クリップボードコピーオプション |
| コマンド | 説明 |
|---|
d2fa vault init [--force] | 新しい金庫を初期化 |
d2fa vault unlock | 金庫を開く(設定されている場合、弱いパスワードの警告) |
d2fa vault change-password | 金庫のパスワードを変更 |
d2fa vault backup | 金庫の暗号化バックアップを作成 |
d2fa vault export <path> | 金庫をファイルにエクスポート |
d2fa vault import <path> [--force] | ファイルから金庫をインポート |
| オプション | 説明 |
|---|
--password <pwd> | 金庫パスワードを直接指定 |
--password-file <path> | ファイルから金庫パスワードを読み取り |
--json | JSON形式で出力 |
--raw | 生の出力(整形なし) |
--quiet | 重要でない出力を抑制 |
--copy | TOTPコードをクリップボードにコピーし表示 |
--copy-only | TOTPコードをクリップボードにのみコピー |
--force | 操作を強制(確認をスキップ) |
| ユーザーマニュアル | 完全な使用ガイド |
| セキュリティモデル | 詳細な脅威分析と暗号設計 |
| CLI UX仕様 | UX契約と動作 |
| 暗号技術 | セキュリティ実装の詳細 |