Update animepahe/animepahe.js

This commit is contained in:
aka paul 2026-01-03 20:42:24 +00:00
parent 0c9db9005f
commit 8d10fefb7e

View file

@ -195,13 +195,30 @@ class DdosGuardInterceptor {
async fetchWithBypass(url, options = {}) {
let response = await this.fetchWithCookies(url, options);
let responseText = null;
const isBlocked = await this.isBlockedResponse(response);
if (!isBlocked) {
if (this.errorCodes.includes(response.status)) {
const newCookie = await this.getNewCookie(url);
if (newCookie || this.cookieStore["__ddg2_"]) {
return this.fetchWithCookies(url, options);
}
return response;
}
try {
responseText = await response.text();
} catch (e) {
return response;
}
const isBlocked = responseText.includes('ddos-guard/js-challenge') ||
responseText.includes('DDoS-Guard') ||
responseText.includes('data-ddg-origin');
if (!isBlocked) {
response.text = async () => responseText;
return response;
}
if (this.cookieStore["__ddg2_"]) {
return this.fetchWithCookies(url, options);
@ -209,6 +226,7 @@ class DdosGuardInterceptor {
const newCookie = await this.getNewCookie(url);
if (!newCookie) {
response.text = async () => responseText;
return response;
}
@ -217,13 +235,19 @@ class DdosGuardInterceptor {
async fetchWithCookies(url, options) {
const cookieHeader = this.getCookieHeader();
const headers = { ...options.headers, Cookie: cookieHeader };
const headers = options.headers || {};
if (cookieHeader) {
headers.Cookie = cookieHeader;
}
const response = await fetchv2(url, headers );
const response = await fetchv2(url, headers);
const setCookieHeader = response.headers["Set-Cookie"];
if (setCookieHeader) {
this.storeCookies(setCookieHeader);
try {
const setCookieHeader = response.headers ? response.headers["Set-Cookie"] || response.headers["set-cookie"] : null;
if (setCookieHeader) {
this.storeCookies(setCookieHeader);
}
} catch (e) {
}
return response;
@ -234,23 +258,6 @@ class DdosGuardInterceptor {
return serverHeader && this.serverCheck.includes(serverHeader.toLowerCase());
}
async isBlockedResponse(response) {
if (this.errorCodes.includes(response.status)) {
return true;
}
const clonedResponse = response.clone();
const text = await clonedResponse.text();
if (text.includes('ddos-guard/js-challenge') ||
text.includes('DDoS-Guard') ||
text.includes('data-ddg-origin')) {
return true;
}
return false;
}
storeCookies(setCookieString) {
const cookies = Array.isArray(setCookieString) ? setCookieString : [setCookieString];
@ -301,10 +308,11 @@ class DdosGuardInterceptor {
}
});
let setCookie = localResponse.headers["set-cookie"] ||
localResponse.headers["Set-Cookie"] ||
(localResponse.headers.raw && localResponse.headers.raw()['set-cookie']) ||
(localResponse.headers.get && localResponse.headers.get('set-cookie'));
let setCookie = null;
try {
setCookie = localResponse.headers ? localResponse.headers["set-cookie"] || localResponse.headers["Set-Cookie"] : null;
} catch (e) {
}
if (setCookie) {
this.storeCookies(setCookie);
}
@ -320,10 +328,10 @@ class DdosGuardInterceptor {
}
});
setCookie = checkResponse.headers["set-cookie"] ||
checkResponse.headers["Set-Cookie"] ||
(checkResponse.headers.raw && checkResponse.headers.raw()['set-cookie']) ||
(checkResponse.headers.get && checkResponse.headers.get('set-cookie'));
try {
setCookie = checkResponse.headers ? checkResponse.headers["set-cookie"] || checkResponse.headers["Set-Cookie"] : null;
} catch (e) {
}
if (setCookie) {
this.storeCookies(setCookie);
}