cdef6593b6
As an alternative to PAM authentication, password hash authentication only relies on the availability of libgcrypt (and some program like OpenSSL or sha256sum to create the hash). Supports salted hashes and all hash algorithms that are available in the actual libgcrypt installation. |
||
---|---|---|
.github | ||
assets | ||
nix | ||
pam | ||
protocols | ||
src | ||
.clang-format | ||
.gitignore | ||
CMakeLists.txt | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.md | ||
VERSION |
hyprlock
Hyprland's simple, yet multi-threaded and GPU-accelerated screen locking utility.
Features
- uses the secure ext-session-lock protocol
- full support for fractional-scale
- fully GPU accelerated
- multi-threaded resource acquisition for no hitches
How it looks
Docs / Configuration
Password hash configuration
If PAM authentication is unavailable to you, you can use password hash authentication via libgcrypt
.
Activated it by setting general:password_hash
to the desired value as a string of hexadecimal numbers.
You can select the hash function with general:password_hash
with the default being SHA256
.
Other known hash functions are SHA3-256
, SHA512_256
or SHAKE128
.
You can also salt the by setting hash_salt
.
Set an individual salt (and matching hash) on different systems or across different users to possibly mask that you/users are using the same password.
You can set up a new password hash by first selecting the hash function (e.g. SHA3-256
) and then using OpenSSL to create the salt and hash:
# Produces 10 bytes salt
SALT=$(openssl rand -hex 10)
printf "hash_salt = %s\n" "$SALT"
# Enter your password (no echo) and press ENTER.
{ read -s v; echo "$v${SALT}" } | openssl sha3-256 -hex
Arch install
pacman -S hyprlock # binary x86 tagged release
# or
yay -S hyprlock-git # compiles from latest source
Building
Deps
You also need the following dependencies
- wayland-client
- wayland-protocols
- mesa
And the development libraries for the following
- cairo
- libdrm
- pango
- xkbcommon
- pam
- hyprlang
- hyprutils
- libmagic (file-devel on Fedora)
Development libraries are usually suffixed with -devel
or -dev
in most distro repos.
You also need to install mesa-libgbm-devel
on some distros like RPM based ones where its not
bundled with the mesa package.
Building
Building:
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B ./build
cmake --build ./build --config Release --target hyprlock -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
Installation:
sudo cmake --install build