Skip to main content

Crate http_quik

Crate http_quik 

Source
Expand description

§http-quik: High-Fidelity stealth transport engine

http-quik is a specialized HTTP transport library designed for absolute network identity parity with Google Chrome. It provides low-level control over the entire protocol stack—from TLS handshakes to HTTP/2 frame signaling—to ensure that every network interaction is indistinguishable from a real browser.

This crate is a core component of the Phantom Engine ecosystem and provides the high-stealth transport layer required for modern agentic navigation.

§Why http-quik?

Modern Anti-Bot systems (like Cloudflare, Akamai, and DataDome) use “Passive Fingerprinting” to identify automated traffic. They inspect:

  1. TLS Fingerprint (JA3/JA4): The order of cipher suites, extensions, and elliptic curves.
  2. HTTP/2 Fingerprint (Akamai): The SETTINGS frame values, the order of pseudo-headers, and stream priority.

http-quik solves this by using a custom BoringSSL stack and a specialized HTTP/2 builder to replicate these fingerprints with bit-perfect accuracy.

§Core Features

  • BoringSSL Integration: Full control over ClientHello, including GREASE and extension permutation.
  • Chrome 134 Identity: Pre-configured profiles for the latest Chrome stable releases.
  • Connection Pooling: Managed H2 session reuse to maintain consistent behavioral fingerprints.
  • Stealth Redirects: A redirect state machine that handles sec-fetch-* headers and method rotation identical to Chromium.

§Getting Started

use http_quik::{Client, ChromeProfile, Platform};

#[tokio::main]
async fn main() -> Result<(), http_quik::Error> {
    // Create a client with a macOS Chrome 134 identity
    let client = Client::builder()
        .profile(http_quik::profile::chrome_134::profile(Platform::MacOsArm))
        .build()?;

    // Execute a stealth request
    let response = client.get("https://example.com").await?;
    println!("Status: {}", response.status());
     
    Ok(())
}

§Safety & FFI

This crate uses boring and boring-sys for low-level TLS control. All unsafe blocks are localized to the tls and client modules and are documented with safety rationales.

§Changelog

For recent updates and release notes, please see the CHANGELOG.md on GitHub.

Re-exports§

pub use crate::client::connect;
pub use crate::client::Client;
pub use crate::client::ClientBuilder;
pub use crate::client::Response;
pub use crate::error::Error;
pub use crate::error::Result;
pub use crate::profile::chrome_134::AKAMAI_FINGERPRINT;
pub use crate::profile::chrome_134::JA3_HASH;
pub use crate::profile::ChromeProfile;
pub use crate::profile::Platform;

Modules§

client
error
Unified error surface for the quik transport stack.
profile
Data-only definitions for Chrome transport identities.