@@ -36,8 +36,9 @@ use crate::handler::PageInner;
36
36
use crate :: javascript:: {
37
37
extract:: { FULL_XML_SERIALIZER_JS , OUTER_HTML } ,
38
38
spoofs:: {
39
- DISABLE_DIALOGS , GPU_SPOOF_SCRIPT , GPU_SPOOF_SCRIPT_MAC , HIDE_CHROME , HIDE_PERMISSIONS ,
40
- HIDE_WEBDRIVER , HIDE_WEBGL , HIDE_WEBGL_MAC , NAVIGATOR_SCRIPT , PLUGIN_AND_MIMETYPE_SPOOF ,
39
+ DISABLE_DIALOGS , GPU_REQUEST_ADAPTER , GPU_REQUEST_ADAPTER_MAC , GPU_SPOOF_SCRIPT ,
40
+ GPU_SPOOF_SCRIPT_MAC , HIDE_CHROME , HIDE_PERMISSIONS , HIDE_WEBDRIVER , HIDE_WEBGL ,
41
+ HIDE_WEBGL_MAC , NAVIGATOR_SCRIPT , PLUGIN_AND_MIMETYPE_SPOOF ,
41
42
} ,
42
43
} ;
43
44
use crate :: js:: { Evaluation , EvaluationResult } ;
@@ -79,32 +80,40 @@ pub enum AgentOs {
79
80
80
81
/// Generate the initial stealth script to send in one command.
81
82
fn build_stealth_script ( tier : Tier , os : AgentOs ) -> String {
82
- let spoof_gpu = if os == AgentOs :: Mac {
83
+ let mac_spoof = os == AgentOs :: Mac ;
84
+
85
+ let spoof_gpu = if mac_spoof {
83
86
GPU_SPOOF_SCRIPT_MAC
84
87
} else {
85
88
GPU_SPOOF_SCRIPT
86
89
} ;
87
90
88
- let spoof_webgl = if os == AgentOs :: Mac {
91
+ let spoof_webgl = if mac_spoof {
89
92
HIDE_WEBGL_MAC
90
93
} else {
91
94
HIDE_WEBGL
92
95
} ;
93
96
97
+ let spoof_gpu_adapter = if mac_spoof {
98
+ GPU_REQUEST_ADAPTER_MAC
99
+ } else {
100
+ GPU_REQUEST_ADAPTER
101
+ } ;
102
+
94
103
if tier == Tier :: Basic {
95
104
format ! (
96
- r#"{HIDE_CHROME};{spoof_webgl};{HIDE_PERMISSIONS};{NAVIGATOR_SCRIPT};{PLUGIN_AND_MIMETYPE_SPOOF};"#
105
+ r#"{HIDE_CHROME};{spoof_webgl};{spoof_gpu_adapter};{ HIDE_PERMISSIONS};{NAVIGATOR_SCRIPT};{PLUGIN_AND_MIMETYPE_SPOOF};"#
97
106
)
98
107
} else if tier == Tier :: BasicNoWebgl {
99
108
format ! (
100
109
r#"{HIDE_CHROME};{HIDE_PERMISSIONS};{NAVIGATOR_SCRIPT};{PLUGIN_AND_MIMETYPE_SPOOF};"#
101
110
)
102
111
} else if tier == Tier :: Mid {
103
112
format ! (
104
- r#"{HIDE_CHROME};{spoof_webgl};{HIDE_PERMISSIONS};{HIDE_WEBDRIVER};{NAVIGATOR_SCRIPT};{PLUGIN_AND_MIMETYPE_SPOOF};"#
113
+ r#"{HIDE_CHROME};{spoof_webgl};{spoof_gpu_adapter};{ HIDE_PERMISSIONS};{HIDE_WEBDRIVER};{NAVIGATOR_SCRIPT};{PLUGIN_AND_MIMETYPE_SPOOF};"#
105
114
)
106
115
} else if tier == Tier :: Full {
107
- format ! ( "{HIDE_CHROME};{spoof_webgl};{HIDE_PERMISSIONS};{HIDE_WEBDRIVER};{NAVIGATOR_SCRIPT};{PLUGIN_AND_MIMETYPE_SPOOF};{spoof_gpu};" )
116
+ format ! ( "{HIDE_CHROME};{spoof_webgl};{spoof_gpu_adapter};{ HIDE_PERMISSIONS};{HIDE_WEBDRIVER};{NAVIGATOR_SCRIPT};{PLUGIN_AND_MIMETYPE_SPOOF};{spoof_gpu};" )
108
117
} else {
109
118
Default :: default ( )
110
119
}
0 commit comments