Commit e6a53b6f authored by Johan Ouwerkerk's avatar Johan Ouwerkerk

Rebrand otpclient as Keysmith

parent f68df63d
Pipeline #9334 passed with stage
in 11 minutes and 10 seconds
......@@ -3,12 +3,12 @@ include:
- https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/binary-flatpak.yml
variables:
BUNDLE: org.kde.otpclient.flatpak
BUNDLE: org.kde.keysmith.flatpak
flatpak:
extends: .flatpak
variables:
MANIFEST_PATH: org.kde.otpclient.json
APP_ID: org.kde.otpclient
FLATPAK_MODULE: org.kde.otpclient
MANIFEST_PATH: org.kde.keysmith.json
APP_ID: org.kde.keysmith
FLATPAK_MODULE: org.kde.keysmith
CMAKE_ARGS: -DENABLE_TESTING=OFF
project(otpclient)
project(keysmith)
#
......@@ -48,7 +48,7 @@ find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test)
add_subdirectory(src)
add_subdirectory(autotests)
install(PROGRAMS org.kde.otpclient.desktop DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES org.kde.otpclient.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
install(PROGRAMS org.kde.keysmith.desktop DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES org.kde.keysmith.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
[![pipeline status](https://invent.kde.org/bshah/otpclient/badges/master/pipeline.svg)](https://invent.kde.org/bshah/otpclient/commits/master)
[![pipeline status](https://invent.kde.org/bshah/keysmith/badges/master/pipeline.svg)](https://invent.kde.org/bshah/keysmith/commits/master)
# OTP client
# Keysmith
It uses the [oath-toolkit](https://www.nongnu.org/oath-toolkit/) provided library liboath to generate the 2FA codes, both TOTP and HOTP based. Currently it is largely untested. From initial rough testing it seems that auto-refreshing of code is not working. Also button to refresh token for HOTP is also dummy at moment.
Some todo items include,
- Verify the generated oath code is correct
- QR code scanning
- Backup and Restore of accounts
- Clipboard support to automatically copy code.
......
<?xml version="1.0" encoding="utf-8"?>
<component type="desktop-application">
<id>org.kde.otpclient</id>
<name>Kirigami Example Application</name>
<id>org.kde.keysmith</id>
<name>Keysmith</name>
<summary>A short summary describing what this software is about</summary>
<metadata_license>A permissive license for this metadata, e.g. "FSFAP"</metadata_license>
<project_license>The license of this software as SPDX string, e.g. "GPL-3+"</project_license>
......
[Desktop Entry]
Name=OTP client
Comment=My first Plasma Mobile App
Name=Keysmith
Comment=Manage your OTP tokens for two factor authentication (2fa)
Version=1.0
Exec=org.kde.otpclient
Exec=org.kde.keysmith
Icon=applications-development
Type=Application
Terminal=false
......
{
"id": "org.kde.otpclient",
"id": "org.kde.keysmith",
"runtime": "org.kde.Platform",
"runtime-version": "5.12",
"sdk": "org.kde.Sdk",
"command": "org.kde.otpclient",
"command": "org.kde.keysmith",
"tags": ["nightly"],
"desktop-file-name-suffix": " (Nightly)",
"finish-args": [
......@@ -51,7 +51,7 @@
]
},
{
"name": "org.kde.otpclient",
"name": "org.kde.keysmith",
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [ { "type": "dir", "path": ".", "skip": [".git"] } ]
......
add_subdirectory(validators)
set(otpclient_SRCS
set(keysmith_SRCS
main.cpp
accountmodel.cpp
account.cpp
base32.cpp
)
set(otpclient_internal_libs validator_lib)
set(keysmith_internal_libs validator_lib)
qt5_add_resources(RESOURCES resources.qrc)
add_executable(org.kde.otpclient ${otpclient_SRCS} ${RESOURCES})
target_link_libraries(org.kde.otpclient
add_executable(org.kde.keysmith ${keysmith_SRCS} ${RESOURCES})
target_link_libraries(org.kde.keysmith
Qt5::Core Qt5::Qml Qt5::Quick Qt5::Svg
${LIBOATH_LIBRARIES}
${otpclient_internal_libs}
${keysmith_internal_libs}
)
install(TARGETS org.kde.otpclient ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
install(TARGETS org.kde.keysmith ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
......@@ -27,7 +27,7 @@
AccountModel::AccountModel(QObject *parent) :
QAbstractListModel(parent)
{
QSettings settings("org.kde.otpclient", "otpclient");
QSettings settings("org.kde.keysmith", "Keysmith");
const QStringList entries = settings.childGroups();
// qDebug() << "loading settings file:" << settings.fileName();
for(const QString &group : entries) {
......@@ -117,7 +117,7 @@ void AccountModel::deleteAccount(int index)
Account *account = m_accounts.takeAt(index);
// qDebug() << "got account" << account;
QSettings settings("org.kde.otpclient", "otpclient");
QSettings settings("org.kde.keysmith", "Keysmith");
settings.beginGroup(account->id().toString());
settings.remove("");
settings.endGroup();
......@@ -172,7 +172,7 @@ void AccountModel::accountChanged()
void AccountModel::storeAccount(const Account *account)
{
QSettings settings("org.kde.otpclient", "otpclient");
QSettings settings("org.kde.keysmith", "Keysmith");
settings.beginGroup(account->id().toString());
settings.setValue("account", account->name());
settings.setValue("type", account->type() == Account::TypeTOTP ? "totp" : "hotp");
......
......@@ -29,7 +29,7 @@ import org.kde.kirigami 2.4 as Kirigami
Kirigami.ApplicationWindow {
id: root
title: "OTP Client"
title: "Keysmith"
pageStack.initialPage: accounts.rowCount() > 0 ? mainPageComponent : addPageComponent
......@@ -154,7 +154,7 @@ Kirigami.ApplicationWindow {
Component {
id: addPageComponent
Kirigami.Page {
title: "Add new OTP"
title: "Add new account"
actions.main: Kirigami.Action {
text: "Add"
iconName: "answer-correct"
......
......@@ -34,7 +34,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
QApplication app(argc, argv);
QCoreApplication::setOrganizationName("KDE");
QCoreApplication::setOrganizationDomain("kde.org");
QCoreApplication::setApplicationName("otpclient");
QCoreApplication::setApplicationName("Keysmith");
QQmlApplicationEngine engine;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment