Docs.rs
  • decrypt-cookies-0.10.1
    • decrypt-cookies 0.10.1
    • Permalink
    • Docs.rs crate page
    • LGPL-3.0-or-later
    • Links
    • Homepage
    • Repository
    • crates.io
    • Source
    • Owners
    • saying121
    • Dependencies
      • binary-cookies ^0.3 normal optional
      • chromium-crypto ^0.4 normal
      • chrono ^0.4 normal
      • dirs ^6 normal
      • rayon ^1 normal optional
      • reqwest ^0.12 normal optional
      • rust-ini ^0.21 normal optional
      • sea-orm ^1 normal optional
      • serde ^1 normal optional
      • snafu ^0.8 normal
      • tokio ^1 normal
      • tracing ^0.1 normal optional
      • anyhow ^1 dev
      • reqwest ^0.12 dev
      • tokio ^1 dev
      • tracing ^0.1 dev
      • tracing-subscriber ^0.3 dev
      • const_format ^0.2 normal
      • anyhow ^1 normal optional
      • rawcopy-rs-next ^0.1.3 normal optional
    • Versions
    • 47% of the crate is documented
  • Platform
    • i686-unknown-linux-gnu
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Badges
    • Builds
    • Metadata
    • Shorthand URLs
    • Download
    • Rustdoc JSON
    • Build queue
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate decrypt_cookies

decrypt_cookies0.10.1

  • All Items

Sections

  • Decrypt Cookies
    • Example
    • To add a new browser
    • Test Status
    • TODO
    • Credits

Crate Items

  • Modules

Crates

  • decrypt_cookies

Crate decrypt_cookies

Source
Expand description

§Decrypt Cookies

  • Decrypt Cookies
    • Example
    • To add a new browser
    • Test Status
    • TODO
    • Credits

§Example

Easily make a request using the authorization data from your browser.

See: reqwest

use std::sync::Arc;

use decrypt_cookies::{chromium::GetCookies, prelude::*};
use reqwest::cookie::Jar;
use snafu::{ResultExt, Whatever};

#[snafu::report]
#[tokio::main]
async fn main() -> Result<(), Whatever> {
    let chromium = ChromiumBuilder::<Chrome>::new()
        .build()
        .await
        .whatever_context("Chromium build failed")?;
    let all_cookies: Jar = chromium
        .cookies_all()
        .await
        .whatever_context("Get cookies failed")?
        .into_iter()
        .collect();

    let client = reqwest::Client::builder()
        .cookie_provider(Arc::new(all_cookies))
        .build()
        .whatever_context("reqwest Client build failed")?;

    let resp = client
        .get("https://www.rust-lang.org")
        .send()
        .await
        .whatever_context("Get send failed")?
        .text()
        .await
        .whatever_context("get text failed")?;
    println!("{resp}");

    Ok(())
}

§To add a new browser

BASE: A browser all data location relative to home dir. COOKIES, LOGIN_DATA, KEY: Relative to BASE path. NAME: browser name

Implement ChromiumInfo, FirefoxPath trait.

§Test Status

[!NOTE]

These are the latest status updates, not the released status. Please check out the newest tag for the released status.

  • Linux:
BrowserCookiesPasswdTest DateVersion
Firefox🔑🚫2025-07-19140.0.4
Librewolf🔑🚫2025-07-19140.0.2-1
Floorp🔑🚫2025-07-19141.0
Zen🔑🚫2025-08-021.14.5b
Chrome🔑🔑2025-07-19138.0.7204.157
Edge🔑🔑2025-07-19138.0.3351.95
Chromium🔑🔑2025-07-19138.0.7204.157
Brave🔑🔑2025-07-19138.1.80.122
Yandex🔑🚫2025-07-1925.4.1.1213
Vivaldi🔑🔑2025-07-197.5.3735.54
Opera🔑🔑2025-07-19120.0.5543.93
  • Windows:
BrowserCookiesPasswdTest DateVersion
Firefox🔑🚫2025-07-20140.0.4
Librewolf🔑🚫2025-07-20140.0.4-1
Floorp🔑🚫2025-07-2011.28.0
Zen🔑🚫2025-08-021.14.9b
Chrome🔑🔑2025-07-20138.0.7204.158
Edge🔑🔑2025-07-20138.0.3351.95
Chromium🔑🔑2025-07-20138.0.7204.158
Brave🔑🔑2025-07-20138.1.80.122
Yandex🔑🚫2025-07-2025.6.2.425
Vivaldi🔑🔑2025-07-207.5.3735.54
Opera🔑🔑2025-07-20120.0.5543.93
OperaGX🔑🔑2025-07-20119.0.5497.186
CocCoc🔑🔑2025-07-20137.0.7151.124
Arc🔑🔑2025-07-201.62.0.172
  • Macos:
BrowserCookiesPasswdTest DateVersion
Firefox🔑🚫2025-07-19140.0.4
Librewolf🔑🚫2025-07-19140.0.4,1
Floorp🔑🚫2025-07-1912.0.15
Zen🔑🚫2025-08-021.14.9b
Chrome🔑🔑2025-07-19138.0.7204.158
Edge🔑🔑2025-07-19138.0.3351.95,70a9712a-3712-420f-a3f0-8f2032f1c838
Chromium🔑🔑2025-07-19140.0.7306.0
Brave🔑🔑2025-07-191.80.122.0
Yandex🔑🚫2025-07-1925.6.0.2391,84025
Vivaldi🔑🔑2025-07-197.5.3735.54
Opera🔑🔑2025-07-19120.0.5543.93
OperaGX🔑🔑2025-07-19120.0.5543.85
CocCoc🔑🔑2025-07-19136.0.7103.154
Arc🔑🔑2025-07-191.104.0,65533
Safari🔑🚫2025-07-19

§TODO

  • Decrypt firefox passwd.

§Credits

  • HackBrowserData

Modules§

browser
chromium
firefox
prelude

Results

Settings
Help

Type "ChromiumInfo" not found. Showing results for closest type name "chromiumpath" instead.

No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.