{"id":13596740,"url":"https://github.com/danstiner/rust-u2f","last_synced_at":"2025-08-14T12:48:06.824Z","repository":{"id":25692055,"uuid":"103092797","full_name":"danstiner/rust-u2f","owner":"danstiner","description":"U2F security token emulator written in Rust","archived":false,"fork":false,"pushed_at":"2024-01-22T02:07:10.000Z","size":830,"stargazers_count":305,"open_issues_count":23,"forks_count":44,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-09T20:44:31.367Z","etag":null,"topics":["linux","rust","u2f"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danstiner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2017-09-11T05:19:46.000Z","updated_at":"2025-04-06T18:37:52.000Z","dependencies_parsed_at":"2024-01-25T05:09:53.914Z","dependency_job_id":null,"html_url":"https://github.com/danstiner/rust-u2f","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/danstiner/rust-u2f","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danstiner%2Frust-u2f","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danstiner%2Frust-u2f/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danstiner%2Frust-u2f/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danstiner%2Frust-u2f/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danstiner","download_url":"https://codeload.github.com/danstiner/rust-u2f/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danstiner%2Frust-u2f/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270422667,"owners_count":24580835,"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","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["linux","rust","u2f"],"created_at":"2024-08-01T16:02:44.563Z","updated_at":"2025-08-14T12:48:06.612Z","avatar_url":"https://github.com/danstiner.png","language":"Rust","readme":"# Rust U2F\n\nA software-only [Universal 2nd Factor](https://www.yubico.com/solutions/fido-u2f/) token. Supports Google Chrome and Firefox on Linux. Written in [Rust](https://www.rust-lang.org/).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/52513/53316061-32725f80-387b-11e9-8476-36207606db58.png\" /\u003e\n\u003c/p\u003e\n\nThis program is basically complete, I am not currently planning to add new features like passwordless login the newer [FIDO2 standard](https://fidoalliance.org/specifications/) supports.\n\n## Security\n\nDisclaimer: This is a personal project, I am not a security expert and make no guarantee of security.\n\nLike any U2F authenticator this program provides a degree of protection against phishing and poorly chosen passwords. It does **not** provide the same level of protection against malware that a hardware authenticator does.\n\nIf your machine is compromised by malware, the attacker could steal a copy of the secret keys stored by this authenticator. In this situation you should immediately unregister this authenticator anywhere it is registered in addition to changing the passwords of any potentially compromised accounts. With a hardware authenticator secret keys never leave the device, so in the case of malware you can simply unplug from the infected machine and be confident your accounts are safe from further compromise.\n\n## Installation\n\nAfter installing, test your new virtual U2F device on a site supporting it such as: https://demo.yubico.com/webauthn-technical/registration\n\n### Arch\n\nInstall the AUR package maintained by [@grawity](https://github.com/grawity): https://aur.archlinux.org/packages/softu2f/\n\nThen enable and start the installed services:\n```bash\nsystemctl --system enable --now softu2f.socket\nsystemctl --user   enable --now softu2f.service\n```\n\n### Fedora\n\n```bash\ncurl -s https://packagecloud.io/install/repositories/danstiner/softu2f/script.rpm.sh | sudo bash\nsudo dnf install softu2f\nsystemctl --system start softu2f.socket\nsystemctl --user   start softu2f.service\n```\n\n### Ubuntu\n\n```bash\nsudo apt install -y curl\ncurl -s https://packagecloud.io/install/repositories/danstiner/softu2f/script.deb.sh | sudo bash\nsudo apt install -y softu2f\nsystemctl --system start softu2f.socket\nsystemctl --user   start softu2f.service\n```\n\n## Building\n\nSee `Dockerfile.debian` or `Dockerfile.fedora` for pre-requisite packages that must be installed.\n\nThen run `cd linux \u0026\u0026 make`.\n\nTo install run `cd linux \u0026\u0026 make install`. The install target uses sudo so you will be prompted for your password.\n\n### Bump version\n\n* Run `bumpversion --no-tag patch`\n* Update `linux/meta-package/debian/changelog` and amend the commit\n* Push and manually tag the release\n* Package for all platforms and upload package files\n\n## License\n\nThis project is licensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or\n   http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or\n   http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n","funding_links":[],"categories":["Rust","Software Authenticators"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanstiner%2Frust-u2f","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanstiner%2Frust-u2f","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanstiner%2Frust-u2f/lists"}