Skip to content

thewh1teagle/rookie

Repository files navigation

rookie

PyPi Downloads PyPi Version NPM Version Crates License

Load cookies from any browser on any platform

Features 🚀

  • Available for Rust, Python, and JavaScript
  • Ensures type safety (e.g., TypeScript, Python with type hints)
  • Super Fast, Built with Rust
  • Bypass Chrome restriction of file locking and appbound encryption (requires admin rights on Windows from v130.x)
  • Read session cookies from Chrome based browsers! (requires admin rights on Windows)
  • Wide browsers support
  • Cross-platform support for Windows, Linux, and macOS

Usage ⚙️

Rust

cargo add rookie

Create main.rs with the following

use rookie::brave;

fn main() {
    let domains = vec!["google.com"];
    let cookies = brave(Some(domains)).unwrap();
    for cookie in cookies {
        println!("{:?}", cookie);
    }
}

Python

pip install rookiepy

And the usage it similar to Rust

import rookiepy
cookies = rookiepy.firefox(["google.com"])
for cookie in cookies:
    print(cookie['domain'], cookie['value'])

JavaScript

npm install @rookie-rs/api
import { brave } from "@rookie-rs/api";
const cookies = brave();
for (const cookie of cookies) {
  console.log(cookie);
}

Examples 📋

Rust examples/rust

Python examples/python

JavaScript examples/javascript

Docs 📘

Rust

Python

JavaScript

CLI 💻

You can use rookie as a CLI tool which will decrypt the cookies and print it as JSON
See cli folder

Contribute 🤝

So far the following platforms are supported:

  • Arc: Linux, macOS, Windows
  • Brave: Linux, macOS, Windows
  • Cachy: Linux
  • Chrome: Linux, macOS, Windows
  • Chromium: Linux, macOS, Windows
  • Edge: Linux, macOS, Windows
  • Firefox: Linux, macOS, Windows
  • Internet Explorer: Windows
  • LibreWolf: Linux, macOS, Windows
  • Opera: Linux, macOS, Windows
  • Opera GX: macOS, Windows
  • Safari: macOS
  • Vivaldi: Linux, macOS, Windows

You are welcome to contribute support for other browsers, or other platforms.

Support new browsers 🌐

If you have a browser with which the library isn't working with, it may not have been added to the list of supported browsers configs. You can create a pull request (PR) or an issue with the path to the cookies file on your computer, and I will add it.

look at src/windows/config.rs to see what configurations is needed.

Testing Dates (DD/MM/YY) 📅

Browser Linux macOS Windows
Arc 2024/08/07 2024/08/07 2024/08/07
Brave 2024/10/26 2024/10/26 2024/10/26
Cachy 2024/06/04 N/A N/A
Chromium 2024/10/26 2024/10/26 2023/10/01
Chrome 2024/10/26 2024/10/26 2024/03/16
Edge 2023/10/01 - 2023/10/01
Firefox 2024/10/26 2023/11/25 2024/03/16
IE N/A N/A 23/10/01
LibreWolf 2023/10/01 2023/11/25 23/10/01
Opera 2023/10/01 - 23/10/01
Opera GX N/A - 23/10/01
Safari N/A 2023/11/25 N/A
Vivaldi 2023/10/01 2023/11/25 2023/10/01

Credits 🙌

github.com/borisbabic/browser_cookie3