some upgrades

This commit is contained in:
Simon
2026-02-13 15:47:35 +00:00
parent b45687d578
commit eea8d9ae6f
6 changed files with 750 additions and 4 deletions

View File

@@ -16,6 +16,7 @@ use crate::providers::rule34video::Rule34videoProvider;
// use crate::providers::spankbang::SpankbangProvider;
use crate::util::cache::VideoCache;
use crate::util::discord::send_discord_error_report;
use crate::util::proxy::{Proxy, all_proxies_snapshot};
use crate::util::requester::Requester;
use crate::{DbPool, db, status::*, videos::*};
use cute::c;
@@ -110,6 +111,10 @@ pub fn config(cfg: &mut web::ServiceConfig) {
web::resource("/test")
.route(web::get().to(test))
)
.service(
web::resource("/proxies")
.route(web::get().to(proxies))
)
;
}
@@ -1202,3 +1207,25 @@ pub async fn test() -> Result<impl web::Responder, web::Error> {
Ok(web::HttpResponse::Ok())
}
pub async fn proxies() -> Result<impl web::Responder, web::Error> {
let proxies = all_proxies_snapshot().await.unwrap_or_default();
let mut by_protocol: std::collections::BTreeMap<String, Vec<Proxy>> =
std::collections::BTreeMap::new();
for proxy in proxies {
by_protocol
.entry(proxy.protocol.clone())
.or_default()
.push(proxy);
}
for proxies in by_protocol.values_mut() {
proxies.sort_by(|a, b| {
a.host
.cmp(&b.host)
.then(a.port.cmp(&b.port))
.then(a.username.cmp(&b.username))
.then(a.password.cmp(&b.password))
});
}
Ok(web::HttpResponse::Ok().json(&by_protocol))
}