Generates fingerprints for electron version detection by downloading electron releases and generating checksums of the files contained in each release.
Go to file
github-actions[bot] 397127b59c 2024.4.18 2024-04-18 18:07:08 +00:00
.github Create FUNDING.yml 2022-05-27 07:26:27 +00:00
hashes Update Electron Fingerprints 2024-04-18 18:07:06 +00:00
lookup Update Electron Fingerprints 2024-04-18 18:07:06 +00:00
.editorconfig new releases 2022-03-05 14:02:50 +05:30
.gitignore New release 2022-01-13 12:29:02 +05:30
.npmignore ignore Makefile for npm package 2022-02-21 21:02:52 +05:30
HACKING.md Automatically publish to self NPM repository 2022-03-31 13:19:08 +05:30
LICENSE Update LICENSE 2022-05-23 14:53:19 +00:00
README.md Improve README [skip ci] 2022-04-30 21:28:26 +05:30
index.js Move lookup tables to separate directory 2021-07-18 17:18:41 +05:30
package-lock.json 2024.4.18 2024-04-18 18:07:08 +00:00
package.json 2024.4.18 2024-04-18 18:07:08 +00:00
test.js [tests] fix tests 2022-03-31 13:19:08 +05:30
update.php New Electron releases 2022-03-25 12:19:02 +05:30

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.