Zurück zum Ranking

boltgolt/howdy

Python

🛡️ Windows Hello™ style facial authentication for Linux

face-recognitionubuntucamerapampam-moduleir-cameraarch-linuxfedoralinuxdebianopensuse
Sterne-Wachstum
Sterne
7.7k
Forks
405
Wochenwachstum
Issues
321
2k4k6k
Jan. 2018Nov. 2020Sept. 2023Juli 2026
ArtefaktePyPIpip install howdy
README

Howdy provides Windows Hello™ style authentication for Linux. Use your built-in IR emitters and camera in combination with facial recognition to prove who you are.

Using the central authentication system (PAM), this works everywhere you would otherwise need your password: Login, lock screen, sudo, su, etc.

Installation

Howdy is currently available and packaged for Debian/Ubuntu, Arch Linux, Fedora and openSUSE. If you’re interested in packaging Howdy for your distro, don’t hesitate to open an issue.

Note: The build of dlib can hang on 100% for over a minute, give it time.

Ubuntu or Linux Mint

Run the installer by pasting (ctrl+shift+V) the following commands into the terminal one at a time:

sudo add-apt-repository ppa:boltgolt/howdy
sudo apt update
sudo apt install howdy

This will guide you through the installation.

Debian

Download the .deb file from the Releases page and install with gdebi.

Arch Linux

Maintainer wanted.

Install the howdy package from the AUR. For AUR installation instructions, take a look at this wiki page.

You will need to do some additional configuration steps. Please read the ArchWiki entry for more information.

Fedora

Maintainer: @luyatshimbalanga

The howdy package is available as a Fedora COPR repository, install it by simply executing the following commands in a terminal:

sudo dnf copr enable principis/howdy
sudo dnf --refresh install howdy

Note: Fedora 41 removed support for Python2, but at this point in time Howdy still depends on it. If the install fails, you can fix this by installing the beta Repository and removing the release version:

sudo dnf copr remove principis/howdy
sudo dnf copr enable principis/howdy-beta
sudo dnf --refresh install howdy

See the link to the COPR repository for detailed configuration steps.

openSUSE

Maintainer: @dmafanasyev

Go to the openSUSE wiki page for detailed installation instructions.

Building from source

If you want to build Howdy from source, a few dependencies are required.

Dependencies

  • Python 3.6 or higher
    • pip
    • setuptools
    • wheel
  • meson version 0.64 or higher
  • ninja
  • INIReader (can be pulled from git automatically if not found)
  • libevdev

To install them on Debian/Ubuntu for example:

sudo apt-get update && sudo apt-get install -y \
python3 python3-pip python3-setuptools python3-wheel \
cmake make build-essential \
libpam0g-dev libinih-dev libevdev-dev python3-opencv \
python3-dev libopencv-dev

Build

meson setup build
meson compile -C build

You can also install Howdy to your system with meson install -C build.

Setup

After installation, Howdy needs to learn what you look like so it can recognise you later. Run sudo howdy add to add a face model.

If nothing went wrong we should be able to run sudo by just showing your face. Open a new terminal and run sudo -i to see it in action. Please check this wiki page if you're experiencing problems or search for similar issues.

If you're curious you can run sudo howdy config to open the central config file and see the options Howdy has to offer. On most systems this will open the nano editor, where you have to press ctrl+x to save your changes.

CLI

The installer adds a howdy command to manage face models for the current user. Use howdy --help or man howdy to list the available options.

Usage:

howdy [-U user] [-y] command [argument]
Command Description
add Add a new face model for a user
clear Remove all face models for a user
config Open the config file in your default editor
disable Disable or enable howdy
list List all saved face models for a user
remove Remove a specific model for a user
snapshot Take a snapshot of your camera input
test Test the camera and recognition methods
version Print the current version number

Contributing

The easiest ways to contribute to Howdy is by starring the repository and opening GitHub issues for features you'd like to see. If you want to do more, you can also buy me a coffee.

Code contributions are also very welcome. If you want to port Howdy to another distro, feel free to open an issue for that too.

Troubleshooting

Any Python errors get logged directly into the console and should indicate what went wrong. If authentication still fails but no errors are printed, you could take a look at the last lines in /var/log/auth.log to see if anything has been reported there.

Please first check the wiki on common issues and if you encounter an error that hasn't been reported yet, don't be afraid to open a new issue.

A note on security

This package is in no way as secure as a password and will never be. Although it's harder to fool than normal face recognition, a person who looks similar to you, or a well-printed photo of you could be enough to do it. Howdy is a more quick and convenient way of logging in, not a more secure one.

To minimize the chance of this program being compromised, it's recommended to leave Howdy in /lib/security and to keep it read-only.

DO NOT USE HOWDY AS THE SOLE AUTHENTICATION METHOD FOR YOUR SYSTEM.

Ähnliche Repositories
ageitgey/face_recognition

The world's simplest facial recognition api for Python and the command line

PythonPyPIMIT Licensemachine-learningface-detection
56.6k13.7k
deepinsight/insightface

State-of-the-art 2D and 3D Face Analysis Project

PythonPyPIface-recognitionface-detection
insightface.ai
29.3k6.1k
serengil/deepface

A Lightweight Face Recognition and Facial Attribute Analysis (Age, Gender, Emotion and Race) Library for Python

PythonPyPIMIT Licenseface-recognitionvgg-face
youtube.com/watch
23.1k3.1k
Zeyi-Lin/HivisionIDPhotos

⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。

PythonPyPIApache License 2.0demogradio
modelscope.cn/studios/SwanLab/HivisionIDPhotos
21.3k2.4k
justadudewhohacks/face-api.js

JavaScript API for face detection and face recognition in the browser and nodejs with tensorflow.js

TypeScriptnpmMIT Licenseface-recognitionjavascript
17.9k3.9k
cmusatyalab/openface

Face recognition with deep neural networks.

LuaApache License 2.0deep-learningface-recognition
cmusatyalab.github.io/openface/
15.4k3.6k
davidsandberg/facenet

Face recognition using Tensorflow

PythonPyPIMIT Licenseface-recognitiontensorflow
14.3k4.8k
exadel-inc/CompreFace

Leading free and open-source face recognition system

JavaMavenApache License 2.0face-recognitioncomputer-vision
exadel.com/accelerator-showcase/compreface/
8.1k1.1k
Shawn-Shan/fawkes

Fawkes, privacy preserving tool against facial recognition systems. More info at https://sandlab.cs.uchicago.edu/fawkes

PythonPyPIBSD 3-Clause "New" or "Revised" Licenseprivacy-protectionprivacy-enhancing-technologies
sandlab.cs.uchicago.edu/fawkes
5.6k507
timesler/facenet-pytorch

Pretrained Pytorch face detection (MTCNN) and facial recognition (InceptionResnet) models

PythonPyPIMIT Licensepytorchresnet
5.2k1k
ThoughtfulDev/EagleEye

Stalk your Friends. Find their Instagram, FB and Twitter Profiles using Image Recognition and Reverse Image Search.

PythonPyPIDo What The F*ck You Want To Public Licensepython3machine-learning
5.2k679
ChanChiChoi/awesome-Face_Recognition

papers about Face Detection; Face Alignment; Face Recognition && Face Identification && Face Verification && Face Representation; Face Reconstruction; Face Tracking; Face Super-Resolution && Face Deblurring; Face Generation && Face Synthesis; Face Transfer; Face Anti-Spoofing; Face Retrieval;

face-detectionface-alignment
4.7k972