javtiful fix

This commit is contained in:
Simon
2026-04-30 06:04:51 +00:00
committed by ForgeCode
parent 698644c5f8
commit 6a4fc98720
3 changed files with 70 additions and 61 deletions

View File

@@ -89,10 +89,13 @@ impl JavtifulProxy {
url: String,
requester: web::types::State<Requester>,
) -> String {
println!("JavtifulProxy: Getting video URL for {url}");
let mut requester = requester.get_ref().clone();
let Some((detail_url, video_id)) = Self::normalize_detail_request(&url) else {
println!("JavtifulProxy: Invalid detail URL: {url}");
return String::new();
};
println!("Normalized detail URL: {detail_url}, video ID: {video_id}");
let html = requester.get(&detail_url, Some(Version::HTTP_11)).await;
let Ok(html) = html else {
@@ -101,33 +104,15 @@ impl JavtifulProxy {
if html.is_empty() {
return String::new();
}
println!("Fetched HTML content for {detail_url} (length: {})", html.len());
let Some(token) = Self::extract_token(&html) else {
return String::new();
};
let form = wreq::multipart::Form::new()
.text("video_id", video_id)
.text("pid_c", "".to_string())
.text("token", token);
let resp = match requester
.post_multipart(
"https://javtiful.com/ajax/get_cdn",
form,
vec![
("Referer".to_string(), detail_url),
("Origin".to_string(), "https://javtiful.com".to_string()),
("Accept".to_string(), "*/*".to_string()),
],
Some(Version::HTTP_11),
)
.await
{
Ok(r) => r,
Err(_) => return String::new(),
};
let payload = resp.text().await.unwrap_or_default();
Self::extract_playlist_url(&payload).unwrap_or_default()
let media_url = format!("https://javtiful.com{}", html.split("playerSources\":[{\"src\":\"")
.nth(1)
.and_then(|s| s.split('"').next())
.map(str::trim)
.map(ToOwned::to_owned).unwrap_or_default());
println!("{media_url}");
media_url
}
}