wreq 1.2.14 → 1.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9d959831cb8e18b4615af45265459779489d427c028879a8730668fd45882ccf
4
- data.tar.gz: 1979a1b7207b7655988bad7d7f0b489671d8d2f954950cdc98996616cd20bc74
3
+ metadata.gz: cb297a1d40048f6a29833fe7eb1a8248e1460825be97802d82aece4e922b1b6a
4
+ data.tar.gz: eb8042d063690fa100cc63249f041e17724b5e8113c0611acb8c819d4ecc2afd
5
5
  SHA512:
6
- metadata.gz: 685dbec532a27d62840e5dca70888f17ac1da268bf564ccdb1efbc399068df06bcf4e79c3e2db0c4d7d74f534d3a9b435595681708d4bccbbf44d8535889d70f
7
- data.tar.gz: ec607cbbc36f30e79792c33fda253ebf2ee0257a19941a18c2f1af1074232932b96f9bc4699f9b4f3a7f61f7496aeb0d618d275873cde01cc0ac8b1db9049529
6
+ metadata.gz: 3e781f223de45ef1ad4b92c17d2af10e2060a2de89e940a69d5a4cab4fd3a8e3ec96c96d1553ab22bc782304596a2bc15403124b324e0dbc4fab41c48256212e
7
+ data.tar.gz: ca634efa4d997c7f96099929ff3b5163cc2fb236d9ba49f8502a99811dda441636ed05b1d05c89e58e1ee4e8954a97a47420963fe4f568c7cd4682f194c6adf2
data/Cargo.lock CHANGED
@@ -1490,7 +1490,7 @@ dependencies = [
1490
1490
 
1491
1491
  [[package]]
1492
1492
  name = "wreq-ruby"
1493
- version = "1.2.14"
1493
+ version = "1.2.15"
1494
1494
  dependencies = [
1495
1495
  "arc-swap",
1496
1496
  "bytes",
data/Cargo.toml CHANGED
@@ -5,7 +5,7 @@ authors = ["SearchApi <support@searchapi.io>"]
5
5
  homepage = "https://github.com/SearchApi/wreq-ruby"
6
6
  repository = "https://github.com/SearchApi/wreq-ruby"
7
7
  edition = "2024"
8
- version = "1.2.14"
8
+ version = "1.2.15"
9
9
  rust-version = "1.98"
10
10
 
11
11
  [lib]
data/README.md CHANGED
@@ -93,7 +93,7 @@ Most browser device models share identical TLS and HTTP/2 configurations, differ
93
93
  | ----------- | ------------ |
94
94
  | **Chrome** | `Chrome100`, `Chrome101`, `Chrome104`, `Chrome105`, `Chrome106`, `Chrome107`, `Chrome108`, `Chrome109`, `Chrome110`, `Chrome114`, `Chrome116`, `Chrome117`, `Chrome118`, `Chrome119`, `Chrome120`, `Chrome123`, `Chrome124`, `Chrome126`, `Chrome127`, `Chrome128`, `Chrome129`, `Chrome130`, `Chrome131`, `Chrome132`, `Chrome133`, `Chrome134`, `Chrome135`, `Chrome136`, `Chrome137`, `Chrome138`, `Chrome139`, `Chrome140`, `Chrome141`, `Chrome142`, `Chrome143`, `Chrome144`, `Chrome145`, `Chrome146`, `Chrome147`, `Chrome148`, `Chrome149`, `Chrome150`, `Chrome151`, `Chrome152`, `Chrome153` |
95
95
  | **Edge** | `Edge101`, `Edge122`, `Edge127`, `Edge131`, `Edge134`, `Edge135`, `Edge136`, `Edge137`, `Edge138`, `Edge139`, `Edge140`, `Edge141`, `Edge142`, `Edge143`, `Edge144`, `Edge145`, `Edge146`, `Edge147`, `Edge148` |
96
- | **Firefox** | `Firefox109`, `Firefox117`, `Firefox128`, `Firefox133`, `Firefox135`, `FirefoxPrivate135`, `FirefoxAndroid135`, `Firefox136`, `FirefoxPrivate136`, `Firefox139`, `Firefox142`, `Firefox143`, `Firefox144`, `Firefox145`, `Firefox146`, `Firefox147`, `Firefox148`, `Firefox149`, `Firefox150`, `Firefox151` |
96
+ | **Firefox** | `Firefox109`, `Firefox117`, `Firefox128`, `Firefox133`, `Firefox135`, `FirefoxPrivate135`, `FirefoxAndroid135`, `Firefox136`, `FirefoxPrivate136`, `Firefox139`, `Firefox142`, `Firefox143`, `Firefox144`, `Firefox145`, `Firefox146`, `Firefox147`, `Firefox148`, `Firefox149`, `Firefox150`, `Firefox151`, `Firefox152` |
97
97
  | **Safari** | `Safari15_3`, `Safari15_5`, `Safari15_6_1`, `Safari16`, `Safari16_5`, `Safari17_0`, `Safari17_2_1`, `Safari17_4_1`, `Safari17_5`, `Safari17_6`, `Safari18`, `Safari18_2`, `Safari18_3`, `Safari18_3_1`, `Safari18_5`, `Safari26`, `Safari26_1`, `Safari26_2`, `SafariIos16_5`, `SafariIos17_2`, `SafariIos17_4_1`, `SafariIos18_1_1`, `SafariIos26`, `SafariIos26_2`, `SafariIPad18`, `SafariIPad26`, `SafariIpad26_2` |
98
98
  | **OkHttp** | `Opera116`, `Opera117`, `Opera118`, `Opera119`, `Opera120`, `Opera121`, `Opera122`, `Opera123`, `Opera124`, `Opera125`, `Opera126`, `Opera127`, `Opera128`, `Opera129`, `Opera130` |
99
99
  | **Opera** | `Opera116`, `Opera117`, `Opera118`, `Opera119` |
@@ -12,6 +12,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
12
12
  - *(emulate)* Add Chrome 151 profile.
13
13
  - *(emulate)* Add Chrome 152 profile.
14
14
  - *(emulate)* Add Chrome 153 profile.
15
+ - *(emulate)* Add Firefox 152 profile.
16
+
17
+ ### Fixed
18
+
19
+ - *(emulate)* Fix Firefox 150 and 151 cipher suite lists.
15
20
 
16
21
  ## [3.0.0-rc.14](https://github.com/0x676e67/wreq-util/compare/v3.0.0-rc.13...v3.0.0-rc.14) - 2026-07-04
17
22
 
@@ -124,6 +124,26 @@ pub const CIPHER_LIST_2: &str = join!(
124
124
  "TLS_RSA_WITH_AES_256_CBC_SHA"
125
125
  );
126
126
 
127
+ pub const CIPHER_LIST_3: &str = join!(
128
+ ":",
129
+ "TLS_AES_128_GCM_SHA256",
130
+ "TLS_CHACHA20_POLY1305_SHA256",
131
+ "TLS_AES_256_GCM_SHA384",
132
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
133
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
134
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
135
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
136
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
137
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
138
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
139
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
140
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
141
+ "TLS_RSA_WITH_AES_128_GCM_SHA256",
142
+ "TLS_RSA_WITH_AES_256_GCM_SHA384",
143
+ "TLS_RSA_WITH_AES_128_CBC_SHA",
144
+ "TLS_RSA_WITH_AES_256_CBC_SHA"
145
+ );
146
+
127
147
  pub const SIGALGS_LIST: &str = join!(
128
148
  ":",
129
149
  "ecdsa_secp256r1_sha256",
@@ -463,7 +463,8 @@ mod_generator!(
463
463
 
464
464
  mod_generator!(
465
465
  ff150,
466
- ff135::build_emulation,
466
+ tls_options!(4, CIPHER_LIST_3, CURVES_2, KEY_SHARES_2),
467
+ http2_options!(1),
467
468
  header_initializer_with_zstd,
468
469
  [
469
470
  (
@@ -491,7 +492,7 @@ mod_generator!(
491
492
 
492
493
  mod_generator!(
493
494
  ff151,
494
- ff135::build_emulation,
495
+ ff150::build_emulation,
495
496
  header_initializer_with_zstd,
496
497
  [
497
498
  (
@@ -516,3 +517,31 @@ mod_generator!(
516
517
  )
517
518
  ]
518
519
  );
520
+
521
+ mod_generator!(
522
+ ff152,
523
+ ff150::build_emulation,
524
+ header_initializer_with_zstd,
525
+ [
526
+ (
527
+ Windows,
528
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:152.0) Gecko/20100101 Firefox/152.0"
529
+ ),
530
+ (
531
+ MacOS,
532
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:152.0) Gecko/20100101 Firefox/152.0"
533
+ ),
534
+ (
535
+ Linux,
536
+ "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:152.0) Gecko/20100101 Firefox/152.0"
537
+ ),
538
+ (
539
+ Android,
540
+ "Mozilla/5.0 (Android 13; Mobile; rv:152.0) Gecko/152.0 Firefox/152.0"
541
+ ),
542
+ (
543
+ IOS,
544
+ "Mozilla/5.0 (iPhone; CPU iPhone OS 18_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/152.0 Mobile/15E148 Safari/605.1.15"
545
+ )
546
+ ]
547
+ );
@@ -125,6 +125,7 @@ define_enum!(
125
125
  Firefox149 => ("firefox_149", ff149::emulation),
126
126
  Firefox150 => ("firefox_150", ff150::emulation),
127
127
  Firefox151 => ("firefox_151", ff151::emulation),
128
+ Firefox152 => ("firefox_152", ff152::emulation),
128
129
 
129
130
  // Safari versions
130
131
  SafariIos17_2 => ("safari_ios_17.2", safari_ios_17_2::emulation),
@@ -90,3 +90,24 @@ test_emulation!(
90
90
  ["t13d1717h2_5b57614c22b0_3cbfd9057e0d"],
91
91
  "6ea73faa8fc5aac76bded7bd238f6433"
92
92
  );
93
+
94
+ test_emulation!(
95
+ test_firefox_150,
96
+ Emulation::Firefox150,
97
+ ["t13d1617h2_86a278354501_3cbfd9057e0d"],
98
+ "6ea73faa8fc5aac76bded7bd238f6433"
99
+ );
100
+
101
+ test_emulation!(
102
+ test_firefox_151,
103
+ Emulation::Firefox151,
104
+ ["t13d1617h2_86a278354501_3cbfd9057e0d"],
105
+ "6ea73faa8fc5aac76bded7bd238f6433"
106
+ );
107
+
108
+ test_emulation!(
109
+ test_firefox_152,
110
+ Emulation::Firefox152,
111
+ ["t13d1617h2_86a278354501_3cbfd9057e0d"],
112
+ "6ea73faa8fc5aac76bded7bd238f6433"
113
+ );
@@ -106,6 +106,7 @@ module Wreq
106
106
  Firefox149 = nil
107
107
  Firefox150 = nil
108
108
  Firefox151 = nil
109
+ Firefox152 = nil
109
110
 
110
111
  SafariIos17_2 = nil
111
112
  SafariIos17_4_1 = nil
data/src/emulate.rs CHANGED
@@ -131,6 +131,7 @@ define_ruby_enum!(
131
131
  Firefox149,
132
132
  Firefox150,
133
133
  Firefox151,
134
+ Firefox152,
134
135
 
135
136
  SafariIos17_2,
136
137
  SafariIos17_4_1,
@@ -18,10 +18,11 @@ class EmulationTest < Minitest::Test
18
18
  assert_instance_of Wreq::Emulation, Wreq::Emulation.new(profile: profile)
19
19
  end
20
20
 
21
- def test_new_chrome_profiles_are_available
21
+ def test_new_browser_profiles_are_available
22
22
  {
23
23
  Wreq::Profile::Chrome152 => "Chrome152",
24
- Wreq::Profile::Chrome153 => "Chrome153"
24
+ Wreq::Profile::Chrome153 => "Chrome153",
25
+ Wreq::Profile::Firefox152 => "Firefox152"
25
26
  }.each do |profile, name|
26
27
  assert_equal name, profile.to_s
27
28
  assert_instance_of Wreq::Emulation, Wreq::Emulation.new(profile: profile)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wreq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.14
4
+ version: 1.2.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - SearchApi