|
1 | 1 | # Authenticator Plus to andOTP Magiculator
|
| 2 | + |
2 | 3 | The [Authenticator Plus app](https://play.google.com/store/apps/details?id=com.mufri.authenticatorplus) seems to have been abandoned by the developer. [andOTP](https://github.com/andOTP/andOTP) is a decent, open source, alternative.
|
3 | 4 |
|
4 | 5 | This converts the Authenticator Plus backup database into andOTP-compatible backup database that can be directly important into andOTP.
|
5 | 6 |
|
6 | 7 | # Installation
|
| 8 | + |
| 9 | +### With Docker |
| 10 | + |
| 11 | +``` |
| 12 | +$ docker build -t authplus-to-andotp-magiculator . |
| 13 | +``` |
| 14 | + |
| 15 | +### Without Docker |
| 16 | + |
7 | 17 | The only dependency is [`pysqlcipher3`](https://github.com/rigglemania/pysqlcipher3). On my machine, I installed it like this:
|
8 | 18 | ```
|
9 |
| -sudo apt install -y libsqlcipher-dev |
10 |
| -git clone https://github.com/rigglemania/pysqlcipher3 |
11 |
| -cd pysqlcipher3 |
12 |
| -python3 setup.py build |
13 |
| -sudo python3 setup.py install |
| 19 | +$ sudo apt install -y libsqlcipher-dev |
| 20 | +$ git clone https://github.com/rigglemania/pysqlcipher3 |
| 21 | +$ cd pysqlcipher3 |
| 22 | +$ python3 setup.py build |
| 23 | +$ sudo python3 setup.py install |
14 | 24 | ```
|
15 | 25 |
|
16 | 26 | # Usage
|
17 |
| -``` |
18 |
| -./authplus-to-andotp.py -h |
19 |
| -usage: authplus-to-andotp.py [-h] [-d DB_NAME] [-o OUT_FILE] [-p PASSWORD] |
20 | 27 |
|
21 |
| -Convert Authenticator Plus OTP backup database into andOTP backup database |
| 28 | +### With Docker: |
22 | 29 |
|
23 |
| -optional arguments: |
24 |
| - -h, --help show this help message and exit |
25 |
| - -d DB_NAME, --database DB_NAME |
26 |
| - Authenticator Plus database, usually authplus.db |
27 |
| - -o OUT_FILE, --output-file OUT_FILE |
28 |
| - Output file name. Defaults to andOTP.json |
29 |
| - -p PASSWORD, --password PASSWORD |
30 |
| - Authenticator Plus master password (don't set if you |
31 |
| - wanna type password in a prompt instead) |
32 | 30 | ```
|
| 31 | +$ docker run -v ${PWD}:/authplus-to-andotp -it authplus-to-andotp-magiculator --database authplus.db |
| 32 | +Authenticator Plus master password: |
| 33 | +andotp.json is now ready. |
| 34 | +``` |
| 35 | + |
| 36 | +### Without Docker: |
33 | 37 |
|
34 |
| -Example: |
35 | 38 | ```
|
36 |
| -./authplus-to-andotp.py --database authplus.db |
| 39 | +$ ./authplus-to-andotp.py --database authplus.db |
37 | 40 | Authenticator Plus master password:
|
| 41 | +andotp.json is now ready. |
38 | 42 | ```
|
39 | 43 |
|
40 |
| -## Caveats |
| 44 | +## Notes |
| 45 | + |
41 | 46 | - This will decrypt the Authenticator Plus backup database and output the andOTP backup database in decrypted plain-text. Be careful how you handle that.
|
42 | 47 | - This attempts to preserve the entries' icons/thumbnails by using the `Issuer` field as `thumbnail`, which doesn't have a 100% success rate, but should work most of the time.
|
43 | 48 | - As far as I can tell, Authenticator Plus doesn't handle checksum algorithms other than SHA-1 or OTP digits other than 6. The output file will use those values by default. The only exception seems to be Battle.net TOTP with which Authenticator Plus uses 8 digits; this script attempts to preserve this info and pass it to andOTP.
|
0 commit comments