mirror of
https://git.luna-app.eu/50n50/sources
synced 2026-01-12 01:18:11 +01:00
Update animepahe/animepahe.js
This commit is contained in:
parent
0c9db9005f
commit
8d10fefb7e
1 changed files with 41 additions and 33 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue