You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update README with SearchApi branding, fix references, and sync emulations
- Add SearchApi logo with dark/light theme support
- Fix `rnet` reference to `wreq` (copy-paste from Python bindings)
- Add missing emulation profiles: Chrome144/145, Edge143-145, Firefox147, Safari17_6
- Add Edge to tagline (16 emulation profiles were unlisted)
- Add Installation section and Gem Version badge
- Rename title to `wreq` (matches gem name), sections to "Browser Emulation" and "Contributing"
- Clean up filler prose and update example to Chrome145
- Fix gemspec: homepage, summary, description, documentation_uri, duplicate rdoc_options
- Fix Cargo.toml homepage to point to repo
An easy and powerful Ruby HTTP client with advanced browser fingerprinting that accurately emulates **Chrome**, **Firefox**, **Safari**, **Opera**, and **OkHttp**, with precise **TLS/HTTP2** signatures, and powered by [wreq](https://github.com/0x676e67/wreq).
6
-
6
+
An easy and powerful Ruby HTTP client with browser fingerprinting. Emulates **Chrome**, **Edge**, **Firefox**, **Safari**, **Opera**, and **OkHttp** with precise TLS/HTTP2 signatures, powered by [wreq](https://github.com/0x676e67/wreq).
7
7
8
8
## Features
9
9
10
-
- Plain bodies, JSON, urlencoded,
10
+
- Plain bodies, JSON, urlencoded
11
11
- Cookie Store
12
12
- Redirect Policy
13
13
- Original Headers
@@ -18,22 +18,28 @@
18
18
- Free-Threaded Safety
19
19
- Automatic Decompression
20
20
21
-
## Example
22
-
23
-
This example demonstrates how to make a simple GET request using the `wreq` library. So you need install `wreq` and run the following code:
21
+
## Installation
24
22
25
23
```bash
26
24
gem install wreq
27
25
```
28
26
29
-
And then the code:
27
+
Or add to your Gemfile:
28
+
29
+
```ruby
30
+
gem "wreq"
31
+
```
32
+
33
+
Pre-compiled native gems are available for Linux (x86_64, aarch64) and macOS (arm64).
Due to the complexity of TLS encryption and the widespread adoption of HTTP/2, browser fingerprints such as **JA3**, **JA4**, and **Akamai** cannot be reliably emulated using simple fingerprint strings. Instead of parsing and emulating these string-based fingerprints, `rnet` provides fine-grained control over TLS and HTTP/2 extensions and settings for precise browser behavior emulation.
63
+
Due to the complexity of TLS encryption and the widespread adoption of HTTP/2, browser fingerprints such as **JA3**, **JA4**, and **Akamai** cannot be reliably emulated using simple fingerprint strings. Instead of parsing and emulating these string-based fingerprints, `wreq` provides fine-grained control over TLS and HTTP/2 extensions and settings for precise browser behavior emulation.
58
64
59
65
2.**Device Emulation**
60
66
@@ -72,17 +78,20 @@ Most browser device models share identical TLS and HTTP/2 configurations, differ
72
78
|**iOS**| iOS (iPhone/iPad) |
73
79
74
80
</details>
81
+
82
+
<!-- Emulation profiles sourced from src/emulation.rs - keep in sync -->
# Option 2: Build pre-compiled platform gem (recommended for distribution)
109
-
# This creates a platform-specific gem (e.g., wreq-0.1.0-arm64-darwin.gem)
118
+
# This creates a platform-specific gem (e.g., wreq-0.1.0-arm64-darwin.gem)
110
119
# with pre-compiled binaries. Users can install quickly without build environment.
111
120
bundle exec rake compile
112
121
bundle exec rake native gem
113
122
gem install pkg/wreq-*.gem
114
123
115
124
# Development workflow
116
125
bundle exec rake compile # Compile for development/testing
117
-
bundle exec rake test# Run tests
126
+
bundle exec rake test# Run tests
118
127
bundle exec ruby examples/body.rb # Run examples without installing
119
128
```
120
129
121
130
## License
122
131
123
132
Licensed under either of Apache License, Version 2.0 ([LICENSE](./LICENSE) or http://www.apache.org/licenses/LICENSE-2.0).
124
133
125
-
## Contribution
134
+
## Contributing
126
135
127
136
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the [Apache-2.0](./LICENSE) license, shall be licensed as above, without any additional terms or conditions.
0 commit comments