All Projects → RogueScholar → fingerprint-gui

RogueScholar / fingerprint-gui

Licence: GPL-3.0 License
Use fingerprint readers with a Linux desktop environment

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to fingerprint-gui

pam panic
A PAM module that protects sensitive data and provides a panic function for emergency situations. Authentication through passwords or removable media.
Stars: ✭ 35 (-25.53%)
Mutual labels:  pam, pam-module, pam-authentication
R30X-Fingerprint-Sensor-Library
Arduino library for R30X series optical fingerprint scanners.
Stars: ✭ 13 (-72.34%)
Mutual labels:  fingerprint, fingerprint-scanner, fingerprint-sensor
Validity90
Reverse engineering of Validity/Synaptics 138a:0090, 138a:0094, 138a:0097, 06cb:0081, 06cb:009a fingerprint readers protocol
Stars: ✭ 1,807 (+3744.68%)
Mutual labels:  fingerprint-authentication, fingerprint-scanner, fingerprint-sensor
sourceafis-net
Fingerprint recognition engine for .NET that takes a pair of human fingerprint images and returns their similarity score. Supports efficient 1:N search.
Stars: ✭ 43 (-8.51%)
Mutual labels:  fingerprint, fingerprint-authentication, biometrics
SSBiometricsAuthentication
Biometric factors allow for secure authentication on the Android platform.
Stars: ✭ 87 (+85.11%)
Mutual labels:  fingerprint, fingerprint-authentication, biometrics
Sourceafis Java
Fingerprint recognition engine for Java that takes a pair of human fingerprint images and returns their similarity score. Supports efficient 1:N search.
Stars: ✭ 136 (+189.36%)
Mutual labels:  fingerprint, fingerprint-authentication
Soter
A secure and quick biometric authentication standard and platform in Android held by Tencent.
Stars: ✭ 1,777 (+3680.85%)
Mutual labels:  fingerprint, fingerprint-authentication
Cordova Plugin Fingerprint Aio
👆 📱 Cordova Plugin for fingerprint sensors (and FaceID) with Android and iOS support
Stars: ✭ 236 (+402.13%)
Mutual labels:  fingerprint, fingerprint-authentication
Howdy
🛡️ Windows Hello™ style facial authentication for Linux
Stars: ✭ 3,237 (+6787.23%)
Mutual labels:  pam, pam-module
python-pam
Python pam module supporting py3 (py2 support still exists but is deprecated)
Stars: ✭ 96 (+104.26%)
Mutual labels:  pam, pam-authentication
EDCC-Palmprint-Recognition
EDCC: An efficient and accurate algorithm for palmprint recognition.
Stars: ✭ 103 (+119.15%)
Mutual labels:  biometrics, biometric-authentication
BitFact
🛡️ Robust data integrity tool. Prove data, text, & files using the Ethereum blockchain.
Stars: ✭ 42 (-10.64%)
Mutual labels:  fingerprint, fingerprint-data
Zklibrary
ZKLibrary is PHP library for reading and writing data to attendance device using UDP protocol. This library useful to comunicate between web server and attendance device directly without addition program. This library is implemented in the form of class. So that you can create an object and use it functions.
Stars: ✭ 126 (+168.09%)
Mutual labels:  fingerprint, fingerprint-authentication
React Native Fingerprint Identify
Awesome Fingerprint Identify for react-native (android only)
Stars: ✭ 81 (+72.34%)
Mutual labels:  fingerprint, fingerprint-authentication
Fingerlock
Android fingerprint authentication library
Stars: ✭ 203 (+331.91%)
Mutual labels:  fingerprint, fingerprint-authentication
Biometricauthentication
Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication.
Stars: ✭ 746 (+1487.23%)
Mutual labels:  fingerprint, fingerprint-authentication
Android Goldfinger
Android library to simplify Biometric authentication implementation.
Stars: ✭ 608 (+1193.62%)
Mutual labels:  fingerprint, fingerprint-authentication
Reprint
A unified fingerprint library for android.
Stars: ✭ 467 (+893.62%)
Mutual labels:  fingerprint, fingerprint-authentication
Fingerprintmanager
A small library to handle Android fingerprint API.
Stars: ✭ 560 (+1091.49%)
Mutual labels:  fingerprint, fingerprint-authentication
Biometric-Authentication-Android
A sample implementation of AndroidX biometrics API using Kotlin. Authenticate using biometrics or PIN/Password if biometrics isn't available on device. Fully implemented in Jetpack compose using Material 3 dynamic theming and also has a separate implementation in xml with MDC 3.
Stars: ✭ 29 (-38.3%)
Mutual labels:  fingerprint-authentication, biometrics

Fingerprint GUI

Fingerprint GUI is an application providing fingerprint-based authentication on Linux desktops. Based on the libfprint library, it features a simple GUI for fingerprint management and a PAM module. Additionally, you may install the bundled non-free libbsapi library, in which case Fingerprint GUI will automatically support all fingerprint readers manufactured by UPEK, Inc.

Supported hardware

The list of fingerprint readers supported by libfprint is available here.

If you install the libbsapi library, then all hardware by UPEK should be supported as well.

Compilation

Prepare the build environment

This project is built using the Qt 5 development framework. The required packages can be installed on any recent Debian-based Linux distributions with the command:

sudo apt install -y qtbase5-dev libqt5core5a qt5ct qt5-qmake qtchooser \
qttranslations5-l10n qtbase5-dev-tools qttools5-dev-tools libqt5x11extras5-dev \
  qttools5-dev

Install dependencies

In order to compile the software you will need cmake and the development packages for libfprint, libqca-qt5-2, libfakekey, libusb-1.0, libpolkit-qt5-1 and libpam.

If you are running a recent Debian-based distribution, use the following command:

sudo apt install -y cmake cmake-extras libfprint-dev libqca-qt5-2-dev \
libfakekey-dev libusb-1.0-0-dev libpolkit-qt5-1-dev libpam0g-dev

Create the build directory

mkdir build && cd build

Generate the Makefile

cmake ..

Installation paths

By default, everything gets installed under /usr/local/. If you want to change the prefix to /usr/, you can alter the cmake invocation like this:

cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Additionally, libraries are installed into $CMAKE_INSTALL_PREFIX/$CMAKE_INSTALL_LIBDIR, helper executables go into $CMAKE_INSTALL_PREFIX/$CMAKE_INSTALL_LIBEXECDIR, and the PAM module is installed into $CMAKE_INSTALL_LIBDIR/security. The default value for both $CMAKE_INSTALL_LIBDIR and $CMAKE_INSTALL_LIBEXECDIR is /lib, which should be suitable for most Linux distributions.

However, should you need to adjust the value of these two variables, you can set them in the same way as $CMAKE_INSTALL_PREFIX above. For instance, on recent 64-bit Fedora systems you would invoke cmake like this:

cmake -DCMAKE_INSTALL_LIBDIR=/lib64 -DCMAKE_INSTALL_LIBEXECDIR=/libexec ..

or with

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/lib64 \
-DCMAKE_INSTALL_LIBEXECDIR=/libexec ..

if you want to install into /usr.

Build the software

make -j$(nproc)

Install the compiled software

sudo make install

Add support for UPEK readers (install the bundled proprietary library libbsapi)

sudo make install-upek

Upgrading from older versions

Beginning with version 1.07 of Fingerprint GUI, the ownership and permissions of users' fingerprint data in /var/lib/fingerprint-gui/ has been changed. To apply the new ownership and permissions needed for version 1.07 and above to fingerprint data from an older version, run:

sudo make user-data

Account membership

Please note that every user that wants to use this library must be member of group plugdev. This group is created automatically. The following command will add your current user account to the plugdev group:

sudo usermod -a -G plugdev $(id -un)

PAM configuration

See the following guides for instructions on how to modify your PAM stack to enable fingerprint-based authentication:

lxdm / Lubuntu

The lxdm developers should read the PAM documentation, specifically the "Linux PAM Application Developers Guide" located here. Because of the completely improper use of PAM authentication in lxdm it is not possible to use alternative authentication methods.

If you want to use fingerprint login for Lubuntu or other lxdm desktop environments you should install lightdm and lightdm-gtk-greeter and use those instead. That will work.

License

This software is released under GPL-3+. See LICENSE for the full text of the license.

Copyright © 2008-2016 Wolfgang Ullrich [email protected]

Bugs

Bugs can be sent directly to the author or posted in the forums.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].