Socket
Socket
Sign inDemoInstall

chrome-cookies-secure

Package Overview
Dependencies
7
Maintainers
3
Versions
21
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

chrome-cookies-secure

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


Version published
Weekly downloads
5.1K
increased by58.25%
Maintainers
3
Install size
22.3 MB
Created
Weekly downloads
 

Readme

Source

chrome-cookies-secure

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

Installation

npm install chrome-cookies-secure

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:

formatdescription
curlNetscape HTTP Cookie File contents usable by curl and wget
jarcookie jar compatible with request
set-cookieArray of Set-Cookie header values
headercookie header string, similar to what a browser would send
puppeteeran 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);
});

jar used with request

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

chrome.getCookies('https://www.example.com/', 'jar', function(err, jar) {
	request({url: 'https://www.example.com/', jar: jar}, function (err, response, body) {
		console.log(body);
	});
});

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.

Keywords

FAQs

Last updated on 10 Jun 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc