diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-bna.spec | 365 | ||||
| -rw-r--r-- | sources | 1 | 
3 files changed, 367 insertions, 0 deletions
| @@ -0,0 +1 @@ +/bna-5.1.0.tar.gz diff --git a/python-bna.spec b/python-bna.spec new file mode 100644 index 0000000..e61780d --- /dev/null +++ b/python-bna.spec @@ -0,0 +1,365 @@ +%global _empty_manifest_terminate_build 0 +Name:		python-bna +Version:	5.1.0 +Release:	1 +Summary:	Blizzard Authenticator and OTP library in Python +License:	MIT +URL:		https://github.com/jleclanche/python-bna +Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/9c/ad/0fc9852ebd44187830c4c1998e6d1aa697d003b59fae6890eabb1456b374/bna-5.1.0.tar.gz +BuildArch:	noarch + +Requires:	python3-click +Requires:	python3-pyotp + +%description +# python-bna + +## Requirements + +- Python 3.6+ + + +## Command-line usage + +bna is a command line interface to the python-bna library. It can store +and manage multiple authenticators, as well as create new ones. + + +Remember: Using an authenticator on the same device as the one you log in with +is less secure than keeping the devices separate. Use this at your own risk. + +Configuration is stored in `~/.config/bna/bna.conf`. You can pass a +different config path with `bna --config=~/.bna.conf` for example. + + +### Creating a new authenticator + +    $ bna new + +If you do not already have an authenticator, it will be set as default. +You can pass `--set-default` otherwise. + + +### Getting an authentication token + +    $ bna +    01234567 +    $ bna EU-1234-1234-1234 +    76543210 + + +### Getting an authenticator's restore code + +    $ bna show-restore-code +    Z45Q9CVXRR +    $ bna restore EU-1234-1234-1234 ABCDE98765 +    Restored EU-1234-1234-1234 + + +### Getting an OTPAuth URL + +To display the OTPAuth URL (used for setup QR Codes): + +    $ bna show-url +    otpauth://totp/Blizzard:EU123412341234:?secret=ASFAS75ASDF75889G9AD7S69AS7697AS&issuer=Blizzard&digits=8 + +Now paste this to your OTP app, or convert to QRCode and scan, or +manually enter the secret. + +This is compatible with standard TOTP clients and password managers such as: +- [andOTP](https://play.google.com/store/apps/details?id=org.shadowice.flocke.andotp) (Android), +- [KeepassXC](https://keepassxc.org/) (Cross-platform) +- [1Password](https://1password.com/) (Cross-platform) + + +#### Getting a QR code + +To encode to a QRCode on your local system install \'qrencode\' + +For a PNG file saved to disk : + +    $ bna show-url | qrencode -o ~/BNA-qrcode.png +    # Scan QRCode +    $ rm ~/BNA-qrcode.png + +Or to attempt ot display QRCode in terminal as text output : + +    $ bna --otpauth-url | qrencode -t ANSI + + +## Python library usage + +### Requesting a new authenticator + +```py +import bna +try: +    # region is EU or US +    # note that EU authenticators are valid in the US, and vice versa +    serial, secret = bna.request_new_serial("US") +except bna.HTTPError as e: +    print("Could not connect:", e) +``` + +### Getting a token + +```py +    # Get and print a token using PyOTP +    from pyotp import TOTP +    totp = TOTP(secret, digits=8) +    print(totp.now()) +``` + + +%package -n python3-bna +Summary:	Blizzard Authenticator and OTP library in Python +Provides:	python-bna +BuildRequires:	python3-devel +BuildRequires:	python3-setuptools +BuildRequires:	python3-pip +%description -n python3-bna +# python-bna + +## Requirements + +- Python 3.6+ + + +## Command-line usage + +bna is a command line interface to the python-bna library. It can store +and manage multiple authenticators, as well as create new ones. + + +Remember: Using an authenticator on the same device as the one you log in with +is less secure than keeping the devices separate. Use this at your own risk. + +Configuration is stored in `~/.config/bna/bna.conf`. You can pass a +different config path with `bna --config=~/.bna.conf` for example. + + +### Creating a new authenticator + +    $ bna new + +If you do not already have an authenticator, it will be set as default. +You can pass `--set-default` otherwise. + + +### Getting an authentication token + +    $ bna +    01234567 +    $ bna EU-1234-1234-1234 +    76543210 + + +### Getting an authenticator's restore code + +    $ bna show-restore-code +    Z45Q9CVXRR +    $ bna restore EU-1234-1234-1234 ABCDE98765 +    Restored EU-1234-1234-1234 + + +### Getting an OTPAuth URL + +To display the OTPAuth URL (used for setup QR Codes): + +    $ bna show-url +    otpauth://totp/Blizzard:EU123412341234:?secret=ASFAS75ASDF75889G9AD7S69AS7697AS&issuer=Blizzard&digits=8 + +Now paste this to your OTP app, or convert to QRCode and scan, or +manually enter the secret. + +This is compatible with standard TOTP clients and password managers such as: +- [andOTP](https://play.google.com/store/apps/details?id=org.shadowice.flocke.andotp) (Android), +- [KeepassXC](https://keepassxc.org/) (Cross-platform) +- [1Password](https://1password.com/) (Cross-platform) + + +#### Getting a QR code + +To encode to a QRCode on your local system install \'qrencode\' + +For a PNG file saved to disk : + +    $ bna show-url | qrencode -o ~/BNA-qrcode.png +    # Scan QRCode +    $ rm ~/BNA-qrcode.png + +Or to attempt ot display QRCode in terminal as text output : + +    $ bna --otpauth-url | qrencode -t ANSI + + +## Python library usage + +### Requesting a new authenticator + +```py +import bna +try: +    # region is EU or US +    # note that EU authenticators are valid in the US, and vice versa +    serial, secret = bna.request_new_serial("US") +except bna.HTTPError as e: +    print("Could not connect:", e) +``` + +### Getting a token + +```py +    # Get and print a token using PyOTP +    from pyotp import TOTP +    totp = TOTP(secret, digits=8) +    print(totp.now()) +``` + + +%package help +Summary:	Development documents and examples for bna +Provides:	python3-bna-doc +%description help +# python-bna + +## Requirements + +- Python 3.6+ + + +## Command-line usage + +bna is a command line interface to the python-bna library. It can store +and manage multiple authenticators, as well as create new ones. + + +Remember: Using an authenticator on the same device as the one you log in with +is less secure than keeping the devices separate. Use this at your own risk. + +Configuration is stored in `~/.config/bna/bna.conf`. You can pass a +different config path with `bna --config=~/.bna.conf` for example. + + +### Creating a new authenticator + +    $ bna new + +If you do not already have an authenticator, it will be set as default. +You can pass `--set-default` otherwise. + + +### Getting an authentication token + +    $ bna +    01234567 +    $ bna EU-1234-1234-1234 +    76543210 + + +### Getting an authenticator's restore code + +    $ bna show-restore-code +    Z45Q9CVXRR +    $ bna restore EU-1234-1234-1234 ABCDE98765 +    Restored EU-1234-1234-1234 + + +### Getting an OTPAuth URL + +To display the OTPAuth URL (used for setup QR Codes): + +    $ bna show-url +    otpauth://totp/Blizzard:EU123412341234:?secret=ASFAS75ASDF75889G9AD7S69AS7697AS&issuer=Blizzard&digits=8 + +Now paste this to your OTP app, or convert to QRCode and scan, or +manually enter the secret. + +This is compatible with standard TOTP clients and password managers such as: +- [andOTP](https://play.google.com/store/apps/details?id=org.shadowice.flocke.andotp) (Android), +- [KeepassXC](https://keepassxc.org/) (Cross-platform) +- [1Password](https://1password.com/) (Cross-platform) + + +#### Getting a QR code + +To encode to a QRCode on your local system install \'qrencode\' + +For a PNG file saved to disk : + +    $ bna show-url | qrencode -o ~/BNA-qrcode.png +    # Scan QRCode +    $ rm ~/BNA-qrcode.png + +Or to attempt ot display QRCode in terminal as text output : + +    $ bna --otpauth-url | qrencode -t ANSI + + +## Python library usage + +### Requesting a new authenticator + +```py +import bna +try: +    # region is EU or US +    # note that EU authenticators are valid in the US, and vice versa +    serial, secret = bna.request_new_serial("US") +except bna.HTTPError as e: +    print("Could not connect:", e) +``` + +### Getting a token + +```py +    # Get and print a token using PyOTP +    from pyotp import TOTP +    totp = TOTP(secret, digits=8) +    print(totp.now()) +``` + + +%prep +%autosetup -n bna-5.1.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then +	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then +	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then +	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then +	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then +	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-bna -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed Mar 08 2023 Python_Bot <Python_Bot@openeuler.org> - 5.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +89927627605f2ecbc05e1fdfe2c724bc  bna-5.1.0.tar.gz | 
