Skip to content

Commit 7ea6830

Browse files
authored
feat(emulation): Add safari ios/ipad 26 emulation (#57)
1 parent 46bfd41 commit 7ea6830

12 files changed

Lines changed: 46 additions & 36 deletions

File tree

src/emulation/device/chrome/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ mod header;
77
use header::*;
88
use tls::*;
99

10-
use super::{emulation_imports::*, http2_imports::*, *};
10+
use super::*;
1111

1212
mod_generator!(
1313
v100,

src/emulation/device/chrome/tls.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::tls_imports::*;
1+
use super::*;
22

33
macro_rules! tls_options {
44
(@build $builder:expr) => {

src/emulation/device/firefox/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ mod header;
77
use header::*;
88
use tls::*;
99

10-
use super::{emulation_imports::*, http2_imports::*, *};
10+
use super::*;
1111

1212
macro_rules! mod_generator {
1313
(

src/emulation/device/firefox/tls.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::tls_imports::*;
1+
use super::*;
22

33
macro_rules! tls_options {
44
(@build $builder:expr) => {

src/emulation/device/mod.rs

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
//! Emulation for different browsers.
2-
#![allow(missing_debug_implementations)]
3-
#![allow(missing_docs)]
42
53
#[macro_use]
64
mod macros;
@@ -10,29 +8,20 @@ pub mod okhttp;
108
pub mod opera;
119
pub mod safari;
1210

13-
mod emulation_imports {
14-
#[cfg(all(feature = "gzip", feature = "deflate", feature = "brotli"))]
15-
pub use wreq::header::ACCEPT_ENCODING;
16-
pub use wreq::{
17-
Emulation,
18-
header::{ACCEPT, ACCEPT_LANGUAGE, HeaderMap, HeaderName, HeaderValue, USER_AGENT},
19-
http2::Http2Options,
20-
};
21-
22-
pub use crate::emulation::{EmulationOS, EmulationOption};
23-
}
24-
25-
mod tls_imports {
26-
pub use typed_builder::TypedBuilder;
27-
pub use wreq::tls::{
11+
pub use typed_builder::TypedBuilder;
12+
#[cfg(all(feature = "gzip", feature = "deflate", feature = "brotli"))]
13+
pub use wreq::header::ACCEPT_ENCODING;
14+
pub use wreq::{
15+
Emulation,
16+
header::{ACCEPT, ACCEPT_LANGUAGE, HeaderMap, HeaderName, HeaderValue, USER_AGENT},
17+
http2::{
18+
Http2Options, Priorities, Priority, PseudoId, PseudoOrder, SettingId, SettingsOrder,
19+
StreamDependency, StreamId,
20+
},
21+
tls::{
2822
AlpnProtocol, AlpsProtocol, CertificateCompressionAlgorithm, ExtensionType, TlsOptions,
2923
TlsVersion,
30-
};
31-
}
24+
},
25+
};
3226

33-
mod http2_imports {
34-
pub use wreq::http2::{
35-
Priorities, Priority, PseudoId, PseudoOrder, SettingId, SettingsOrder, StreamDependency,
36-
StreamId,
37-
};
38-
}
27+
pub use crate::emulation::{EmulationOS, EmulationOption};

src/emulation/device/okhttp/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use super::*;
2+
13
macro_rules! mod_generator {
24
($mod_name:ident, $cipher:expr, $ua:expr) => {
35
pub(crate) mod $mod_name {
@@ -9,8 +11,6 @@ macro_rules! mod_generator {
911
};
1012
}
1113

12-
use super::{emulation_imports::*, http2_imports::*, tls_imports::*};
13-
1414
const CURVES: &str = join!(":", "X25519", "P-256", "P-384");
1515

1616
const SIGALGS_LIST: &str = join!(

src/emulation/device/opera/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ mod header;
77
use header::*;
88
use tls::*;
99

10-
use super::{emulation_imports::*, http2_imports::*, *};
10+
use super::*;
1111

1212
mod_generator!(
1313
opera116,

src/emulation/device/opera/tls.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::tls_imports::*;
1+
use super::*;
22

33
macro_rules! tls_options {
44
($curves:expr) => {
@@ -12,7 +12,7 @@ macro_rules! tls_options {
1212
};
1313
}
1414

15-
pub const CURVES: &'static str = join!(":", "X25519MLKEM768", "X25519", "P-256", "P-384");
15+
pub const CURVES: &str = join!(":", "X25519MLKEM768", "X25519", "P-256", "P-384");
1616

1717
pub const CIPHER_LIST: &str = join!(
1818
":",

src/emulation/device/safari/mod.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ mod header;
77
use header::*;
88
use tls::*;
99

10-
use super::{emulation_imports::*, http2_imports::*, *};
10+
use super::*;
1111

1212
macro_rules! mod_generator {
1313
($mod_name:ident, $tls_options:expr, $http2_options:expr, $header_initializer:ident, $ua:expr) => {
@@ -208,3 +208,17 @@ mod_generator!(
208208
header_initializer_for_18,
209209
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15"
210210
);
211+
212+
mod_generator!(
213+
safari_ipad_26,
214+
safari26::build_emulation,
215+
header_initializer_for_18,
216+
"Mozilla/5.0 (iPad; CPU OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1"
217+
);
218+
219+
mod_generator!(
220+
safari_ios_26,
221+
safari26::build_emulation,
222+
header_initializer_for_18,
223+
"Mozilla/5.0 (iPhone; CPU iPhone OS 26_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1"
224+
);

src/emulation/device/safari/tls.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::tls_imports::*;
1+
use super::*;
22

33
macro_rules! tls_options {
44
(1, $cipher_list:expr) => {

0 commit comments

Comments
 (0)