Giter Club home page Giter Club logo

howdy's Introduction

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 for Debian/Ubuntu, Arch Linux and Fedora. 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

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 luya/howdy
sudo dnf install howdy

Setup

After installation, Howdy needs 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.

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 an user
clear Remove all face models for an user
config Open the config file in your default editor
disable Disable or enable howdy
list List all saved face models for an user
remove Remove a specific model for an user
test Test the camera and recognition methods

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.

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 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.

howdy's People

Contributors

anthonywharton avatar boltgolt avatar dmig avatar kelleymcches avatar lucianbuzzo avatar luyatshimbalanga avatar maryball2 avatar mrkmg avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.