{"id":17504374,"url":"https://github.com/operavaria/lfpch","last_synced_at":"2026-02-17T11:31:28.720Z","repository":{"id":257917246,"uuid":"865589942","full_name":"OperaVaria/lfpch","owner":"OperaVaria","description":"Quickly and securely check if your password is safe","archived":false,"fork":false,"pushed_at":"2025-03-11T23:32:43.000Z","size":747,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T23:51:26.578Z","etag":null,"topics":["c-language","gtk4","haveibeenpwnd","password","password-checker","password-generator","security"],"latest_commit_sha":null,"homepage":"https://github.com/OperaVaria/lfpch","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OperaVaria.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-30T19:28:03.000Z","updated_at":"2025-03-11T23:32:46.000Z","dependencies_parsed_at":"2024-10-25T01:42:59.632Z","dependency_job_id":"78576535-03e2-48a1-af20-7918ef242d4e","html_url":"https://github.com/OperaVaria/lfpch","commit_stats":null,"previous_names":["operavaria/lfpch"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OperaVaria%2Flfpch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OperaVaria%2Flfpch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OperaVaria%2Flfpch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OperaVaria%2Flfpch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OperaVaria","download_url":"https://codeload.github.com/OperaVaria/lfpch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248328548,"owners_count":21085335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-language","gtk4","haveibeenpwnd","password","password-checker","password-generator","security"],"created_at":"2024-10-20T00:15:19.912Z","updated_at":"2026-02-17T11:31:28.679Z","avatar_url":"https://github.com/OperaVaria.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lightning-Fast Password Check\n\nLFPCh is a small, cross-platform GUI application to check if your password is safe to use. The program conducts a two-step security check:\nIn step one, the password's quality is evaluated based on its length and character variety. In step two, the app checks whether\nthe password was part of an earlier data breach through the haveibeenpwned.com API. LFPCh provides an extra layer of security\ncompared to using the website directly, as the password data never actually leaves the computer. Implementing a k-Anonymity model,\nonly the first five characters of the password's SHA1 hash is ever sent to the haveibeenpwned server, making its decoding impossible,\neven if it is somehow intercepted. The application also includes a random password generator that creates a secure password, customizable\nin accordance with the user's needs. The random generation is based on a \"true\" random seed provided by the x86 processor's DRNG unit.\n\nLFPCh was written entirely in C with speed and efficiency in mind. Its simple, GTK4 UI aims to provide a clean and easy-to-use interface.\n\n## Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/screenshots/lnx_screen.jpg\" alt=\"Linux Screenshot\" height=auto width=\"700\"\u003e\n  \u003cimg src=\"./assets/screenshots/win_screen.jpg\" alt=\"Windows Screenshot\" height=auto width=\"700\"\u003e\n\u003c/p\u003e\n\n## Installation\n\nThe easiest and cleanest way to install LFPCh is via the binary packages located in the repository's ['bin/' directory](https://github.com/OperaVaria/lfpch/tree/main/bin).\nThese are set up to download and install the required dependencies automatically.\n\n### Linux (Debian-based)\n\nDownload the latest version of the .deb package from ['/bin/Linux'](https://github.com/OperaVaria/lfpch/tree/main/bin/Linux), and use you distribution's GUI package installer\n(e.g. GDebi, Deb Installer etc.), or run the following commands in the terminal:\n\n```bash\ncd /location/of/deb_file\nsudo dpkg -i packagename.deb\n```\n\nThe app can now be launched form the OS's application menu or by typing the \"lfpch\" command into the terminal.\n\n### Windows\n\nThe Windows installation uses the [MSYS2](https://www.msys2.org/) platform with the UCRT64 environment to get the required dependencies.\nDownload the latest version of the .pkg.tar.zst package from ['/bin/Windows'](https://github.com/OperaVaria/lfpch/tree/main/bin/Windows) and run the following commands in the MYSYS shell:\n\n```bash\ncd /location/of/pkg_file\npacman -U packagename.pkg.tar.zst\n```\n\nThe app can now be launched form the newly created desktop shortcut.\n\n## Building\n\nThe building (and optional installation) process is done via the [Meson build system](https://mesonbuild.com/index.html),\nversion 1.5.0 is required. Meson does include a built-in pseudo-package manager called [WrapDB](https://mesonbuild.com/Wrapdb-projects.html)\nto download and compile dependencies, but this takes a very long time to complete. **We recommend these steps instead:**\n\n### Dependencies\n\nThe application depends on the following shared libraries:\n\n- glib-2.0\n- gtk4\n- libcrypto\n- libcurl\n\nA faster and easier way to procure these libraries is to install the packages containing them through a package manager.\n\nOn Linux (Debian-based), run the following commands in the terminal:\n\n  ```bash\n  sudo apt update\n  sudo apt install -y libglib2.0-dev libgtk-4-dev libssl-dev libcurl4-openssl-dev\n  ```\n\nOn Windows, you can use [MSYS2](https://www.msys2.org/) to get the packages. This example is for the UCRT64 environment:\n\n```bash\npacman -S mingw-w64-ucrt-x86_64-glib2 mingw-w64-ucrt-x86_64-gtk4 mingw-w64-ucrt-x86_64-openssl mingw-w64-ucrt-x86_64-curl\n```\n\n### Compilation\n\nLFPCh can be built and installed on both OS families with Meson. After downloading and unpacking the source directory,\nenter the following into the terminal:\n\n```bash\ncd /project/source/directory\nmeson setup builddir\nmeson install -C builddir\n```\n\nWith the Meson install method, on Linux, the app installs to the conventional Unix filesystem locations\n('/usr/bin' and '/usr/share'), and can be run with the \"lfpch\" command.\nOn Windows, the target directory for all files is 'C:\\Tools\\lfpch'.\n\n## Other\n\n**Tested on:** Ubuntu 24.04, MX Linux 23.4, and Windows 11.\n\n**Note:** The application's random generator depends on an x86 specific assembly instruction, therefore it will not work on different architectures.\n\nApp icon from [\"Internet \u0026 Security icon pack\"](https://www.iconfinder.com/iconsets/internet-security-flat-2) by [Kmg Design](https://www.iconfinder.com/kmgdesignid)\n\n**[Contact](mailto:lcs_it@proton.me)**\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foperavaria%2Flfpch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foperavaria%2Flfpch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foperavaria%2Flfpch/lists"}