use super::tls::OkHttpTlsSettings;
use crate::tls::impersonate::ImpersonateSettings;
use crate::tls::TlsResult;
use http::{
header::{ACCEPT, ACCEPT_ENCODING, ACCEPT_LANGUAGE, USER_AGENT},
HeaderMap, HeaderValue,
};
pub(crate) fn get_settings() -> TlsResult<ImpersonateSettings> {
Ok(ImpersonateSettings::builder()
.tls(
OkHttpTlsSettings::builder()
.cipher_list(&[
"TLS_AES_128_GCM_SHA256",
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_GCM_SHA256",
"TLS_RSA_WITH_AES_256_GCM_SHA384",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
])
.build()
.try_into()?,
)
.http2(super::http2_template_1())
.headers(Box::new(header_initializer))
.build())
}
fn header_initializer(headers: &mut HeaderMap) {
headers.insert(ACCEPT, HeaderValue::from_static("*/*"));
headers.insert(
ACCEPT_LANGUAGE,
HeaderValue::from_static("de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7"),
);
headers.insert(USER_AGENT, HeaderValue::from_static("GM-Android/6.111.1 (240460200; M:motorola moto g power (2021); O:30; D:76ba9f6628d198c8) ObsoleteUrlFactory/1.0 OkHttp/4.9"));
headers.insert(
ACCEPT_ENCODING,
HeaderValue::from_static("gzip, deflate, br"),
);
}