This commit is contained in:
Simon
2026-03-22 15:56:25 +00:00
parent 52f108da8e
commit fbe04fc752
12 changed files with 4960 additions and 26 deletions

View File

@@ -51,7 +51,10 @@ impl PimpbunnyProxy {
fn html_headers_with_referer(referer: &str) -> Vec<(String, String)> {
vec![
("Referer".to_string(), referer.to_string()),
("User-Agent".to_string(), Self::FIREFOX_USER_AGENT.to_string()),
(
"User-Agent".to_string(),
Self::FIREFOX_USER_AGENT.to_string(),
),
("Accept".to_string(), Self::HTML_ACCEPT.to_string()),
("Accept-Language".to_string(), "en-US,en;q=0.9".to_string()),
]
@@ -80,7 +83,8 @@ impl PimpbunnyProxy {
}
fn extract_json_ld_video(text: &str) -> Option<Value> {
let script_regex = Regex::new(r#"(?s)<script[^>]+application/ld\+json[^>]*>(.*?)</script>"#).ok()?;
let script_regex =
Regex::new(r#"(?s)<script[^>]+application/ld\+json[^>]*>(.*?)</script>"#).ok()?;
for captures in script_regex.captures_iter(text) {
let raw = captures.get(1).map(|value| value.as_str().trim())?;
@@ -228,7 +232,8 @@ mod tests {
</script>
"#;
let json_ld = PimpbunnyProxy::extract_json_ld_video(html).expect("video object should parse");
let json_ld =
PimpbunnyProxy::extract_json_ld_video(html).expect("video object should parse");
assert_eq!(
PimpbunnyProxy::extract_stream_url(&json_ld).as_deref(),
Some("https://cdn.example/graph.mp4")