fixes for perfectgirls and missav

This commit is contained in:
Simon
2025-08-21 09:06:30 +00:00
parent 61aa6a966e
commit c05991ee23
8 changed files with 206 additions and 158 deletions

View File

@@ -1,7 +1,7 @@
use std::collections::HashMap;
use std::{collections::HashMap, env};
use serde_json::json;
use wreq::Client;
use wreq::{Client, Proxy};
use wreq_util::Emulation;
#[derive(serde::Serialize, serde::Deserialize, Debug)]
@@ -13,31 +13,31 @@ pub struct FlareSolverrRequest {
#[derive(serde::Serialize, serde::Deserialize, Debug)]
pub struct FlaresolverrCookie {
name: String, //"cf_clearance",
value: String, //"lnKoXclrIp_mDrWJFfktPGm8GDyxjSpzy9dx0qDTiRg-1748689259-1.2.1.1-AIFERAPCdCSvvdu1mposNdUpKV9wHZXBpSI2L9k9TaKkPcqmomON_XEb6ZtRBtrmQu_DC8AzKllRg2vNzVKOUsvv9ndjQ.vv8Z7cNkgzpIbGFy96kXyAYH2mUk3Q7enZovDlEbK5kpV3Sbmd2M3_bUCBE1WjAMMdXlyNElH1LOpUm149O9hrluXjAffo4SwHI4HO0UckBPWBlBqhznKPgXxU0g8VHLDeYnQKViY8rP2ud4tyzKnJUxuYXzr4aWBNMp6TESp49vesRiel_Y5m.rlTY4zSb517S9iPbEQiYHRI.uH5mMHVI3jvJl0Mx94tPrpFnkhDdmzL3DRSllJe9k786Lf21I9WBoH2cCR3yHw",
domain: String, //".discord.com",
path: String, //"/",
expires: f64, //1780225259.237105,
size: u64, //438,
httpOnly: bool, //true,
secure: bool, //true,
session: bool, //false,
sameSite: Option<String>, //"None",
priority: String, //"Medium",
sameParty: bool, //false,
sourceScheme: String, //"Secure",
sourcePort: u32, //443,
partitionKey: Option<String>, //"https://perverzija.com"
pub name: String, //"cf_clearance",
pub value: String, //"lnKoXclrIp_mDrWJFfktPGm8GDyxjSpzy9dx0qDTiRg-1748689259-1.2.1.1-AIFERAPCdCSvvdu1mposNdUpKV9wHZXBpSI2L9k9TaKkPcqmomON_XEb6ZtRBtrmQu_DC8AzKllRg2vNzVKOUsvv9ndjQ.vv8Z7cNkgzpIbGFy96kXyAYH2mUk3Q7enZovDlEbK5kpV3Sbmd2M3_bUCBE1WjAMMdXlyNElH1LOpUm149O9hrluXjAffo4SwHI4HO0UckBPWBlBqhznKPgXxU0g8VHLDeYnQKViY8rP2ud4tyzKnJUxuYXzr4aWBNMp6TESp49vesRiel_Y5m.rlTY4zSb517S9iPbEQiYHRI.uH5mMHVI3jvJl0Mx94tPrpFnkhDdmzL3DRSllJe9k786Lf21I9WBoH2cCR3yHw",
pub domain: String, //".discord.com",
pub path: String, //"/",
pub expires: f64, //1780225259.237105,
pub size: u64, //438,
pub httpOnly: bool, //true,
pub secure: bool, //true,
pub session: bool, //false,
pub sameSite: Option<String>, //"None",
pub priority: String, //"Medium",
pub sameParty: bool, //false,
pub sourceScheme: String, //"Secure",
pub sourcePort: u32, //443,
pub partitionKey: Option<String>,
}
#[derive(serde::Serialize, serde::Deserialize, Debug)]
pub struct FlareSolverrSolution {
url: String,
status: u32,
pub url: String,
pub status: u32,
pub response: String,
headers: HashMap<String, String>,
cookies: Vec<FlaresolverrCookie>,
userAgent: String,
pub headers: HashMap<String, String>,
pub cookies: Vec<FlaresolverrCookie>,
pub userAgent: String,
}
// impl FlareSolverrSolution {
// fn to_client(&self,){
@@ -65,15 +65,21 @@ pub struct FlareSolverrResponse {
version: String,
}
pub struct Flaresolverr {
url: String
url: String,
proxy: bool,
}
impl Flaresolverr {
pub fn new(url: String) -> Self {
Flaresolverr {
url: url
url: url,
proxy: false,
}
}
pub fn set_proxy(&mut self, proxy: bool) {
self.proxy = proxy;
}
pub async fn solve(
&self,
request: FlareSolverrRequest,
@@ -82,15 +88,23 @@ impl Flaresolverr {
.emulation(Emulation::Firefox136)
.build()?;
let response = client
let mut request = client
.post(&self.url)
.header("Content-Type", "application/json")
.json(&json!({
"cmd": request.cmd,
"url": request.url,
"maxTimeout": request.maxTimeout,
}))
.send().await?;
}));
if self.proxy {
if let Ok(proxy_url) = env::var("BURP_URL") {
let proxy = Proxy::all(&proxy_url).unwrap();
request = request.proxy(proxy.clone());
}
}
let response = request.send().await?;
let body: FlareSolverrResponse = response.json::<FlareSolverrResponse>().await?;
Ok(body)