Add terminal QR code display for 2FA entries

This commit is contained in:
thePR0M3TH3AN
2025-07-04 20:06:55 -04:00
parent 8850117076
commit fbade1129c
4 changed files with 14 additions and 1 deletions

View File

@@ -979,6 +979,7 @@ class PasswordManager:
)
print(colored("Add this URI to your authenticator app:", "cyan"))
print(colored(uri, "yellow"))
TotpManager.print_qr_code(uri)
print(colored(f"Secret: {secret}\n", "cyan"))
try:
self.sync_vault()
@@ -1016,6 +1017,7 @@ class PasswordManager:
"green",
)
)
TotpManager.print_qr_code(uri)
try:
self.sync_vault()
except Exception as nostr_error:

View File

@@ -7,6 +7,8 @@ import time
from urllib.parse import quote
from urllib.parse import urlparse, parse_qs, unquote
import qrcode
import pyotp
from utils import key_derivation
@@ -81,3 +83,11 @@ class TotpManager:
remaining -= 1
sys.stdout.write("\n")
sys.stdout.flush()
@staticmethod
def print_qr_code(uri: str) -> None:
"""Display a QR code representing the provided URI in the terminal."""
qr = qrcode.QRCode(border=1)
qr.add_data(uri)
qr.make()
qr.print_ascii(invert=True)