JavaScript MIT

chrome-cookies-secure

Extract encrypted Google Chrome cookies for a url on a Mac or Linux

B

bertrandom

Dernière activité 27 sept. 2026
bertrandom/chrome-cookies-secure

184

étoiles

57

forks

17

issues ouvertes

Ce README est souvent en anglais.

chrome-cookies-secure

Extract encrypted Google Chrome cookies for a url on Mac OS X, Windows, or Linux

@latest

Socket Badge

@canary

Socket Badge

Installation

npm install chrome-cookies-secure
# or
npm install chrome-cookies-secure@canary
Canary Version (Sept 2026)
  • Due to lack of test coverage on Linux & Windows, latest security bumps have been released on @canary.
  • Beware there may be instability in this release, but that it comes at the benefit of better security.
  • Please raise issues for any bugs you find on the open PR page or open a PR for the @canary tag.

Optional Dependencies

Because this package is designed to work cross-platform, two operating system specific dependencies are declared as optionalDependencies.

If you are working on these platforms you should install these manually after running npm i.

For Windows

  • win-dpapi is required
  • npm i win-dpapi@1.1.0

For macOS

  • keytar is required
  • npm i keytar@7.9.0

API

getCookies(url[,format],callback,profile)

url should be a fully qualified url, e.g. https://www.example.com/path

format is optional and can be one of the following values:

format description
curl Netscape HTTP Cookie File contents usable by curl and wget
jar cookie jar compatible with [tough-cookie]
set-cookie Array of Set-Cookie header values
header cookie header string, similar to what a browser would send
puppeteer an array of objects that can be loaded into puppeteer using the setCookie(...) method
object (default) Object where key is the cookie name and value is the cookie value. These are written in order so it's possible that duplicate cookie names will be overriden by later values

If format is not specified, object will be used as the format by default.

Cookie order tries to follow RFC 6265 - Section 5.4, step 2 as best as possible.

Examples

basic usage

const chrome = require('chrome-cookies-secure');
chrome.getCookies('https://www.example.com/path/', function(err, cookies) {
	console.log(cookies);
});
const chrome = require('chrome-cookies-secure');
const cookies = await chrome.getCookiesPromised('https://www.example.com/path/', 'jar')

puppeteer with specific Chrome profile

const chrome = require('chrome-cookies-secure');
const puppeteer = require('puppeteer');

const url = 'https://www.yourUrl.com/';

const getCookies = (callback) => {
    chrome.getCookies(url, 'puppeteer', function(err, cookies) {
        if (err) {
            console.log(err, 'error');
            return
        }
        console.log(cookies, 'cookies');
        callback(cookies);
    }, 'yourProfile') // e.g. 'Profile 2'
}

getCookies(async (cookies) => {
    const browser = await puppeteer.launch({
        headless: false
    });
    const page = await browser.newPage();

    await page.setCookie(...cookies);
    await page.goto(url);
    await page.waitFor(1000);
    browser.close();
});

Calling using async/await

const chrome = require('chrome-cookies-secure');
const url = 'https://www.yourUrl.com/';

const myFunction = async () => {
    const cookies = await chrome.getCookiesPromised(url, 'puppeteer', 'Profile 28')
    // ..... Use the cookies
}

Limitations

On OS X, this module requires Keychain Access to read the Google Chrome encryption key. The first time you use it, it will popup this dialog:

image

The SQLite database that Google Chrome stores its cookies is only persisted to every 30 seconds or so, so this can explain while you'll see a delay between which cookies your browser has access to and this module.

License

This software is free to use under the MIT license. See the LICENSE file for license text and copyright information.

Projets similaires

Extract and decrypt browser data, supporting multiple data types, runnable on various operating systems (macOS, Windows, Linux).

Gobrowserbrowser-extensionchrome
MmoonD4rk
14,6 k étoiles1,8 k

Borrow cookies from your browser's authenticated session for use in Python scripts.

Pythonchromecookiespython3
Nn8henrie
820 étoiles117

Dump cookies and credentials directly from Chrome/Edge process memory

C
MMeckazin
1,5 k étoiles136