Generates fingerprints for electron version detection by downloading electron releases and generating checksums of the files contained in each release.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
github-actions[bot] 21760fcf6a 2022.6.23 3 days ago
.github Create FUNDING.yml 1 month ago
hashes Update Electron Fingerprints 3 days ago
lookup Update Electron Fingerprints 3 days ago
.editorconfig
.gitignore
.npmignore
HACKING.md
LICENSE Update LICENSE 1 month ago
README.md Improve README [skip ci] 2 months ago
index.js
package-lock.json 2022.6.23 3 days ago
package.json 2022.6.23 3 days ago
test.js
update.php

README.md

electron-fingerprints Zero Dependencies GitHub release (latest by date) GitHub tag (latest SemVer) GitHub repo size

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

why

You can use this to guess which electron version is being used in a given application. A given electron version is (almost always) tightly bound to a node and chrome release as well, so you get a better sense of what the application is running.

Written as the backend for which-electon.

install

See the GitHub documentation to configure the GitHub Packages NPM Registry.

Install from the command line:

npm install @captn3m0/electron-fingerprints

Install via package.json:

"@captn3m0/electron-fingerprints": "*"

usage

This repository only contains the raw data files, see which-electron 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. Programmatic usage is still possible:

const lookup = require("@captn3m0/electron-fingerprints");
// baf786083f482c1f035e50e105b5f7475af1e00b = sha1(ffmpeg.dll)
lookup["win32-x64"]["baf786083f482c1f035e50e105b5f7475af1e00b"];
// ["v1.4.3", "v1.4.4", "v1.4.5"]

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

supported releases

All Stable electron releases for the following architectures are fingerprinted:

  • linux-x64
  • linux-arm64
  • darwin-x64 (Mac OS)
  • win32-x64 (Windows)
  • win32-arm64 (Windows)
  • darwin-arm64 (Apple Silicon)

A list of release fingerprints is under the hashes directory. Releases made when Electron was still called atom-shell are not supported (Before April 2015).

versioning

Releases are versioned by the date on which they were made (as per UTC).

license

Released under WTFPL.