Generates fingerprints for electron version detection by downloading electron releases and generating checksums of the files contained in each release.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
github-actions[bot] e2345c1f75 2023.3.24 6 days ago
.github Create FUNDING.yml 10 months ago
hashes Update Electron Fingerprints 6 days ago
lookup Update Electron Fingerprints 6 days ago
.editorconfig new releases 1 year ago
.gitignore New release 1 year ago
.npmignore ignore Makefile for npm package 1 year ago
HACKING.md Automatically publish to self NPM repository 1 year ago
LICENSE Update LICENSE 10 months ago
README.md Improve README [skip ci] 11 months ago
index.js Move lookup tables to separate directory 2 years ago
package-lock.json 2023.3.24 6 days ago
package.json 2023.3.24 6 days ago
test.js [tests] fix tests 1 year ago
update.php New Electron releases 1 year 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.