Files
bnet_auth_tool/requirements.txt
Nighthawk42andClaude Opus 4.8 023ccd9f74 Rewrite as a packaged tool with an encrypted vault (v2.0.0)
Replace the single-file v1.3.1 script with a proper src/bnet_auth_tool/
package: config (YAML settings + platformdirs), crypto (scrypt + AES-256-GCM
with a versioned header; legacy PBKDF2 100k/600k still decrypt), storage
(single encrypted vault), fileio (atomic 0600 writes), api, totp, migrate, and
a cli with an interactive menu plus argparse subcommands.

Security/audit fixes: drop catch-all excepts, stop leaking server bodies/tokens
in errors, atomic permission-hardened writes, explicit Ctrl-C handling,
versioned format header, best-effort passphrase scrubbing.

Add packaging (pyproject for uv, organized requirements.txt fallback, uv.lock),
.gitignore, settings.yaml, CLAUDE.md/AGENTS.md, 22 pytest tests, and ruff
config. Online attach/retrieve is preserved but kept labelled unverified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 19:56:35 -04:00

23 lines
884 B
Plaintext

# ---------------------------------------------------------------------------
# Fallback dependency list for `pip install -r requirements.txt`.
#
# The canonical source of truth is pyproject.toml; this file mirrors its
# runtime dependencies for environments without uv/PEP 621 support.
# For development, prefer: uv sync --extra dev (or) pip install -e .[dev]
# ---------------------------------------------------------------------------
# HTTP client for the (online) Battle.net authenticator API
requests>=2.31
# QR-code generation (Pillow is pulled in by the [pil] extra for PNG output)
qrcode[pil]>=7.4
# AES-256-GCM encryption + scrypt/PBKDF2 key derivation for the local vault
cryptography>=42.0
# YAML parsing for the user-editable settings file (endpoints, KDF, TOTP)
PyYAML>=6.0
# Cross-platform resolution of the per-user data/config directories
platformdirs>=4.0