mirror of
https://github.com/scito/extract_otp_secret_keys.git
synced 2025-12-06 23:05:06 +01:00
fix protoc generation
This commit is contained in:
parent
ef0fbc3586
commit
e1c8568ba2
3 changed files with 9 additions and 22 deletions
|
|
@ -252,7 +252,7 @@ The data parameter is a base64 encoded proto3 message (Google Protocol Buffers).
|
||||||
|
|
||||||
Command for regeneration of Python code from proto3 message definition file (only necessary in case of changes of the proto3 message definition or new protobuf versions):
|
Command for regeneration of Python code from proto3 message definition file (only necessary in case of changes of the proto3 message definition or new protobuf versions):
|
||||||
|
|
||||||
protoc -plugin=protoc-gen-mypy=path/to/protoc-gen-mypy --python_out=protobuf_generated_python --mypy_out=protobuf_generated_python google_auth.proto
|
protoc --plugin=protoc-gen-mypy=path/to/protoc-gen-mypy --python_out=src/protobuf_generated_python --mypy_out=src/protobuf_generated_python src/google_auth.proto
|
||||||
|
|
||||||
The generated protobuf Python code was generated by protoc 21.12 (https://github.com/protocolbuffers/protobuf/releases/tag/v21.12).
|
The generated protobuf Python code was generated by protoc 21.12 (https://github.com/protocolbuffers/protobuf/releases/tag/v21.12).
|
||||||
|
|
||||||
|
|
|
||||||
6
build.sh
6
build.sh
|
|
@ -147,7 +147,7 @@ echo -e "\nProtoc remote version $VERSION\n"
|
||||||
echo -e "Protoc local version: $OLDVERSION\n"
|
echo -e "Protoc local version: $OLDVERSION\n"
|
||||||
|
|
||||||
if $clean; then
|
if $clean; then
|
||||||
cmd="rm -r dist/ build/ *.whl pytest.xml pytest-coverage.txt .coverage tests/reports || true; find . -name '*.pyc' -type f -delete; find . -name '__pycache__' -type d -exec rm -r {} \; || true; find . -name '*.egg-info' -type d -exec rm -r {} \; || true; find . -name '*_cache' -type d -exec rm -r {} \; || true"
|
cmd="rm -r dist/ build/ *.whl pytest.xml pytest-coverage.txt .coverage tests/reports || true; find . -name '*.pyc' -type f -delete; find . -name '__pycache__' -type d -exec rm -r {} \; || true; find . -name '*.egg-info' -type d -exec rm -r {} \; || true; find . -name '*_cache' -type d -exec rm -r {} \; || true; mkdir -p tests/reports;"
|
||||||
if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi
|
if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi
|
||||||
eval "$cmd"
|
eval "$cmd"
|
||||||
|
|
||||||
|
|
@ -200,7 +200,7 @@ if [ "$OLDVERSION" != "$VERSION" ] || ! $ignore_version_check; then
|
||||||
if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi
|
if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi
|
||||||
eval "$cmd"
|
eval "$cmd"
|
||||||
|
|
||||||
cmd="$BIN/$DEST/bin/protoc --plugin=protoc-gen-mypy=$HOME/.local/bin/protoc-gen-mypy --python_out=protobuf_generated_python --mypy_out=protobuf_generated_python src/google_auth.proto"
|
cmd="$BIN/$DEST/bin/protoc --plugin=protoc-gen-mypy=$HOME/.local/bin/protoc-gen-mypy --python_out=src/protobuf_generated_python --mypy_out=src/protobuf_generated_python --proto_path=src google_auth.proto"
|
||||||
if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi
|
if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi
|
||||||
eval "$cmd"
|
eval "$cmd"
|
||||||
|
|
||||||
|
|
@ -311,7 +311,7 @@ if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";
|
||||||
eval "$cmd"
|
eval "$cmd"
|
||||||
|
|
||||||
COVERAGE_OUT_FILE="tests/reports/pytest-coverage.txt"
|
COVERAGE_OUT_FILE="tests/reports/pytest-coverage.txt"
|
||||||
cmd="mkdir -p tests/reports; pytest --cov=extract_otp_secrets_test --junitxml=tests/reports/pytest.xml --cov-report html:tests/reports/html --cov-report=term-missing tests/ | tee $COVERAGE_OUT_FILE"
|
cmd="pytest --cov=extract_otp_secrets_test --junitxml=tests/reports/pytest.xml --cov-report html:tests/reports/html --cov-report=term-missing tests/ | tee $COVERAGE_OUT_FILE"
|
||||||
if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi
|
if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi
|
||||||
eval "$cmd"
|
eval "$cmd"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,15 @@
|
||||||
# TODO rewrite
|
# Extract one time password (OTP) secrets from QR codes exported by two-factor authentication (2FA) apps such as "Google Authenticator"
|
||||||
|
|
||||||
# Extract two-factor authentication (2FA, TFA) secrets from export QR codes of "Google Authenticator" app
|
|
||||||
#
|
#
|
||||||
# Usage:
|
# For more information, see README.md
|
||||||
# 1. Export the QR codes from "Google Authenticator" app
|
|
||||||
# 2. Read QR codes with QR code reader (e.g. with a second device)
|
|
||||||
# 3. Save the captured QR codes in a text file. Save each QR code on a new line. (The captured QR codes look like "otpauth-migration://offline?data=...")
|
|
||||||
# 4. Call this script with the file as input:
|
|
||||||
# python extract_otp_secrets.py example_export.txt
|
|
||||||
#
|
#
|
||||||
# Requirement:
|
# Source code available on https://github.com/scito/extract_otp_secrets
|
||||||
# The protobuf package of Google for proto3 is required for running this script.
|
|
||||||
# pip install protobuf
|
|
||||||
#
|
|
||||||
# Optional:
|
|
||||||
# For printing QR codes, the qrcode module is required
|
|
||||||
# pip install qrcode
|
|
||||||
#
|
#
|
||||||
# Technical background:
|
# Technical background:
|
||||||
# The export QR code of "Google Authenticator" contains the URL "otpauth-migration://offline?data=...".
|
# The export QR code from "Google Authenticator" contains the URL "otpauth-migration://offline?data=...".
|
||||||
# The data parameter is a base64 encoded proto3 message (Google Protocol Buffers).
|
# The data parameter is a base64 encoded proto3 message (Google Protocol Buffers).
|
||||||
#
|
#
|
||||||
# Command for regeneration of Python code from proto3 message definition file (only necessary in case of changes of the proto3 message definition):
|
# Command for regeneration of Python code from proto3 message definition file (only necessary in case of changes of the proto3 message definition):
|
||||||
# protoc --python_out=generated_python google_auth.proto
|
# protoc --plugin=protoc-gen-mypy=path/to/protoc-gen-mypy --python_out=src/protobuf_generated_python --mypy_out=src/protobuf_generated_python --proto_path=src google_auth.proto
|
||||||
#
|
#
|
||||||
# References:
|
# References:
|
||||||
# Proto3 documentation: https://developers.google.com/protocol-buffers/docs/pythontutorial
|
# Proto3 documentation: https://developers.google.com/protocol-buffers/docs/pythontutorial
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue