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] 76d5667fa3 2022.9.24 1 day ago
.github Create FUNDING.yml 4 months ago
hashes Update Electron Fingerprints 1 day ago
lookup Update Electron Fingerprints 1 day ago
.editorconfig new releases 7 months ago
.gitignore New release 9 months ago
.npmignore ignore Makefile for npm package 7 months ago
HACKING.md Automatically publish to self NPM repository 6 months ago
LICENSE Update LICENSE 4 months ago
README.md Improve README [skip ci] 5 months ago
index.js Move lookup tables to separate directory 1 year ago
package-lock.json 2022.9.24 1 day ago
package.json 2022.9.24 1 day ago
test.js [tests] fix tests 6 months ago
update.php New Electron releases 6 months ago

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.