Skip to content

Add wreq to HTTP Clients and tools#1188

Open
ZilvinasKucinskas wants to merge 1 commit intomarkets:masterfrom
SearchApi:add-wreq
Open

Add wreq to HTTP Clients and tools#1188
ZilvinasKucinskas wants to merge 1 commit intomarkets:masterfrom
SearchApi:add-wreq

Conversation

@ZilvinasKucinskas
Copy link

wreq is the first production-ready Ruby HTTP client with real browser TLS/HTTP2 fingerprinting. It emulates exact signatures of Chrome, Firefox, Safari, Edge, Opera, and OkHttp.

Modern anti-bot systems identify HTTP clients by their TLS and HTTP2 fingerprints (JA3/JA4). Every HTTP client currently listed in this section — Faraday, HTTParty, HTTP, HTTPX, Typhoeus, Patron, RESTClient, excon — relies on either OpenSSL or libcurl compiled with OpenSSL. Even curl-based libraries like Typhoeus and Patron inherit curl's TLS stack limitations. None of them provide control over TLS extension ordering, cipher suite ordering, or HTTP/2 frame settings needed to match real browser signatures.

wreq-ruby solves this using BoringSSL (the same TLS library Chrome uses), powered by Rust via the wreq crate, built in collaboration with the original maintainer.

  • Pre-compiled native gems for Linux (x86_64, aarch64) and macOS (arm64) — no Rust toolchain needed
  • Supports the latest Ruby versions
  • Used in production at SearchApi, where we are actively investing in its development and long-term support

@randybb
Copy link

randybb commented Mar 1, 2026

429 downloads on rubygems :)) min is 30k. read the guidelines first before posting

@ZilvinasKucinskas
Copy link
Author

Thanks @randybb. 🙇 Fair point on the downloads. We just released the gem on February 19th, so it's brand new on RubyGems.

The guidelines also say "generally used and useful to the community" - we believe wreq-ruby qualifies on the quality side:

  • It's the first and only Ruby HTTP client with real browser TLS/HTTP2 fingerprinting. No other library in this section offers that capability. Ruby never had a production grade library for scraping. So this is our gift to the Ruby community.
  • Built on the wreq Rust crate (653 stars, 403k+ downloads), in collaboration with its original author. The Python equivalent, rnet (1,244 stars), has already seen widespread adoption.
  • CI-tested on Ruby 3.3, 3.4, and 4.0, with pre-compiled native gems for Linux and macOS.
  • Used in production at SearchApi and actively maintained.

Happy to keep the PR open and revisit once downloads grow, or leave it to the maintainers to decide. Appreciate the feedback either way.

@randybb
Copy link

randybb commented Mar 1, 2026

It is too young. The reason is simple - you might abandon your project soon, but a project with a big userbase has a higher probability for a longer life. It is sad, as ruby has a loot of interesting libs which nobody touched for many years.

@ZilvinasKucinskas
Copy link
Author

Thanks for the perspective @randybb. wreq-ruby is backed by SearchApi - we use it in production at scale and are actively sponsoring its development and maintenance. This isn't a side project that will be abandoned. We'd prefer to leave the final call to the maintainers.

@markets
Copy link
Owner

markets commented Mar 1, 2026

Thanks @randybb for helping!

@ZilvinasKucinskas I just took a quick look and it seems a promising project, but too fresh for this list. This collection lists more mature projects. They should be somehow relevant in the Ruby ecosystem, and checking downloads seems the best-simple way to achieve it. No prob to keep it open for some time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants