rookie

Crates.iorookie
lib.rsrookie
version0.5.2
sourcesrc
created_at2023-09-28 02:09:57.78488
updated_at2024-07-07 12:28:32.086841
descriptionLoad cookie from your web browsers
homepagehttps://crates.io/crates/rookie
repositoryhttps://github.com/thewh1teagle/rookie
max_upload_size
id985474
size134,788
(thewh1teagle)

documentation

https://docs.rs/rookie/

README

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 like file locking
  • 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 07/08/24 07/08/24 07/08/24
Brave 01/10/23 25/11/23 01/10/23
Cachy 04/06/24 N/A N/A
Chromium 01/10/23 25/11/23 01/10/23
Chrome 01/10/23 25/11/23 16/03/24
Edge 01/10/23 - 01/10/23
Firefox 01/10/23 25/11/23 16/03/24
IE N/A N/A 01/10/23
LibreWolf 01/10/23 25/11/23 01/10/23
Opera 01/10/23 - 01/10/23
Opera GX N/A - 01/10/23
Safari N/A 02/10/23 N/A
Vivaldi 01/10/23 25/11/23 01/10/23

Credits 🙌

github.com/borisbabic/browser_cookie3

Commit count: 418

cargo fmt