eporner: play through a redirect proxy; the signed CDN links expire after 2h
Expired eporner mp4 links are answered with a 302 to static.eporner.com/
na.mp4, a one-minute "watch it on eporner.com" clip. The links expire
exactly two hours after the /xhr/video call, so anything played from a
favourite, history entry or a list left open past that hit the decoy.
New /proxy/eporner/{alnum_id}/{height} re-resolves the hash/xhr chain at
play time and 302s to the matching (else best) quality. The eporner
provider and melonstube's eporner destinations now emit these proxy URLs;
verified app clients get the best quality as video.url via the existing
redirect-proxy rule. Verified live: proxy -> fresh CDN link -> 206 video/mp4
for app and non-app clients.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUYdCh2nCVsQYgJAT7gwSi
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
use crate::proxies::archivebate::ArchivebateProxy;
|
||||
use crate::proxies::clapdat::ClapdatProxy;
|
||||
use crate::proxies::doodstream::DoodstreamProxy;
|
||||
use crate::proxies::eporner::EpornerProxy;
|
||||
use crate::proxies::heavyfetish::HeavyfetishProxy;
|
||||
use crate::proxies::hqporner::HqpornerProxy;
|
||||
use crate::proxies::pornhd3x::Pornhd3xProxy;
|
||||
@@ -24,6 +25,7 @@ pub mod animeidhentai;
|
||||
pub mod archivebate;
|
||||
pub mod clapdat;
|
||||
pub mod doodstream;
|
||||
pub mod eporner;
|
||||
pub mod fikfapthumb;
|
||||
pub mod hanimecdn;
|
||||
pub mod hanimethumb;
|
||||
@@ -71,6 +73,7 @@ pub enum AnyProxy {
|
||||
ThaipornTv(ThaipornTvProxy),
|
||||
Tube8(Tube8Proxy),
|
||||
Supjav(SupjavProxy),
|
||||
Eporner(EpornerProxy),
|
||||
}
|
||||
|
||||
pub trait Proxy {
|
||||
@@ -97,6 +100,7 @@ impl Proxy for AnyProxy {
|
||||
AnyProxy::ThaipornTv(p) => p.get_video_url(url, requester).await,
|
||||
AnyProxy::Tube8(p) => p.get_video_url(url, requester).await,
|
||||
AnyProxy::Supjav(p) => p.get_video_url(url, requester).await,
|
||||
AnyProxy::Eporner(p) => p.get_video_url(url, requester).await,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user