mirror of
https://github.com/seiichiro0185/sailotp.git
synced 2024-11-22 07:39:42 +00:00
Preparations for version 0.5 release
This commit is contained in:
parent
e68cf226a4
commit
2553a699d3
4 changed files with 28 additions and 12 deletions
14
README.md
14
README.md
|
@ -22,6 +22,16 @@ 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
|
||||||
|
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>
|
||||||
|
|
||||||
|
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
|
||||||
|
(title and secret of the token match an existing one), these tokens will not be added again.
|
||||||
|
|
||||||
## Known Limitations
|
## Known Limitations
|
||||||
|
|
||||||
At the moment the only way to insert new entries into the app is to insert the
|
At the moment the only way to insert new entries into the app is to insert the
|
||||||
|
@ -43,6 +53,10 @@ SailOTP uses the SHA-1 and HMAC-Implementation from
|
||||||
|
|
||||||
<a href="https://github.com/Caligatio/jsSHA" target="_blank">https://github.com/Caligatio/jsSHA</a>
|
<a href="https://github.com/Caligatio/jsSHA" target="_blank">https://github.com/Caligatio/jsSHA</a>
|
||||||
|
|
||||||
|
SailOTP also uses the AES-Implementation from
|
||||||
|
|
||||||
|
<a href="https://github.com/mdp/gibberish-aes" target="_blank">https://github.com/mdp/gibberish-aes</a>
|
||||||
|
|
||||||
The implementation of the TOTP-algorithm was inspired by:
|
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>
|
||||||
|
|
|
@ -52,7 +52,7 @@ Dialog {
|
||||||
|
|
||||||
function creFileName() {
|
function creFileName() {
|
||||||
var date = new Date();
|
var date = new Date();
|
||||||
return("/home/nemo/sailotp_"+date.getFullYear()+fillNum(date.getMonth()+1)+fillNum(date.getDate())+".aes");
|
return(XDG_HOME_DIR + "/sailotp_"+date.getFullYear()+fillNum(date.getMonth()+1)+fillNum(date.getDate())+".aes");
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkFileName(file) {
|
function checkFileName(file) {
|
||||||
|
@ -95,7 +95,7 @@ Dialog {
|
||||||
TextField {
|
TextField {
|
||||||
id: fileName
|
id: fileName
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: mode == "export" ? creFileName() : "/home/nemo/";
|
text: mode == "export" ? creFileName() : XDG_HOME_DIR + "/";
|
||||||
label: "Filename"
|
label: "Filename"
|
||||||
placeholderText: mode == "import" ? "File to import" : "File to export"
|
placeholderText: mode == "import" ? "File to import" : "File to export"
|
||||||
focus: true
|
focus: true
|
||||||
|
|
|
@ -15,19 +15,19 @@ QMakeOptions:
|
||||||
- VERSION=%{version}
|
- VERSION=%{version}
|
||||||
- RELEASE=%{release}
|
- RELEASE=%{release}
|
||||||
PkgConfigBR:
|
PkgConfigBR:
|
||||||
- Qt5Quick
|
|
||||||
- Qt5Qml
|
|
||||||
- Qt5Core
|
|
||||||
- sailfishapp >= 0.0.10
|
- sailfishapp >= 0.0.10
|
||||||
|
- Qt5Core
|
||||||
|
- Qt5Qml
|
||||||
|
- Qt5Quick
|
||||||
Requires:
|
Requires:
|
||||||
- sailfishsilica-qt5 >= 0.10.9
|
- sailfishsilica-qt5 >= 0.10.9
|
||||||
Files:
|
Files:
|
||||||
- '%{_bindir}'
|
|
||||||
- '%{_datadir}/%{name}/qml'
|
|
||||||
- '%{_datadir}/applications/%{name}.desktop'
|
|
||||||
- '%{_datadir}/icons/hicolor/86x86/apps/%{name}.png'
|
|
||||||
- /usr/bin
|
|
||||||
- /usr/share/harbour-sailotp
|
|
||||||
- /usr/share/applications
|
|
||||||
- /usr/share/icons/hicolor/86x86/apps
|
- /usr/share/icons/hicolor/86x86/apps
|
||||||
|
- /usr/share/applications
|
||||||
|
- /usr/share/harbour-sailotp
|
||||||
|
- /usr/bin
|
||||||
|
- '%{_datadir}/icons/hicolor/86x86/apps/%{name}.png'
|
||||||
|
- '%{_datadir}/applications/%{name}.desktop'
|
||||||
|
- '%{_datadir}/%{name}/qml'
|
||||||
|
- '%{_bindir}'
|
||||||
PkgBR: []
|
PkgBR: []
|
||||||
|
|
|
@ -45,8 +45,10 @@ int main(int argc, char *argv[])
|
||||||
qmlRegisterType<FileIO, 1>("harbour.sailotp.FileIO", 1, 0, "FileIO");
|
qmlRegisterType<FileIO, 1>("harbour.sailotp.FileIO", 1, 0, "FileIO");
|
||||||
|
|
||||||
view->setSource(SailfishApp::pathTo("qml/harbour-sailotp.qml"));
|
view->setSource(SailfishApp::pathTo("qml/harbour-sailotp.qml"));
|
||||||
|
view->rootContext()->setContextProperty("XDG_HOME_DIR", QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
|
||||||
view->show();
|
view->show();
|
||||||
|
|
||||||
|
|
||||||
return app->exec();
|
return app->exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue