diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d31ea7..b8f8c60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,53 @@ All notable changes to this project will be documented in this file. ## [unreleased] +### 🚀 Features + +- *(client)* Simplify client configuration (#110) +- *(tls)* Add `CA Certificate` settings (#112) + +### 🚜 Refactor + +- *(tls)* Refactor TLS connection layer configuration (#111) + +### Deps + +- *(boring/hyper/h2)* Migration patch crate name (#109) + +## [0.20.10] - 2024-08-10 + +### 🚀 Features + +- *(http2)* Add headers frame default priority (#106) +- *(tls)* Reuse https connector layer (#107) + +### 🎨 Styling + +- *(tls)* Remove unused closure + +### ◀️ Revert + +- *(tls)* Revert tls_built_in_root_certs option (#105) + +## [0.20.1] - 2024-08-08 + +### 🚀 Features + +- *(client)* Simplify the header configuration process +- *(extension)* Set application protocol (ALPN) for http1 (#104) + ### 🐛 Bug Fixes - *(tls)* Fix setting config TLS version +### 🚜 Refactor + +- *(tls)* Simplify TLS connector configuration (#103) + +### ◀️ Revert + +- *(client)* Remove use of unused TLS Server Name Indication + ### Deps - *(system-configuration)* V0.6.0 diff --git a/Cargo.toml b/Cargo.toml index f07fce3..556cb00 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rquest" -version = "0.20.10" +version = "0.20.20" description = "An fast asynchronous Rust Http/WebSocket Client with TLS/JA3/JA4/HTTP2 fingerprint impersonate" keywords = ["http", "request", "client", "websocket", "ja3"] categories = ["web-programming::http-client"] diff --git a/README.md b/README.md index 8702eb5..4bac4fb 100644 --- a/README.md +++ b/README.md @@ -7,21 +7,21 @@ An fast asynchronous Rust `Http`/`WebSocket` Client with `TLS`/`JA3`/`JA4`/`HTTP2` fingerprint impersonate -- `Async` and `blocking` Clients +- `Async` or `blocking` Clients - `Plain`, `JSON`, `urlencoded`, `multipart` bodies +- Customizable `headers` order - Customizable `redirect` policy - Cookie Store - `HTTP`/`HTTPS`/`SOCKS5` Proxies - `HTTPS`/`WebSocket` via [BoringSSL](https://github.com/cloudflare/boring) +- `JA3`/`JA4`/`HTTP2` fingerprint - Impersonate `Chrome`/`Safari`/`Edge`/`OkHttp` -- [Changelog](CHANGELOG.md) Additional learning resources include: - [API Documentation](https://docs.rs/rquest) - [Repository Examples](https://github.com/0x676e67/rquest/tree/master/examples) - ## Usage This asynchronous example uses [Tokio](https://tokio.rs) and enables some @@ -32,7 +32,7 @@ optional features, so your `Cargo.toml` could look like this: ```toml [dependencies] tokio = { version = "1", features = ["full"] } -rquest = "0.11" +rquest = "0.20" ``` ```rust,no_run @@ -41,9 +41,9 @@ use rquest::tls::Impersonate; #[tokio::main] async fn main() -> Result<(), Box> { - // Build a client to mimic Chrome123 + // Build a client to mimic Edge127 let client = rquest::Client::builder() - .impersonate(Impersonate::Chrome123) + .impersonate(Impersonate::Edge127) .enable_ech_grease() .permute_extensions() .cookie_store(true) @@ -62,7 +62,7 @@ async fn main() -> Result<(), Box> { ```toml [dependencies] tokio = { version = "1", features = ["full"] } -rquest = { version = "0.11", features = ["websocket"] } +rquest = { version = "0.20", features = ["websocket"] } ``` ```rust,no_run diff --git a/src/lib.rs b/src/lib.rs index f4797dd..ac34bb6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,11 +9,14 @@ //! //! - Async and [blocking] Clients //! - Plain bodies, [JSON](#json), [urlencoded](#forms), [multipart], [websocket](#websocket) +//! - Customizable `headers` order //! - Customizable [redirect policy](#redirect-policies) //! - HTTP [Proxies](#proxies) //! - Uses BoringSSL [TLS](#tls) //! - [Impersonate](#impersonate) Chrome / Safari / Edge / OkHttp //! - Cookies +//! - `JA3`/`JA4`/`HTTP2` fingerprint +//! - Bespoke headers order configuration //! - [Changelog](https://github.com/0x676e67/rquest/blob/main/CHANGELOG.md) //! //! Additional learning resources include: