mirror of
https://github.com/seiichiro0185/sailotp.git
synced 2024-11-25 00:29: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 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
|
||||
|
||||
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>
|
||||
|
||||
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:
|
||||
|
||||
<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() {
|
||||
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) {
|
||||
|
@ -95,7 +95,7 @@ Dialog {
|
|||
TextField {
|
||||
id: fileName
|
||||
width: parent.width
|
||||
text: mode == "export" ? creFileName() : "/home/nemo/";
|
||||
text: mode == "export" ? creFileName() : XDG_HOME_DIR + "/";
|
||||
label: "Filename"
|
||||
placeholderText: mode == "import" ? "File to import" : "File to export"
|
||||
focus: true
|
||||
|
|
|
@ -15,19 +15,19 @@ QMakeOptions:
|
|||
- VERSION=%{version}
|
||||
- RELEASE=%{release}
|
||||
PkgConfigBR:
|
||||
- Qt5Quick
|
||||
- Qt5Qml
|
||||
- Qt5Core
|
||||
- sailfishapp >= 0.0.10
|
||||
- Qt5Core
|
||||
- Qt5Qml
|
||||
- Qt5Quick
|
||||
Requires:
|
||||
- sailfishsilica-qt5 >= 0.10.9
|
||||
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/applications
|
||||
- /usr/share/harbour-sailotp
|
||||
- /usr/bin
|
||||
- '%{_datadir}/icons/hicolor/86x86/apps/%{name}.png'
|
||||
- '%{_datadir}/applications/%{name}.desktop'
|
||||
- '%{_datadir}/%{name}/qml'
|
||||
- '%{_bindir}'
|
||||
PkgBR: []
|
||||
|
|
|
@ -45,8 +45,10 @@ int main(int argc, char *argv[])
|
|||
qmlRegisterType<FileIO, 1>("harbour.sailotp.FileIO", 1, 0, "FileIO");
|
||||
|
||||
view->setSource(SailfishApp::pathTo("qml/harbour-sailotp.qml"));
|
||||
view->rootContext()->setContextProperty("XDG_HOME_DIR", QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
|
||||
view->show();
|
||||
|
||||
|
||||
return app->exec();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue