{"id":15020802,"url":"https://github.com/captn3m0/electron-fingerprints","last_synced_at":"2026-04-16T20:03:13.586Z","repository":{"id":42068096,"uuid":"386386572","full_name":"captn3m0/electron-fingerprints","owner":"captn3m0","description":"Generates fingerprints for electron version detection by downloading electron releases and generating checksums of the files contained in each release.","archived":false,"fork":false,"pushed_at":"2026-03-25T18:28:44.000Z","size":79481,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-26T19:13:55.843Z","etag":null,"topics":["git-scraping"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/captn3m0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"captn3m0","liberapay":"captn3m0","github":"captn3m0"}},"created_at":"2021-07-15T18:20:50.000Z","updated_at":"2026-03-25T18:29:03.000Z","dependencies_parsed_at":"2023-12-21T08:36:32.714Z","dependency_job_id":"cbf567b7-e75f-4456-8f03-48b3a40b637f","html_url":"https://github.com/captn3m0/electron-fingerprints","commit_stats":{"total_commits":447,"total_committers":6,"mean_commits":74.5,"dds":"0.21029082774049213","last_synced_commit":"e733dae71ec3fd205c4e7b2ec7fcbaaea33eab00"},"previous_names":[],"tags_count":301,"template":false,"template_full_name":null,"purl":"pkg:github/captn3m0/electron-fingerprints","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/captn3m0%2Felectron-fingerprints","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/captn3m0%2Felectron-fingerprints/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/captn3m0%2Felectron-fingerprints/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/captn3m0%2Felectron-fingerprints/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/captn3m0","download_url":"https://codeload.github.com/captn3m0/electron-fingerprints/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/captn3m0%2Felectron-fingerprints/sbom","scorecard":{"id":189544,"data":{"date":"2025-08-11","repo":{"name":"github.com/captn3m0/electron-fingerprints","commit":"98d7e4f51c7bbfe7b6889524de48d02053dd96f2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'packages' permission set to 'write': .github/workflows/update.yml:11","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update.yml:10","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/update.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Do What The F*ck You Want To Public License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v2025.8.7 not signed: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/238399000","Warn: release artifact v2025.7.31 not signed: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/236662316","Warn: release artifact v2025.7.23 not signed: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/234657219","Warn: release artifact v2025.7.17 not signed: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/233278414","Warn: release artifact v2025.7.16 not signed: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/232940883","Warn: release artifact v2025.8.7 does not have provenance: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/238399000","Warn: release artifact v2025.7.31 does not have provenance: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/236662316","Warn: release artifact v2025.7.23 does not have provenance: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/234657219","Warn: release artifact v2025.7.17 does not have provenance: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/233278414","Warn: release artifact v2025.7.16 does not have provenance: https://api.github.com/repos/captn3m0/electron-fingerprints/releases/232940883"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/captn3m0/electron-fingerprints/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/captn3m0/electron-fingerprints/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/captn3m0/electron-fingerprints/update.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/captn3m0/electron-fingerprints/update.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/captn3m0/electron-fingerprints/update.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/captn3m0/electron-fingerprints/update.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/test.yml:16","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-16T20:22:27.343Z","repository_id":42068096,"created_at":"2025-08-16T20:22:27.343Z","updated_at":"2025-08-16T20:22:27.343Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["git-scraping"],"created_at":"2024-09-24T19:55:39.959Z","updated_at":"2026-04-01T17:40:07.106Z","avatar_url":"https://github.com/captn3m0.png","language":"PHP","funding_links":["https://ko-fi.com/captn3m0","https://liberapay.com/captn3m0","https://github.com/sponsors/captn3m0"],"categories":[],"sub_categories":[],"readme":"# [electron-fingerprints](https://github.com/captn3m0/electron-fingerprints/packages/1337118) ![Zero Dependencies](https://img.shields.io/badge/Dependencies-Zero-blue) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/captn3m0/electron-fingerprints) ![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/captn3m0/electron-fingerprints) ![GitHub repo size](https://img.shields.io/github/repo-size/captn3m0/electron-fingerprints)\n\nGenerates fingerprints for electron version detection by downloading electron releases and generating checksums (sha1 hashes) of the files contained in each release. Published as a lookup table on the GitHub NPM Registry.\n\n## why\n\nYou can use this to guess which electron version is being used in a given application.\nA given electron version is (almost always) tightly bound to a node and chrome release as well, so\nyou get a better sense of what the application is running.\n\nWritten as the backend for [`which-electon`][we].\n\n## install\n\nSee [the GitHub documentation](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#installing-a-package) to configure the GitHub Packages NPM Registry.\n\nInstall from the command line:\n\n```shell\nnpm install @captn3m0/electron-fingerprints\n```\n\nInstall via package.json:\n\n```json\n\"@captn3m0/electron-fingerprints\": \"*\"\n```\n\n## usage\n\nThis repository only contains the raw data files, see [which-electron][we] for a usable package. The `lookup.json` files are published as the `@captn3m0/electron-fingerprints` package on the GitHub NPM Package Registry as well as on [GitHub Releases][releases]. Programmatic usage is still possible:\n\n```javascript\nconst lookup = require(\"@captn3m0/electron-fingerprints\");\n// baf786083f482c1f035e50e105b5f7475af1e00b = sha1(ffmpeg.dll)\nlookup[\"win32-x64\"][\"baf786083f482c1f035e50e105b5f7475af1e00b\"];\n// [\"v1.4.3\", \"v1.4.4\", \"v1.4.5\"]\n```\n\nYou can sort or filter the returned versions if needed. If you'd like to access the raw data, see `HACKING.md` for a schema description. If you'd like to use this in a project that doesn't use NPM, you can use this repository as a git submodule and track the `main` branch for updates.\n\n## supported releases\n\nAll _Stable_ electron releases for the following architectures are fingerprinted:\n\n- `linux-x64`\n- `linux-arm64`\n- `darwin-x64` (Mac OS)\n- `win32-x64` (Windows)\n- `win32-arm64` (Windows)\n- `darwin-arm64` (Apple Silicon)\n\nA list of release fingerprints is under the `hashes` directory. Releases made when Electron was still called `atom-shell` are not supported (Before April 2015).\n\n## versioning\n\nReleases are versioned by the date on which they were made (as per UTC).\n\n## license\n\nReleased under WTFPL.\n\n[we]: https://github.com/captn3m0/which-electron\n[releases]: https://github.com/captn3m0/electron-fingerprints/releases\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaptn3m0%2Felectron-fingerprints","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaptn3m0%2Felectron-fingerprints","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaptn3m0%2Felectron-fingerprints/lists"}