diff --git a/src/controllers/episodes/getByAniListId/amvstrm.ts b/src/controllers/episodes/getByAniListId/amvstrm.ts index f8cd27f..6f997a1 100644 --- a/src/controllers/episodes/getByAniListId/amvstrm.ts +++ b/src/controllers/episodes/getByAniListId/amvstrm.ts @@ -5,7 +5,7 @@ export async function getEpisodesFromAmvstrm( ): Promise { try { const episodes: Episode[] | null = await fetch( - `https://api-amvstrm.nyt92.eu.org/api/v2/episode/${aniListId}`, + `https://api.amvstr.me/api/v2/episode/${aniListId}`, ) .then((res) => res.json()) .then(({ code, message, episodes }) => { diff --git a/src/controllers/episodes/getEpisodeUrl/amvstrm.ts b/src/controllers/episodes/getEpisodeUrl/amvstrm.ts index 58d4c72..8ed24cf 100644 --- a/src/controllers/episodes/getEpisodeUrl/amvstrm.ts +++ b/src/controllers/episodes/getEpisodeUrl/amvstrm.ts @@ -3,9 +3,7 @@ import type { FetchUrlResponse } from "./responseType"; export async function getSourcesFromAmvstrm( watchId: string, ): Promise { - const source = await fetch( - `https://api-amvstrm.nyt92.eu.org/api/v2/stream/${watchId}`, - ) + const source = await fetch(`https://api.amvstr.me/api/v2/stream/${watchId}`) .then((res) => res.json()) .then(({ stream }) => { const streamObj = stream?.multi; diff --git a/src/controllers/search/amvstrm.ts b/src/controllers/search/amvstrm.ts index c469b55..e1cdfb7 100644 --- a/src/controllers/search/amvstrm.ts +++ b/src/controllers/search/amvstrm.ts @@ -4,7 +4,7 @@ export async function fetchSearchResultsFromAmvstrm( limit: number, ) { return fetch( - `https://api-amvstrm.nyt92.eu.org/api/v2/search?q=${query}&p=${page}&limit=${limit}`, + `https://api.amvstr.me/api/v2/search?q=${query}&p=${page}&limit=${limit}`, ) .then((res) => res.json()) .then(({ pageInfo: { hasNextPage }, results }) => ({ diff --git a/src/controllers/title/amvstrm.ts b/src/controllers/title/amvstrm.ts index d8eaed5..04c5a7f 100644 --- a/src/controllers/title/amvstrm.ts +++ b/src/controllers/title/amvstrm.ts @@ -4,8 +4,8 @@ export async function fetchTitleFromAmvstrm( aniListId: number, ): Promise { return Promise.all([ - fetch(`https://api-amvstrm.nyt92.eu.org/api/v2/info/${aniListId}`).then( - (res) => res.json<any>(), + fetch(`https://api.amvstr.me/api/v2/info/${aniListId}`).then((res) => + res.json<any>(), ), fetchMissingInformationFromAnify(aniListId).catch((err) => { console.error("Failed to get missing information from Anify", err); diff --git a/src/mocks/amvstrm/episodes.ts b/src/mocks/amvstrm/episodes.ts index 03177d9..8ea3b51 100644 --- a/src/mocks/amvstrm/episodes.ts +++ b/src/mocks/amvstrm/episodes.ts @@ -2,7 +2,7 @@ import { HttpResponse, http } from "msw"; export function getAmvstrmEpisodes() { return http.get( - "https://api-amvstrm.nyt92.eu.org/api/v2/episode/:aniListId", + "https://api.amvstr.me/api/v2/episode/:aniListId", ({ params }) => { const aniListId = Number(params["aniListId"]); if (aniListId === 4) { diff --git a/src/mocks/amvstrm/search.ts b/src/mocks/amvstrm/search.ts index b79e0ca..db21e2f 100644 --- a/src/mocks/amvstrm/search.ts +++ b/src/mocks/amvstrm/search.ts @@ -2,7 +2,7 @@ import { HttpResponse, http } from "msw"; export function getAmvstrmSearchResults() { return http.get( - "https://api-amvstrm.nyt92.eu.org/api/v2/search", + "https://api.amvstr.me/api/v2/search", ({ request: { url: urlString } }) => { const url = new URL(urlString); const query = url.searchParams.get("q"); diff --git a/src/mocks/amvstrm/sources.ts b/src/mocks/amvstrm/sources.ts index c15965c..116df8c 100644 --- a/src/mocks/amvstrm/sources.ts +++ b/src/mocks/amvstrm/sources.ts @@ -1,77 +1,74 @@ import { HttpResponse, http } from "msw"; export function getAmvstrmSources() { - return http.get( - "https://api-amvstrm.nyt92.eu.org/api/v2/stream/:id", - ({ params }) => { - const { id } = params; + return http.get("https://api.amvstr.me/api/v2/stream/:id", ({ params }) => { + const { id } = params; - if (id === "unknown") { - return HttpResponse.json( - { - code: 404, - message: - "The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.", - }, - { status: 404 }, - ); - } + if (id === "unknown") { + return HttpResponse.json( + { + code: 404, + message: + "The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.", + }, + { status: 404 }, + ); + } - return HttpResponse.json({ - code: 200, - message: "success", - info: { - title: "Mushoku Tensei II: Isekai Ittara Honki Dasu Part 2", - id: "mushoku-tensei-ii-isekai-ittara-honki-dasu-part-2", - episode: "1", + return HttpResponse.json({ + code: 200, + message: "success", + info: { + title: "Mushoku Tensei II: Isekai Ittara Honki Dasu Part 2", + id: "mushoku-tensei-ii-isekai-ittara-honki-dasu-part-2", + episode: "1", + }, + stream: { + multi: { + main: { + url: "https://www032.vipanicdn.net/streamhls/aa804a2400535d84dd59454b28d329fb/ep.1.1712504065.m3u8", + label: "hls P", + isM3U8: true, + quality: "default", + }, + backup: { + url: "https://www032.anicdnstream.info/videos/hls/6Ogzt4UOJPbzciJM8EJvgg/1717137410/223419/aa804a2400535d84dd59454b28d329fb/ep.1.1712504065.m3u8", + label: "hls P", + isM3U8: true, + quality: "backup", + }, }, - stream: { - multi: { - main: { - url: "https://www032.vipanicdn.net/streamhls/aa804a2400535d84dd59454b28d329fb/ep.1.1712504065.m3u8", - label: "hls P", - isM3U8: true, - quality: "default", - }, - backup: { - url: "https://www032.anicdnstream.info/videos/hls/6Ogzt4UOJPbzciJM8EJvgg/1717137410/223419/aa804a2400535d84dd59454b28d329fb/ep.1.1712504065.m3u8", - label: "hls P", - isM3U8: true, - quality: "backup", - }, - }, - tracks: "", + tracks: "", + }, + iframe: [ + { + name: "Multiquality Server", + iframe: + "https://embtaku.com/embedplus?id=MjIzNDE5&token=dvjcF3MKtKBIeAe7rQhIpw&expires=1717137409", }, - iframe: [ - { - name: "Multiquality Server", - iframe: - "https://embtaku.com/embedplus?id=MjIzNDE5&token=dvjcF3MKtKBIeAe7rQhIpw&expires=1717137409", - }, - { - name: "Streamwish", - iframe: "https://awish.pro/e/nr6ogony8osz", - }, - { - name: "Doodstream", - iframe: "https://dood.wf/e/4g6gt8yygdnz", - }, - { - name: "Mp4upload", - iframe: "https://www.mp4upload.com/embed-3dshuf4wf6md.html", - }, - ], - plyr: { - main: "https://plyr.link/p/player.html#aHR0cHM6Ly93d3cwMzIudmlwYW5pY2RuLm5ldC9zdHJlYW1obHMvYWE4MDRhMjQwMDUzNWQ4NGRkNTk0NTRiMjhkMzI5ZmIvZXAuMS4xNzEyNTA0MDY1Lm0zdTg=", - backup: - "https://plyr.link/p/player.html#aHR0cHM6Ly93d3cwMzIuYW5pY2Ruc3RyZWFtLmluZm8vdmlkZW9zL2hscy82T2d6dDRVT0pQYnpjaUpNOEVKdmdnLzE3MTcxMzc0MTAvMjIzNDE5L2FhODA0YTI0MDA1MzVkODRkZDU5NDU0YjI4ZDMyOWZiL2VwLjEuMTcxMjUwNDA2NS5tM3U4", + { + name: "Streamwish", + iframe: "https://awish.pro/e/nr6ogony8osz", }, - nspl: { - main: "https://nspl.nyt92.eu.org/player?p=JnRpdGxlPW11c2hva3UtdGVuc2VpLWlpLWlzZWthaS1pdHRhcmEtaG9ua2ktZGFzdS1wYXJ0LTItZXBpc29kZS0xJmZpbGU9aHR0cHM6Ly93d3cwMzIudmlwYW5pY2RuLm5ldC9zdHJlYW1obHMvYWE4MDRhMjQwMDUzNWQ4NGRkNTk0NTRiMjhkMzI5ZmIvZXAuMS4xNzEyNTA0MDY1Lm0zdTgmdGh1bWJuYWlscz11bmRlZmluZWQ=", - backup: - "https://nspl.nyt92.eu.org/player?p=JnRpdGxlPW11c2hva3UtdGVuc2VpLWlpLWlzZWthaS1pdHRhcmEtaG9ua2ktZGFzdS1wYXJ0LTItZXBpc29kZS0xJmZpbGU9aHR0cHM6Ly93d3cwMzIuYW5pY2Ruc3RyZWFtLmluZm8vdmlkZW9zL2hscy82T2d6dDRVT0pQYnpjaUpNOEVKdmdnLzE3MTcxMzc0MTAvMjIzNDE5L2FhODA0YTI0MDA1MzVkODRkZDU5NDU0YjI4ZDMyOWZiL2VwLjEuMTcxMjUwNDA2NS5tM3U4JnRodW1ibmFpbHM9dW5kZWZpbmVk", + { + name: "Doodstream", + iframe: "https://dood.wf/e/4g6gt8yygdnz", }, - }); - }, - ); + { + name: "Mp4upload", + iframe: "https://www.mp4upload.com/embed-3dshuf4wf6md.html", + }, + ], + plyr: { + main: "https://plyr.link/p/player.html#aHR0cHM6Ly93d3cwMzIudmlwYW5pY2RuLm5ldC9zdHJlYW1obHMvYWE4MDRhMjQwMDUzNWQ4NGRkNTk0NTRiMjhkMzI5ZmIvZXAuMS4xNzEyNTA0MDY1Lm0zdTg=", + backup: + "https://plyr.link/p/player.html#aHR0cHM6Ly93d3cwMzIuYW5pY2Ruc3RyZWFtLmluZm8vdmlkZW9zL2hscy82T2d6dDRVT0pQYnpjaUpNOEVKdmdnLzE3MTcxMzc0MTAvMjIzNDE5L2FhODA0YTI0MDA1MzVkODRkZDU5NDU0YjI4ZDMyOWZiL2VwLjEuMTcxMjUwNDA2NS5tM3U4", + }, + nspl: { + main: "https://nspl.nyt92.eu.org/player?p=JnRpdGxlPW11c2hva3UtdGVuc2VpLWlpLWlzZWthaS1pdHRhcmEtaG9ua2ktZGFzdS1wYXJ0LTItZXBpc29kZS0xJmZpbGU9aHR0cHM6Ly93d3cwMzIudmlwYW5pY2RuLm5ldC9zdHJlYW1obHMvYWE4MDRhMjQwMDUzNWQ4NGRkNTk0NTRiMjhkMzI5ZmIvZXAuMS4xNzEyNTA0MDY1Lm0zdTgmdGh1bWJuYWlscz11bmRlZmluZWQ=", + backup: + "https://nspl.nyt92.eu.org/player?p=JnRpdGxlPW11c2hva3UtdGVuc2VpLWlpLWlzZWthaS1pdHRhcmEtaG9ua2ktZGFzdS1wYXJ0LTItZXBpc29kZS0xJmZpbGU9aHR0cHM6Ly93d3cwMzIuYW5pY2Ruc3RyZWFtLmluZm8vdmlkZW9zL2hscy82T2d6dDRVT0pQYnpjaUpNOEVKdmdnLzE3MTcxMzc0MTAvMjIzNDE5L2FhODA0YTI0MDA1MzVkODRkZDU5NDU0YjI4ZDMyOWZiL2VwLjEuMTcxMjUwNDA2NS5tM3U4JnRodW1ibmFpbHM9dW5kZWZpbmVk", + }, + }); + }); } diff --git a/src/mocks/amvstrm/title.ts b/src/mocks/amvstrm/title.ts index 97e2105..f6f7483 100644 --- a/src/mocks/amvstrm/title.ts +++ b/src/mocks/amvstrm/title.ts @@ -2,7 +2,7 @@ import { HttpResponse, http } from "msw"; export function getAmvstrmTitle() { return http.get( - "https://api-amvstrm.nyt92.eu.org/api/v2/info/:aniListId", + "https://api.amvstr.me/api/v2/info/:aniListId", ({ params }) => { const aniListId = Number(params["aniListId"] as string);