npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

profileur-cli

v2.0.8

Published

Export cookies, saved logins, history, and autofill data from Chromium-based browser profiles on Windows using a native helper.

Downloads

1,146

Readme

profileur-cli

Low-level Windows helper to export browser profile data (cookies, saved logins, history, autofill) from Chromium-based browsers, backed by a native C++ addon that interacts with processes and profile databases at a system level.

⚠️ Windows only. Requires a native chrome_elevator.node binary built for the target platform and usually Administrator privileges.

What it does

  • Targets: Any Chromium-based browser where you know the profile directory (Chrome, Edge, Brave, custom Chromium builds, etc.).
  • Data exported:
    • Browsing history
  • Architecture:
    • Node.js wrapper script (extractor_cli.js)
    • Native C++ addon (chrome_elevator.node) doing the low-level work (process interaction, locked-file copying, access to protected profile data).

Use cases include incident response, forensics, backup/migration of browser profiles, or automated integration testing where you need to replay authenticated sessions.


Installation

Project (local dependency):

npm install profileur-cli

Global (CLI usage):

npm install -g profileur-cli

CLI usage

Once installed globally:

profile-exporter -v

Options:

  • -v, --verbose: enable detailed debug logging.
  • -h, --help: show help.

By default, extracted data is written under:

extracted_data/<browserKey>/<profile>/

The CLI uses whatever browsers are configured inside the packaged script. For full control over which browsers are processed, prefer the programmatic API below.


Programmatic usage (Node module)

const path = require('path');
const { main } = require('profileur-cli');

// Example: write all exports under a local "exports" folder
main({
  outputDir: path.join(__dirname, 'exports'),
  browsers: {
    chrome: {
      path: path.join(process.env.LOCALAPPDATA, 'Google', 'Chrome', 'User Data'),
      name: 'Google Chrome'
    },
});

Options:

  • outputDir (string): base folder where results are written. Defaults to extracted_data if omitted.
  • browsers (object, required): map of browser keys to:
    • path (string): path to the browser “User Data” directory (often under %LOCALAPPDATA%).
    • name (string): human-friendly name used in logs.

If browsers is missing or empty, the library logs an error and exits without running extraction.

Because the native addon operates at a low level (interacting with locked files and browser resources), it should be run only in trusted environments and with appropriate permissions.


Publishing to npm (for maintainers)

From the project root:

npm login           # once
npm publish --access public

Ensure that:

  • chrome_elevator.node is included in the published files (see the files field in package.json).
  • The paths used in extractor_cli.js are compatible with how you bundle/distribute the native addon (plain Node, pkg, Electron, etc.).

chromium-abe-extractor

Extract Cookies, Passwords, History, and Autofill from Chromium-based browsers (Chrome, Edge, Brave, etc.) on Windows, using an App-Bound Encryption (ABE) key bypass.

⚠️ Windows only. Requires a native chrome_elevator.node binary built for the target platform and usually Administrator privileges.

Features

  • Browsers: Works with any Chromium-based profile folder you configure (Chrome, Edge, Brave, custom builds, etc.).
  • Data types:
    • Browsing history
  • Configurable: The library does not hard-code browser paths; you provide them when calling the module.

Installation

Project (local dependency):

npm install chromium-abe-extractor

Global (CLI usage):

npm install -g chromium-abe-extractor

CLI usage

Once installed globally:

extractor -v

Options:

  • -v, --verbose: enable detailed debug logging.
  • -h, --help: show help.

By default, extracted data is written under:

extracted_data/<browserKey>/<profile>/

The CLI uses whatever browsers are configured inside the packaged script. For full control over which browsers are processed, prefer the programmatic API below.


Programmatic usage (Node module)

const path = require('path');
const { main } = require('chromium-abe-extractor');

// Example: write all exports under a local "exports" folder
main({
  outputDir: path.join(__dirname, 'exports'),
  browsers: {
    chrome: {
      path: path.join(process.env.LOCALAPPDATA, 'Google', 'Chrome', 'User Data'),
      name: 'Google Chrome'
    }
});

Options:

  • outputDir (string): base folder where results are written. Defaults to extracted_data if omitted.
  • browsers (object, required): map of browser keys to:
    • path (string): path to the browser “User Data” directory (often under %LOCALAPPDATA%).
    • name (string): human-friendly name used in logs.

If browsers is missing or empty, the library logs an error and exits without running extraction.


Publishing to npm (for maintainers)

From the project root:

npm login           # once
npm publish --access public

Ensure that:

  • chrome_elevator.node is included in the published files (see the files field in package.json).
  • The paths used in extractor_cli.js are compatible with how you bundle/distribute the native addon (plain Node, pkg, Electron, etc.).

chromium-abe-extractor

Extract Cookies, Passwords, History, and Autofill from Chrome, Edge, and Brave using App-Bound Encryption (ABE) key bypass on Windows.

⚠️ Windows uniquement. Nécessite un binaire natif chrome_elevator.node compilé pour la plateforme cible et très probablement les droits Administrateur.

Installation

Depuis un projet Node (en local) :

npm install chromium-abe-extractor

Ou en global pour l'utiliser en ligne de commande :

npm install -g chromium-abe-extractor

Utilisation en CLI

Une fois installé globalement :

extractor -v

Options :

  • -v, --verbose : active les logs détaillés.
  • -h, --help : affiche l'aide.

Les données extraites sont écrites dans le dossier extracted_data/<browser>/<profile>/.

Utilisation comme module Node

const { main } = require('chromium-abe-extractor');

// Lance l'extraction comme en CLI (sortie dans "extracted_data/...")
main();

// Personnaliser le dossier de sortie
main({
  outputDir: 'C:\\name\\name\\Documents\\mes_exports'
  // ou en relatif par rapport au process courant, par ex. 'mes_exports'
});

// Personnaliser les navigateurs utilisés (sans modifier le module)
main({
  outputDir: 'mes_exports',
  browsers: {
    chrome: {
      path: 'C:\\Users\\name\\AppData\\Local\\Google\\Chrome\\User Data',
      name: 'Mon Chrome Perso'
    },
    myCustomChromium: {
      path: 'D:\\Browsers\\CustomChromium\\User Data',
      name: 'Custom Chromium Build'
    }
  }
});

Publication sur npm

Depuis le dossier du projet :

npm login           # une seule fois
npm publish --access public

Assure-toi que chrome_elevator.node est présent dans le paquet (par exemple dans ./build/Release/chrome_elevator.node) et que les chemins dans extractor_cli.js pointent au bon endroit avant de publier.