mirror of
https://github.com/seiichiro0185/sailotp.git
synced 2024-11-24 16:19:43 +00:00
Version 1.0
* QR-Code Reader is now harbour-compatible
This commit is contained in:
parent
d722da8688
commit
91dfc732a3
2 changed files with 16 additions and 22 deletions
35
README.md
35
README.md
|
@ -1,41 +1,30 @@
|
||||||
# SailOTP
|
# SailOTP
|
||||||
|
|
||||||
SailOTP is a Sailfish Implementation of the Google-Authenticator algorithms,
|
SailOTP is a Sailfish Implementation of the Google-Authenticator algorithms, also known as TOPT (timer based) and HOTP (counter based) as described in RFC 6238 and 4226. A growing number of sites uses this algorithm for two-factor-authentication, including Github, Linode and several Google services.
|
||||||
also known as TOPT (timer based) and HOTP (counter based) as described in RFC 6238 and 4226. A growing
|
|
||||||
number of sites uses this algorithm for two-factor-authentication, including
|
|
||||||
Github, Linode and several Google services.
|
|
||||||
|
|
||||||
One can add new OTP-entries using the pulley-menu. The type of token can be selected. Title and the shared
|
One can add new OTP-entries using the pulley-menu. Codes can be added using the integrated QR-Code-Reader or by manually typing in the token information.
|
||||||
secret have to be provided. For counter based HOTP-tokens the counter value for the next update of the
|
|
||||||
Token can be set. The default of 1 is the standard value for new HOTP-tokens and should not be changed.
|
|
||||||
|
|
||||||
The main view of the app will show a list off all entries and their current One-Time-Tokens.
|
The main view of the app will show a list off all entries and their current One-Time-Tokens. The entries will be regenerated every 30 seconds, the remaining time for the current tokens is shown through a progress bar at the top of the app. HOTP-type tokens are not updated automatically, instead a refresh button is shown on the right of the token to calculate the next value and increment the counter. An entry can be edited, deleted or moved up and down in the list by long-pressing on it.
|
||||||
The entries will be regenerated every 30 seconds, the remaining time for the current tokens is shown
|
|
||||||
through a progress bar at the top of the app. HOTP-type tokens are not updated automatically, instead
|
|
||||||
a refresh button is shown on the right of the token to calculate the next value and increment the counter
|
|
||||||
An entry can be edited or deleted by long-pressing on it.
|
|
||||||
|
|
||||||
One entry can be stared by tapping the star icon on the left. the stared item will be shown
|
In edit-mode one can show a QR-Code of the entry (e.g. for importing it on another device) through the pulley menu.
|
||||||
on the ActiveCover. If the Token is timer based, it will be refreshed every 30 seconds. 5 seconds before the token changes it's
|
|
||||||
color will change to red. For counter based tokens a cover action to calculate the next token is shown instead.
|
One entry can be stared by tapping the star icon on the left. the stared item will be shown on the ActiveCover. If the Token is timer based, it will be refreshed every 30 seconds. 5 seconds before the token changes it's color will change to red. For counter based tokens a cover action to calculate the next token is shown instead. The item can be unstared by tapping the star icon again on the main view.
|
||||||
The item can be unstared by tapping the star icon again on the main view.
|
|
||||||
|
|
||||||
From the main view a token can be copied to the clipboard by tapping on it.
|
From the main view a token can be copied to the clipboard by tapping on it.
|
||||||
|
|
||||||
From the pulley menu the token database can be exported to a file for backup purposes. The backup is a AES-256-CBC encrypted and
|
From the pulley menu the token database can be exported to a file for backup purposes. The backup is a AES-256-CBC encrypted and
|
||||||
Base64 encoded file containing a JSON-representation of the database. It can be decrypted with openssl using the following command:
|
Base64 encoded file containing a JSON-representation of the database. It can be decrypted with openssl using the following command:
|
||||||
|
|
||||||
openssl enc -d -a -aes-256-cbc -in <file>
|
openssl enc -d -a -aes-256-cbc -in <file>
|
||||||
|
|
||||||
if you need the information outside of SailOTP.
|
if you need the information outside of SailOTP.
|
||||||
|
|
||||||
Importing the file is also possible from the pulley menu. If a file contains tokens that are already in the database
|
Importing the file is also possible from the pulley menu. If a file contains tokens that are already in the database (title and secret of the token match an existing one), these tokens will not be added again.
|
||||||
(title and secret of the token match an existing one), these tokens will not be added again.
|
|
||||||
|
|
||||||
## Contact and Issues
|
## Contact and Issues
|
||||||
|
|
||||||
If you find any bugs or want to suggest a feature, feel free to use Githubs
|
If you find any bugs or want to suggest a feature, feel free to use Githubs
|
||||||
Issues feature.
|
Issues feature or write an email to sailfish _AT_ seiichiro0185.org
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
@ -55,3 +44,9 @@ The implementation of the TOTP-algorithm was inspired by:
|
||||||
|
|
||||||
<a href="http://blog.tinisles.com/2011/10/google-authenticator-one-time-password-algorithm-in-javascript/" target="_blank">http://blog.tinisles.com/2011/10/google-authenticator-one-time-password-algorithm-in-javascript/</a>
|
<a href="http://blog.tinisles.com/2011/10/google-authenticator-one-time-password-algorithm-in-javascript/" target="_blank">http://blog.tinisles.com/2011/10/google-authenticator-one-time-password-algorithm-in-javascript/</a>
|
||||||
|
|
||||||
|
An adapted version of the QZXing-library is used for QRCode-decoding
|
||||||
|
<a href="http://sourceforge.net/projects/qzxing/">http://sourceforge.net/projects/qzxing/</a>
|
||||||
|
|
||||||
|
The qrencode library is used for QRCode-encoding existing tokens for export to other devices.
|
||||||
|
<a href="http://fukuchi.org/works/qrencode/">http://fukuchi.org/works/qrencode/</a>
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,6 @@ Page {
|
||||||
id: decoder
|
id: decoder
|
||||||
|
|
||||||
onTagFound: {
|
onTagFound: {
|
||||||
console.log("Barcode data: " + tag)
|
|
||||||
var ret = URL.decode(tag);
|
var ret = URL.decode(tag);
|
||||||
scanning = false
|
scanning = false
|
||||||
if (ret && ret.type != "" && ret.title != "" && ret.secret != "" && (ret.counter != "" || ret.type == "TOTP")) {
|
if (ret && ret.type != "" && ret.title != "" && ret.secret != "" && (ret.counter != "" || ret.type == "TOTP")) {
|
||||||
|
|
Loading…
Reference in a new issue