github.com/Nitrokey/nitrokey-app ↗
Nitrokey's Application (Win, Linux, Mac)
An animated visualization of Nitrokey/nitrokey-app's Git history from July 2014 to January 2021, built by 34 contributors. The codebase reached 4,112 lines, mostly C++. The video runs 2 minutes 28 seconds.
Render your own repo
Turn any GitHub repository into a video like this — free sample in seconds.
Open this visualization on its own page →
Language
C++
Contributors
34
Lines of Code
4,112
From
2014-07-12
To
2021-01-26
Advertisement
About Nitrokey/nitrokey-app
Nitrokey App is a cross-platform desktop application for Windows, Linux, and macOS that manages Nitrokey hardware security devices. Built with Qt5 and C++, it provides a graphical interface for configuring and using Nitrokey Pro and Nitrokey Storage devices. The application communicates with Nitrokey devices through libnitrokey, a dedicated hardware communication library, and implements industry-standard one-time password algorithms including HOTP and TOTP compatible with RFC specifications and Google Authenticator.
The application handles credential management including OTP secret storage, password safe functionality protected with 256-bit AES encryption, and device configuration. It features a system tray interface on supported desktop environments and automatically loads device information on demand rather than caching everything upfront. The codebase uses Qt5 for the GUI, CMake for building, and includes comprehensive build support across platforms including automatic Travis CI builds and Docker containers for creating AppImage, Windows, and Snapcraft distributions.
Key dependencies include libnitrokey for USB/HID communication, cppcodec for encoding operations, and the HIDAPI library for hardware interface abstraction. Linux users must configure udev privileges for USB device access. The application is distributed through ready-made packages for Debian and Ubuntu, with the newer 1.x branch offering improved performance, background device communication, and better code maintainability through separation of concerns via libnitrokey.
Advertisement