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.nodebinary 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).
- Node.js wrapper script (
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-cliGlobal (CLI usage):
npm install -g profileur-cliCLI usage
Once installed globally:
profile-exporter -vOptions:
-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 toextracted_dataif 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 publicEnsure that:
chrome_elevator.nodeis included in the published files (see thefilesfield inpackage.json).- The paths used in
extractor_cli.jsare 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.nodebinary 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-extractorGlobal (CLI usage):
npm install -g chromium-abe-extractorCLI usage
Once installed globally:
extractor -vOptions:
-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 toextracted_dataif 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 publicEnsure that:
chrome_elevator.nodeis included in the published files (see thefilesfield inpackage.json).- The paths used in
extractor_cli.jsare 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.nodecompilé pour la plateforme cible et très probablement les droits Administrateur.
Installation
Depuis un projet Node (en local) :
npm install chromium-abe-extractorOu en global pour l'utiliser en ligne de commande :
npm install -g chromium-abe-extractorUtilisation en CLI
Une fois installé globalement :
extractor -vOptions :
-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 publicAssure-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.
