diff --git a/anime/hianime/source.js b/anime/hianime/source.js
index 5610667..0eb025f 100644
--- a/anime/hianime/source.js
+++ b/anime/hianime/source.js
@@ -53,7 +53,7 @@ class HiAnime {
fetchAjax(url, extraHeaders) {
console.log("[HiAnime] fetchAjax url=", url);
const headers = Object.assign(
- { "X-Requested-With": "XMLHttpRequest" },
+ { "X-Requested-With": "XMLHttpRequest", "Referer": this.baseUrl + "/" },
extraHeaders || {}
);
return fetch(url, { headers });
@@ -83,17 +83,16 @@ class HiAnime {
const year = startDate.year || null;
const month = startDate.month || null;
- let url = `${this.baseUrl}/search?keyword=${encodeURIComponent(
- queryText
- )}&sort=default`;
+ let url = `${this.baseUrl}/search?keyword=${encodeURIComponent(queryText)}&sort=default`;
if (year) url += `&sy=${year}`;
if (month) url += `&sm=${month}`;
console.log("[HiAnime] search() url=", url);
const response = fetch(url);
- const html = response.text();
+ console.log("[HiAnime] search() status=", response.status, "ok=", response.ok);
+ const html = response.text();
console.log("[HiAnime] search() htmlLen=", (html || "").length);
const regex =
@@ -111,9 +110,7 @@ class HiAnime {
const idNum = m[3];
const imgRe = new RegExp(
- `]+href="\\/watch\\/${watchSlug
- .replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
- }"[\\s\\S]*?
]+(?:data-src|src)="([^"]+)"`,
+ `]+href="\\/watch\\/${watchSlug.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}"[\\s\\S]*?
]+(?:data-src|src)="([^"]+)"`,
"i"
);
const imgM = html.match(imgRe);
@@ -186,6 +183,8 @@ class HiAnime {
console.log("[HiAnime] findEpisodes() url=", url);
const response = this.fetchAjax(url);
+ console.log("[HiAnime] findEpisodes() status=", response.status, "ok=", response.ok);
+
const json = response.json();
const html = this.safeString(json.html);
@@ -258,8 +257,7 @@ class HiAnime {
subOrDub = "sub";
}
- if (episodeId && episodeId.includes("/"))
- [episodeId, subOrDub] = episodeId.split("/");
+ if (episodeId && episodeId.includes("/")) [episodeId, subOrDub] = episodeId.split("/");
let serverName = _server && _server !== "default" ? _server : "HD-1";
@@ -269,6 +267,8 @@ class HiAnime {
console.log("[HiAnime] findEpisodeServer() serversUrl=", serversUrl);
const serverResponse = this.fetchAjax(serversUrl);
+ console.log("[HiAnime] servers status=", serverResponse.status, "ok=", serverResponse.ok);
+
const serverJson = serverResponse.json();
const serverHtml = this.safeString(serverJson.html);
@@ -303,6 +303,8 @@ class HiAnime {
console.log("[HiAnime] findEpisodeServer() sourcesUrl=", sourcesUrl);
const sourcesResponse = this.fetchAjax(sourcesUrl);
+ console.log("[HiAnime] sources status=", sourcesResponse.status, "ok=", sourcesResponse.ok);
+
const sourcesJson = sourcesResponse.json();
console.log("[HiAnime] findEpisodeServer() sourcesJson has link=", !!sourcesJson.link);
@@ -321,12 +323,12 @@ class HiAnime {
}
if (!decryptData) {
- const fallbackUrl = `https://ac-api.ofchaos.com/api/anime/embed/convert/v2?embedUrl=${encodeURIComponent(
- sourcesJson.link
- )}`;
+ const fallbackUrl = `https://ac-api.ofchaos.com/api/anime/embed/convert/v2?embedUrl=${encodeURIComponent(sourcesJson.link)}`;
console.log("[HiAnime] fallbackUrl=", fallbackUrl);
const fallbackResponse = fetch(fallbackUrl);
+ console.log("[HiAnime] fallback status=", fallbackResponse.status, "ok=", fallbackResponse.ok);
+
decryptData = fallbackResponse.json();
requiredHeaders = {
@@ -395,8 +397,9 @@ class HiAnime {
};
const response = fetch(embedUrl, { headers });
- const html = response.text();
+ console.log("[HiAnime] embed status=", response.status, "ok=", response.ok);
+ const html = response.text();
console.log("[HiAnime] extractMegaCloud() embed htmlLen=", (html || "").length);
const fileIdMatch = html.match(/\s*File\s+#([a-zA-Z0-9]+)\s*-/i);
@@ -424,8 +427,9 @@ class HiAnime {
console.log("[HiAnime] extractMegaCloud() sourcesUrl=", sourcesUrl);
const sourcesResponse = fetch(sourcesUrl, { headers });
- const sourcesJson = sourcesResponse.json();
+ console.log("[HiAnime] sources status=", sourcesResponse.status, "ok=", sourcesResponse.ok);
+ const sourcesJson = sourcesResponse.json();
console.log("[HiAnime] extractMegaCloud() sources=", (sourcesJson.sources ? sourcesJson.sources.length : 0), "tracks=", (sourcesJson.tracks ? sourcesJson.tracks.length : 0));
return {