diff --git a/README.md b/README.md index ed786ea..a4a1c5c 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,28 @@ -# Extract TOTP/HOTP secret keys from Google Authenticator +# Extract TOTP/HOTP two-factor authentication secrets -[](https://github.com/scito/extract_otp_secret_keys/actions/workflows/ci.yml) +[](https://github.com/scito/extract_otp_secrets/actions/workflows/ci.yml)  -[](https://github.com/scito/extract_otp_secret_keys/actions/workflows/ci_docker.yml) +[](https://github.com/scito/extract_otp_secrets/actions/workflows/ci_docker.yml)  -[](https://github.com/scito/extract_otp_secret_keys/blob/master/Pipfile.lock) +[](https://github.com/scito/extract_otp_secrets/blob/master/Pipfile.lock)  -[](https://github.com/scito/extract_otp_secret_keys/blob/master/LICENSE) -[](https://github.com/scito/extract_otp_secret_keys/tags) +[](https://github.com/scito/extract_otp_secrets/blob/master/LICENSE) +[](https://github.com/scito/extract_otp_secrets/tags) [](https://stand-with-ukraine.pp.ua) --- TODO add src/ -TODO rename extract_otp_secret_keys +TODO mention renaming extract_otp_secrets -Extract two-factor authentication (2FA, TFA, OTP) secret keys from export QR codes of "Google Authenticator" app. -The QR codes can captured from the camera in a GUI, imported from images or from text files containing the QR code data. -The secret and otp values can be printed and exported to json or csv, as well as printed or saved as PNG images. +Extract one time passwords (OTP) / two-factor authentication (2FA, TFA) secrets from export QR codes from 2FA authentication apps such as "Google Authenticator". +The QR codes can be captured from the system camera, imported from images or from text files containing the QR code data. +The secret and otp values can be printed and exported to json or csv, as well as printed or saved to PNG images. ## Installation -git clone https://github.com/scito/extract_otp_secret_keys.git -cd extract_otp_secret_keys +git clone https://github.com/scito/extract_otp_secrets.git +cd extract_otp_secrets ## Usage @@ -62,8 +62,8 @@ cd extract_otp_secret_keys
usage: extract_otp_secrets.py [-h] [--camera NUMBER] [--qr {ZBAR,QREADER,QREADER_DEEP,CV2,CV2_WECHAT}] [--json FILE] [--csv FILE] [--keepass FILE] [--printqr] [--saveqr DIR] [--no-color] [--verbose | --quiet] [infile ...]
-Extracts one time password (OTP) secret keys from QR codes, e.g. from Google Authenticator app.
-If no infiles are provided, the QR codes are interactively captured from the camera.
+Extracts one time password (OTP) / two-factor authentication (2FA) secrets from export QR codes, e.g. from Google Authenticator app.
+If no infiles are provided, the QR codes a GUI window starts and QR codes can interactively be captured from the system camera.
positional arguments:
infile a) file or - for stdin with 'otpauth-migration://...' URLs separated by newlines, lines starting with # are ignored;
@@ -280,14 +280,14 @@ https://github.com/nipunn1313/mypy-protobuf
### pip
```
-pip install -U git+https://github.com/scito/extract_otp_secret_keys
+pip install -U git+https://github.com/scito/extract_otp_secrets
python -m extract_otp_secrets
```
#### For development
```
-pip install -U git+https://github.com/scito/extract_otp_secret_keys.git@support_img_read
+pip install -U git+https://github.com/scito/extract_otp_secrets.git@support_img_read
python -m extract_otp_secrets
```
@@ -297,15 +297,15 @@ https://stackoverflow.com/questions/13685920/install-specific-git-commit-with-pi
-e for egg
pip install -U -e git+
-# pip install -U -e git+https://github.com/scito/extract_otp_secret_keys@$(git ls-remote git@github.com:scito/extract_otp_secret_keys@support_img_read.git | head -1 | awk '{print $1;}')#egg=extract_otp_secrets
-pip3.11 install -e git+https://github.com/scito/extract_otp_secret_keys.git@$(git ls-remote git@github.com:scito/extract_otp_secret_keys.git | grep support_img_read | head -1 | awk '{print $1;}')#egg=extract_otp_secrets
+# pip install -U -e git+https://github.com/scito/extract_otp_secrets@$(git ls-remote git@github.com:scito/extract_otp_secrets@support_img_read.git | head -1 | awk '{print $1;}')#egg=extract_otp_secrets
+pip3.11 install -e git+https://github.com/scito/extract_otp_secrets.git@$(git ls-remote git@github.com:scito/extract_otp_secrets.git | grep support_img_read | head -1 | awk '{print $1;}')#egg=extract_otp_secrets
python -m extract_otp_secrets
```
#### Example
```
-wget https://raw.githubusercontent.com/scito/extract_otp_secret_keys/master/example_export.txt
+wget https://raw.githubusercontent.com/scito/extract_otp_secrets/master/example_export.txt
python -m extract_otp_secrets example_export.txt
```
diff --git a/pyproject.toml b/pyproject.toml
index 9cad71e..993f7bd 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -39,16 +39,16 @@ dependencies = [
"typing_extensions; python_version<='3.7'",
"colorama>=0.4.6",
]
-description = "Extract two-factor authentication (2FA, TFA, OTP) secret keys from export QR codes of 'Google Authenticator' app"
+description = "Extracts one time password (OTP) / two-factor authentication (2FA) secrets from export QR codes, e.g. from Google Authenticator app."
dynamic = ["version"]
-keywords = ["python", "security", "json", "otp", "csv", "protobuf", "qrcode", "two-factor", "totp", "google-authenticator", "recovery", "proto3", "mfa", "two-factor-authentication", "tfa", "qr-codes", "otpauth", "2fa", "security-tools"]
+keywords = ["python", "security", "json", "otp", "csv", "protobuf", "qrcode", "two-factor", "totp", "google-authenticator", "recovery", "proto3", "mfa", "two-factor-authentication", "tfa", "qr-codes", "otpauth", "2fa", "security-tools", "cv2"]
license = {text = "GNU General Public License v3 (GPLv3)"}
readme = "README.md"
authors = [{name = "scito", email = "info@scito.ch"}]
maintainers = [{name = "scito", email = "info@scito.ch"}]
requires-python = ">=3.7, <4"
scripts = {extract_otp_secrets = "extract_otp_secrets:sys_main"}
-urls = {Project-URL = "https://github.com/scito/extract_otp_secret_keys", Bug-Reports = "https://github.com/scito/extract_otp_secret_keys/issues", Source = "https://github.com/scito/extract_otp_secret_keys" }
+urls = {Project-URL = "https://github.com/scito/extract_otp_secrets", Bug-Reports = "https://github.com/scito/extract_otp_secrets/issues", Source = "https://github.com/scito/extract_otp_secrets" }
# [tool.setuptools]
# Still in beta, once it is stable move config from setup.cfg to pyproject.toml
diff --git a/src/extract_otp_secrets.py b/src/extract_otp_secrets.py
index 2900b83..400281d 100644
--- a/src/extract_otp_secrets.py
+++ b/src/extract_otp_secrets.py
@@ -1,5 +1,6 @@
# TODO rewrite
-# Extract two-factor authentication (2FA, TFA) secret keys from export QR codes of "Google Authenticator" app
+
+# Extract two-factor authentication (2FA, TFA) secrets from export QR codes of "Google Authenticator" app
#
# Usage:
# 1. Export the QR codes from "Google Authenticator" app
@@ -159,9 +160,9 @@ def main(sys_args: list[str]) -> None:
def parse_args(sys_args: list[str]) -> Args:
global verbose, quiet, colored
- description_text = "Extracts one time password (OTP) secret keys from QR codes, e.g. from Google Authenticator app."
+ description_text = "Extracts one time password (OTP) / two-factor authentication (2FA) secrets from export QR codes, e.g. from Google Authenticator app."
if qreader_available:
- description_text += "\nIf no infiles are provided, the QR codes are interactively captured from the camera."
+ description_text += "\nIf no infiles are provided, the QR codes a GUI window starts and QR codes can interactively be captured from the system camera."
example_text = """examples:
python extract_otp_secrets.py
python extract_otp_secrets.py example_*.txt