This GTK-3-based application queries and displays OTPs from an ESP-Unlock hardware token and runs the ESP-Unlock firmware.
This app is pretty much a proof-of-concept. It should work if you do not do something unusual. But it has a lot of loose screws and many errors are not checked. There is no refined design here, either, because the author is not really familiar with building GUI applications. Please keep this in mind when using this application and checking the code. This, however, should not discourage you from trying this application. Any feedback, comments, suggestions are welcome. Feel free to open a GitHub issue or pull request in that case.
- Currently, only Linux is supported.
- A recent C++ compiler with C++20 support.
- libgtk-3 and related libraries (see CMakeLists.txt for more details).
- libbaseencode (development version for building)
Note: You have two possibilities to get access to the ESP-Unlock:
- Add yourself to the group
dialout
and change DEVICE ingtk_app.cpp
to/dev/ttyACM<n>
. - Install the udev rules file, which automatically creates a link
/dev/esp-unlock
with non-root access rights. This is the default setting ingtk_app.cpp
.
Afterwards, just build like any other CMake project:
mkdir build
cd build
cmake ../
make -j <logical_cpu_cores_plus_2>
No special arguments are required to run the application. Please make sure that the application can access the ACM device file (e.g., /dev/ttyACM0
, compare Build section) or it will not work.
This repository has a Debian package build script: create_package.sh
. This is pretty ad hoc, though, and currently tries to sign the package with the builder's GPG key.