consumet / api.consumet.org Goto Github PK
View Code? Open in Web Editor NEWA Modern Search Engine API for Anime, Movies/TVShows, Books, Light Novels, Manga, etc.
Home Page: https://docs.consumet.org
License: GNU General Public License v3.0
A Modern Search Engine API for Anime, Movies/TVShows, Books, Light Novels, Manga, etc.
Home Page: https://docs.consumet.org
License: GNU General Public License v3.0
https://api.consumet.org/utils/image-proxy?url=image_url&referer=image_referer_url doesn't work.
await fetch("https://api.consumet.org/utils/image-proxy?url=https://zjcdn.mangahere.org/store/manga/32140/074.0/compressed/lspy_x_family_074_001.jpg, { "headers": {"Referer":"http://www.mangahere.cc/manga/spy_x_family/c074/1.html"}
200 ok
400 error
I tried await fetch("https://api.consumet.org/utils/image-proxy?url=https://zjcdn.mangahere.org/store/manga/32140/074.0/compressed/lspy_x_family_074_001.jpg&headers=http://www.mangahere.cc/manga/spy_x_family/c074/1.html", { "headers": {"Referer":"http://www.mangahere.cc/manga/spy_x_family/c074/1.html"}
which gives me a 500 any help is appreciated its probably some dumb mistake.
The axios rate limit prevents app to fetch data from zoro
{data: [...]}
{"message":{"message":"Request failed with status code 429","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, /","User-Agent":"axios/0.27.2"},"method":"get","url":"https://rapidclown.riimuru.workers.dev/rapidclown"},"code":"ERR_BAD_REQUEST","status":429}}
This only happens for zoro, not other providers
checking https://rapidclown.riimuru.workers.dev/rapidclown shows
https://api.consumet.org/meta/anilist/info/5114
Go to the link above
refresh maybe a couple times?
To return data
Returns error saying "Cannot read properties of undefined (reading 'mal')"
No response
when i send a get request in /anime/gogoanime/watch/spy-x-oshi-no-ko-episode-1 its not returning the streaming link
Send a get request in /anime/gogoanime/watch/spy-x-oshi-no-ko-episode-1 or /meta/anilist/watch/spy-x-oshi-no-ko-episode-1
it wont return any response
{
"headers": {
"Referer": "string",
"watchsb": "string", // or null, since only provided with server being equal to "streamsb".
"User-Agent": "string" // or null
},
"sources": [
{
"url": "string",
"quality": "string",
"isM3U8": true
}
]
}
{"message":{}}
No response
zoro provider is working, however the /watch?episodeId path isnt working
go to https://consumet-api.herokuapp.com/anime/zoro/watch?episodeId=spy-x-family-17977$episode$89506 (or any other anime)
Doesnt return data.
The error message is empty so you cant make out why its not working (404, 400, 500)
{data: {...}}
{"message":{}}
No response
This is not a bug but a feature
https://api.consumet.org/meta/anilist/info/103139?provider=zoro
In the Episode list only the ID's for censored episodes is there.
both use the same anilist ID meaning it is expected that the uncensored id is also there. perhaps a field called uncenID: or something that is null if there is non.
It would be nice if the uncensored ID's are also in the list because the only way to get it now is to use the sites own search and go from there but this is not extremely modular.
500 Internal Server Error when requesting streaming link of a movie
Try to access the streaming link endpoint of movies
The response should be a streaming link with different qualities
It returns server error code 500, with the message Something went wrong. Please try again later.
No response
There are cases where the id from recent episodes and the real anime id don't match.
Episode JSON data from https://api.consumet.org/anime/gogoanime/recent-episodes?page=4
(Page numbers may change over time.)
...
{
"id":"jujutsu-kaisen-2nd-season",
"episodeId":"jujutsu-kaisen-2nd-season-episode-3",
"episodeNumber":3,
"title":"Jujutsu Kaisen 2nd Season",
"image":"https://gogocdn.net/cover/jujutsu-kaisen-tv-2nd-season-1688154932.png",
"url":"https://gogoanimehd.to/jujutsu-kaisen-2nd-season-episode-3"
}
...
If my understanding is correct, the gogoanime id for 'Jujutsu Kaisen 2nd Season' is 'jujutsu-kaisen-2nd-season' from the above data.
So the url to get its anime info should be this.
https://api.consumet.org/anime/gogoanime/info/jujutsu-kaisen-2nd-season
https://api.consumet.org/anime/gogoanime/info/jujutsu-kaisen-2nd-season
{"message":{}}
The correct id is 'jujutsu-kaisen-tv-2nd-season'.
https://api.consumet.org/anime/gogoanime/info/jujutsu-kaisen-tv-2nd-season
{"id":"jujutsu-kaisen-tv-2nd-season","title":"Jujutsu Kaisen 2nd Season","url":"/category/jujutsu-kaisen-tv-2nd-season","genres":["Action","Fantasy","School","Shounen"],"totalEpisodes":3,"image":"https://gogocdn.net/cover/jujutsu-kaisen-tv-2nd-season-1688154932.png","releaseDate":"2023","description":"Second season of Jujutsu Kaisen.","subOrDub":"sub","type":"SUMMER 2023 ANIME","status":"Ongoing","otherName":"呪術廻戦 2 / 咒術迴戰第二季 / 咒術迴戰 2 / 주술회전 2기 / Sorcery Fight / JJK / Jujutsu Kaisen (TV) 2nd Season / มหาเวทย์ผนึกมาร ซีซั่น 2","episodes":[{"id":"jujutsu-kaisen-2nd-season-episode-1","number":1,"url":"https://gogoanimehd.to//jujutsu-kaisen-2nd-season-episode-1"},{"id":"jujutsu-kaisen-2nd-season-episode-2","number":2,"url":"https://gogoanimehd.to//jujutsu-kaisen-2nd-season-episode-2"},{"id":"jujutsu-kaisen-2nd-season-episode-3","number":3,"url":"https://gogoanimehd.to//jujutsu-kaisen-2nd-season-episode-3"}]}
jujutsu-kaisen-2nd-season
jujutsu-kaisen-tv-2nd-season
Unlike the id from recent episodes data, the correct id contains '-tv-' in the slug.
Is this also considered as a bug?
the return empty array of episode in some anime and movies when navigating to anilist/meta/info /:id
1 : we navigate to https://api.consumet.org/meta/anilist/info/21519 [anime movie is kimi-no-na-wa]
2: we get the data object down we can see the episode array empty []
3: we navigate to hhttps://api.consumet.org/anime/gogoanime/watch/kimi-no-na-wa-episode-1
4: we got the streamming links
so the question is why we got some episodes links but others not ?
to get : the episode array full of episode id and the other field
we got empty array
No response
I am using the streaming link that is provided by the api in the format of .m3u8 on my frontend using hls.js but it gives cors error and I am unable to play the video is there any way to solve or bypass the cors issue
The video should play
Showing cors error
No response
the flixHQ movies api stopped working
should work fine and return results
api down with error 1020
No response
All the provider except zoro are not working with flutter
VideoPlayerNotifier({required this.episode, required this.animeInfoService})
: super(const VideoPlayerState.loading("")) {
init();
}
final Episode episode;
final AnimeInfoData animeInfoService;
BetterPlayerController? betterPlayerController;
void init() async {
state =
const VideoPlayerState.loading("fetching episode urls from server...");
try {
log("init");
if (episode.id == null) {
state = const VideoPlayerState.error({
"error": "Something went wrong, Please try with different provider"
});
}
EpisodeUrl? episodeUrls = await getEpisodeUrl();
if (episodeUrls != null) {
initializePlayer(episodeUrls);
}
} catch (e, st) {
log("$e");
log("$st");
state = VideoPlayerState.error(e);
}
}
Future<EpisodeUrl?> getEpisodeUrl({bool cancelToken = false}) async {
EpisodeUrl? episodeUrl;
if (cancelToken) {
final cancelToken = CancelToken();
animeInfoService.getEpisodeUrl(
episodeId: episode.id!, cancelToken: cancelToken);
} else {
episodeUrl = await animeInfoService.getEpisodeUrl(episodeId: episode.id!);
}
return episodeUrl;
}
Future<void> initializePlayer(EpisodeUrl episodeSource) async {
state = const VideoPlayerState.loading("initialing player");
List<Source>? sources = episodeSource.sources;
var subtitles = episodeSource.subtitles;
Map<String, String>? headers = {
if (episodeSource.headers != null) ...episodeSource.headers!,
"user-agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0"
};
/// if sources is empty return error
if (sources == null) {
state = const VideoPlayerState.error({"error": "No source found"});
return;
}
String? firstSource() {
String? url;
try {
var isAuto = sources
.firstWhere(
(element) =>
element.url != null && element.quality == "auto" ||
element.quality == "default",
orElse: () =>
sources.firstWhere((element) => element.url != null))
.url;
if (isAuto != null) {
url = isAuto.toString();
} else {
url = sources
.firstWhere((element) => element.url != null)
.url
.toString();
}
} catch (e) {
state = const VideoPlayerState.error({"error": "No source found"});
}
return url;
}
/// if [sources] is not null
///
try {
var dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.network, firstSource()!,
resolutions: {
for (var item in sources) "${item.quality}": "${item.url}"
},
subtitles: subtitles
?.map((e) => BetterPlayerSubtitlesSource(
selectedByDefault: e.lang == "English",
name: e.lang,
type: BetterPlayerSubtitlesSourceType.network,
urls: [e.url],
))
.toList(),
videoFormat:
sources.firstWhere((element) => element.isM3U8 != null).isM3U8 ==
true
? BetterPlayerVideoFormat.hls
: BetterPlayerVideoFormat.other,
headers: headers,
bufferingConfiguration: const BetterPlayerBufferingConfiguration(
minBufferMs: 50000,
maxBufferMs: 13107200,
bufferForPlaybackMs: 2500,
bufferForPlaybackAfterRebufferMs: 5000,
),
cacheConfiguration: const BetterPlayerCacheConfiguration(
useCache: true,
preCacheSize: 400000,
maxCacheSize: 400000,
maxCacheFileSize: 400000,
),
/// notification configuration
///
notificationConfiguration: BetterPlayerNotificationConfiguration(
showNotification: true,
title: "Episode ${episode.number} ${episode.title}",
author: episode.description,
imageUrl: episode.image,
activityName: "MainActivity",
));
betterPlayerController =
BetterPlayerController(betterPlayerConfiguration);
await betterPlayerController?.setupDataSource(dataSource);
state = VideoPlayerState.data(betterPlayerController!);
} catch (e, st) {
log("$e");
log("$st");
state = VideoPlayerState.error({
"Something went wrong!\n Please try with different provider":
e.toString()
});
}
}
@override
void dispose() {
getEpisodeUrl(cancelToken: true);
betterPlayerController?.dispose(forceDispose: true);
betterPlayerController?.clearCache();
super.dispose();
}
}
const BetterPlayerConfiguration betterPlayerConfiguration =
BetterPlayerConfiguration(
autoDetectFullscreenAspectRatio: true,
fit: BoxFit.fitHeight,
aspectRatio: 16 / 9,
handleLifecycle: false,
autoDetectFullscreenDeviceOrientation: true,
autoPlay: false,
allowedScreenSleep: false,
autoDispose: true,
fullScreenAspectRatio: 16 / 9,
fullScreenByDefault: true,
placeholder: SizedBox(),
deviceOrientationsAfterFullScreen: [DeviceOrientation.portraitUp],
deviceOrientationsOnFullScreen: [
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft
],
controlsConfiguration: BetterPlayerControlsConfiguration(
overflowMenuIcon: Icons.settings_outlined,
playIcon: Icons.play_arrow_outlined,
pauseIcon: Icons.pause,
muteIcon: Icons.volume_mute_outlined,
unMuteIcon: Icons.volume_up_outlined,
playbackSpeedIcon: Icons.speed_outlined,
subtitlesIcon: Icons.subtitles_outlined,
audioTracksIcon: Icons.audiotrack_outlined,
playerTheme: BetterPlayerTheme.cupertino,
),
);
class AnimeInfoData implements AnimeInfoRepository {
final HttpService dio;
final String provider;
AnimeInfoData(this.dio, this.provider);
@override
Future<AnimeInfoModel?> getAnimeInfo(
{required String id, CancelToken? cancelToken}) async {
final response = await dio.get("${Configs.infoUrl}/$id",
queryParameters: {"provider": provider}, cancelToken: cancelToken);
return AnimeInfoModel.fromJson(response);
}
@override
Future<EpisodeUrl?> getEpisodeUrl(
{required String episodeId, CancelToken? cancelToken}) async {
final response = await dio.get("${Configs.watchUrl}/$episodeId",
queryParameters: {"provider": provider}, cancelToken: cancelToken);
return EpisodeUrl.fromJson(response);
}
}
This code should play videos from most of the providers as their implementation are same.
The video player is playing videos with zoro provider but any other provider are throwing error:
PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error, , null)
This is full project
It gives an error "Something went wrong. Please try again later.", any idea how to fix it?
Request: http://127.0.0.1:3000/movies/flixhq/watch?episodeId=7230&mediaId=movie/watch-project-xtraction-7230
{
"headers": {
"Referer": "string"
},
"sources": [
{
"url": "string",
"quality": "string",
"isM3U8": true
}
],
"subtitles": [
{
"url": "string",
"lang": "string"
}
]
}
{"message":"Something went wrong. Please try again later."}
??
This would open the door to implementing a fallback feature which would make the api more robust in the case of unreliable providers. Implementing it into the API directly would reduce requests to consumet itself, and simplify usage for developers.
Error code 503
Try querying /watch/{episodeId}
JSON Response object
503 internal server error
No response
There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.
Location: renovate.json
Error type: The renovate configuration file contains some invalid settings
Message: Invalid packageRules[0].schedule: 'Invalid schedule: "0 */1 * * *" has cron syntax, but doesn't have * as minutes'
Error code 500
Try querying a search on /animepahe/{query}
JSON Response is expected
Error thrown
No response
As mentioned in the title, the fmovies provider does not work, neither at your instance, nor at the one I host locally
Use the api's function to search something through fmovies. Using your instance that returns a 403 error
$ curl https://api.consumet.org/movies/fmovies/deadpool
{"statusCode":500,"error":"Internal Server Error","message":"Request failed with status code 403"
Using my instance, hosted locally
# curl -s http://localhost:3000/movies/fmovies/deadpool
{"statusCode":500,"error":"Internal Server Error","message":"connect ECONNREFUSED ::1:80"}
# curl -s http://localhost:3000/movies/fmovies/deadpool
{"statusCode":500,"error":"Internal Server Error","message":"connect EAFNOSUPPORT ::1:80 - Local (undefined:undefined)"}
The top error is with ip6 disabled (kernel parameter ipv6.disable=1), the bottom one is with ipv6 enabled.
I don't know how the results from fmovies actually look like, but I assume they should look like the ones from flixhq
# curl -s http://localhost:3000/movies/flixhq/deadpool
{"currentPage":1,"hasNextPage":false,"results":[{"id":"movie/watch-deadpool-19694","title":"Deadpool","url":"https://flixhq.to/movie/watch-deadpool-19694","image":"https://img.flixhq.to/xxrz/250x400/379/17/5c/175c58ef507c3b92a77825d04569a3ed/175c58ef507c3b92a77825d04569a3ed.jpg","releaseDate":"2016","type":"Movie"},{"id":"movie/watch-deadpool-2-19799","title":"Deadpool 2","url":"https://flixhq.to/movie/watch-deadpool-2-19799","image":"https://img.flixhq.to/xxrz/250x400/379/e5/6f/e56fac68a871cf787db740d4d3072603/e56fac68a871cf787db740d4d3072603.jpg","releaseDate":"2018","type":"Movie"},{"id":"movie/watch-once-upon-a-deadpool-19800","title":"Once Upon a Deadpool","url":"https://flixhq.to/movie/watch-once-upon-a-deadpool-19800","image":"https://img.flixhq.to/xxrz/250x400/379/5b/92/5b924878c80e51ff2db738eb2d55e691/5b924878c80e51ff2db738eb2d55e691.jpg","releaseDate":"2018","type":"Movie"}]}
See above. The reason I tried with ipv6 support disabled is explained below.
Flixhq returns this error and fails with anything when ipv6 is enabled. That is why I tried both providers with it being disabled.
# curl -s http://localhost:3000/movies/flixhq/deadpool
{"statusCode":500,"error":"Internal Server Error","message":"connect EHOSTUNREACH (ipv6 address removed)"}
The api does not return streams for vidcloud and upcloud. It does return streams for mixcloud though.
mediaId
as the api names it. E.g. for deadpool$ curl -s https://api.consumet.org/movies/flixhq/deadpool | jq .
{
"id": "movie/watch-deadpool-19694",
},
episodeId
as the api names it.$ curl -s https://api.consumet.org/movies/flixhq/info?id=movie/watch-deadpool-19694 | jq .
{
"id": "19694",
}
$ curl -s "https://api.consumet.org/movies/flixhq/watch?episodeId=19694&mediaId=movie/watch-deadpool-19694&server=vidcloud" | jq .
$ curl -s "https://api.consumet.org/movies/flixhq/watch?episodeId=19694&mediaId=movie/watch-deadpool-19694&server=upcloud" | jq .
The last step should return results similar to this one, which is for mixdrop.
$ curl -s "https://api.consumet.org/movies/flixhq/watch?episodeId=19694&mediaId=movie/watch-deadpool-19694&server=mixdrop" | jq .
{
"url": "https://s-delivery25.mxdcontent.net/v/0d097bb93c197127f37e24d151e5ff26.mp4?s=2aWSU0kHPEWTnEV_wNqLOQ&e=1665692979&_t=1665677379",
}
Instead, a "media not found" message is returned for vidcloud and upcloud.
$ curl -s "https://api.consumet.org/movies/flixhq/watch?episodeId=19694&mediaId=movie/watch-deadpool-19694&server=vidcloud" | jq .
{
"message": "Media Not found."
}
$ curl -s "https://api.consumet.org/movies/flixhq/watch?episodeId=19694&mediaId=movie/watch-deadpool-19694&server=upcloud" | jq .
{
"message": "Media Not found."
}
I don't know when the api broke, but I am sure I used it successfully on a script 2 days ago.
Also, all command outputs above have been trimmed to show only the important part of each one.
Reverting latest fmovies.ts and marin.ts is required to run docker
Assuming you have the repo cloned:
cd ../consumet-api
git pull
docker rm -f local_consumet
docker container prune -f
docker build -t consumet-api .
docker run -p 3000:3000 --name local_consumet consumet-api
Container should start.
Before reverting marin.ts:
> [email protected] start
> ts-node src/main.ts
/home/nodejs/app/node_modules/ts-node/src/index.ts:859
return new TSError(diagnosticText, diagnosticCodes, diagnostics);
^
TSError: ⨯ Unable to compile TypeScript:
src/routes/anime/marin.ts(65,12): error TS2554: Expected 2 arguments, but got 1.
at createTSError (/home/nodejs/app/node_modules/ts-node/src/index.ts:859:12)
at reportTSError (/home/nodejs/app/node_modules/ts-node/src/index.ts:863:19)
at getOutput (/home/nodejs/app/node_modules/ts-node/src/index.ts:1077:36)
at Object.compile (/home/nodejs/app/node_modules/ts-node/src/index.ts:1433:41)
at Module.m._compile (/home/nodejs/app/node_modules/ts-node/src/index.ts:1617:30)
at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
at Object.require.extensions.<computed> [as .ts] (/home/nodejs/app/node_modules/ts-node/src/index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:1081:32)
at Function.Module._load (node:internal/modules/cjs/loader:922:12)
at Module.require (node:internal/modules/cjs/loader:1105:19) {
diagnosticCodes: [ 2554 ]
}
npm notice
npm notice New minor version of npm available! 9.2.0 -> 9.6.2
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.2>
npm notice Run `npm install -g [email protected]` to update!
npm notice
Before reverting fmovies.ts:
> [email protected] start
> ts-node src/main.ts
/home/nodejs/app/node_modules/ts-node/src/index.ts:859
return new TSError(diagnosticText, diagnosticCodes, diagnostics);
^
TSError: ⨯ Unable to compile TypeScript:
src/routes/movies/fmovies.ts(15,5): error TS2554: Expected 0-2 arguments, but got 3.
at createTSError (/home/nodejs/app/node_modules/ts-node/src/index.ts:859:12)
at reportTSError (/home/nodejs/app/node_modules/ts-node/src/index.ts:863:19)
at getOutput (/home/nodejs/app/node_modules/ts-node/src/index.ts:1077:36)
at Object.compile (/home/nodejs/app/node_modules/ts-node/src/index.ts:1433:41)
at Module.m._compile (/home/nodejs/app/node_modules/ts-node/src/index.ts:1617:30)
at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
at Object.require.extensions.<computed> [as .ts] (/home/nodejs/app/node_modules/ts-node/src/index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:1081:32)
at Function.Module._load (node:internal/modules/cjs/loader:922:12)
at Module.require (node:internal/modules/cjs/loader:1105:19) {
diagnosticCodes: [ 2554 ]
}
npm notice
npm notice New minor version of npm available! 9.2.0 -> 9.6.2
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.2>
npm notice Run `npm install -g [email protected]` to update!
npm notice
No response
Recently zoro got rebranded to aniwatch, and so it's domain change. this change cause error to the current zoro provider
one of the error is in the streaming link endpoint. for example https://api.consumet.org/anime/zoro/watch?episodeId=spy-x-family-17977$episode$89506$both&server=vidcloud
it should return with this schema
{
"headers": {
"Referer": "string",
"watchsb": "string", // or null, since only provided with server being equal to "streamsb".
"User-Agent": "string" // or null
},
"sources": [
{
"url": "string",
"quality": "string",
"isM3U8": true
}
]
}
but currently it return
"message": {}
i think this should be an easy fix, just by changing the domain. since the content in the new domain is still the same with the old one
How can i fetch movies and popular animes because this api url only showing 1 movie and popular anime in 1st page.
https://api.consumet.org/anime/gogoanime/movies
https://api.consumet.org/anime/gogoanime/popular
api.consumet.org shows 503, or keeps loading.
Just load the URL.
It gives a response
It keeps on loading, or shows a 503 error
No response
CORS blocking my access to the m3u8 files and when hosting my own server i don't even get the json response of some episodes back
Getting a response back or having access to the files
getting no response and getting blocked
No response
Hey I was working with the API and suddenly it stopped working. I think you might have an application error on your Heroku server
zoro watch api returns {"message":{}} although I pass in the correct episode Id
I get this "bleach-the-movie-fade-to-black-1492$episode$58326" id from zoro info api and pass in the link "https://consumet-api.herokuapp.com/anime/zoro/watch?episodeId=bleach-the-movie-fade-to-black-1492$episode$58326"
it returns 404
this is the link:
https://consumet-api.herokuapp.com/anime/zoro/watch?episodeId=bleach-the-movie-fade-to-black-1492$episode$58326
it should return data
https://consumet-api.herokuapp.com/anime/zoro/watch?episodeId=bleach-the-movie-fade-to-black-1492$episode$58326
returns {"message":{}} instead of data
No response
After few requests, FlixHq starts returning status code "429 Too Many Requests"
$ curl -I https://api.consumet.org/movies/flixhq/a
HTTP/2 200
$ curl -I https://api.consumet.org/movies/flixhq/b
HTTP/2 200
$ curl -I https://api.consumet.org/movies/flixhq/c
HTTP/2 429
This happens not only for search requests, but also for info and watch.
It shouldn't return status code 429 after few requests.
It returns status code 429 after few requests.
While it is reasonable to limit how many requests can be sent in a certain period, I think this is far too few. I don't know for sure if the limitation is set in this API or it's something set by the FlixHq. I can send requests directly to FlixHq (flixhq.to) repeatedly without getting the error.
Docker container from fresh build fails to start
Assuming you have the git repo cloned:
cd ../consumet-api
git pull
docker rm -f local_consumet
docker container prune -f
docker build -t consumet-api .
docker run -p 3000:3000 --name local_consumet consumet-api
Container should start.
Error message follows:
> [email protected] start
> ts-node src/main.ts
/home/nodejs/app/node_modules/ts-node/src/index.ts:859
return new TSError(diagnosticText, diagnosticCodes, diagnostics);
^
TSError: ⨯ Unable to compile TypeScript:
src/routes/anime/9anime.ts(112,35): error TS2341: Property 'ev' is private and only accessible within class 'NineAnime'.
src/routes/anime/9anime.ts(115,35): error TS2551: Property 'searchVrf' does not exist on type 'NineAnime'. Did you mean 'search'?
src/routes/anime/9anime.ts(118,35): error TS2339: Property 'decrypt' does not exist on type 'NineAnime'.
src/routes/anime/9anime.ts(121,35): error TS2339: Property 'vizcloud' does not exist on type 'NineAnime'.
src/routes/anime/9anime.ts(124,35): error TS2339: Property 'customRequest' does not exist on type 'NineAnime'.
at createTSError (/home/nodejs/app/node_modules/ts-node/src/index.ts:859:12)
at reportTSError (/home/nodejs/app/node_modules/ts-node/src/index.ts:863:19)
at getOutput (/home/nodejs/app/node_modules/ts-node/src/index.ts:1077:36)
at Object.compile (/home/nodejs/app/node_modules/ts-node/src/index.ts:1433:41)
at Module.m._compile (/home/nodejs/app/node_modules/ts-node/src/index.ts:1617:30)
at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
at Object.require.extensions.<computed> [as .ts] (/home/nodejs/app/node_modules/ts-node/src/index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:1081:32)
at Function.Module._load (node:internal/modules/cjs/loader:922:12)
at Module.require (node:internal/modules/cjs/loader:1105:19) {
diagnosticCodes: [ 2341, 2551, 2339, 2339, 2339 ]
}
npm notice
npm notice New minor version of npm available! 9.2.0 -> 9.6.2
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.2>
npm notice Run `npm install -g [email protected]` to update!
npm notice
No response
Returns a not found page
Sorry,
I dont have discord, but if I press the heroku button, returns a not found error...
Is no more supported?
Thanks
Open heroku
Not found page
No response
flixhq provider is not working
Returns JSON response
Redirects to 9anime
No response
the key in rapidclown rabbitstream branch isn't working and the action of the update isn't lanching at all
test the rabbitstream key
key working
key not working
No response
No response
Request the link for a movie or episode using tmdb meta
This should provide links for the id
{"level":40,"time":1690022745923,"pid":8,"hostname":"xxx.xxx.xxx.xxx","reqId":"req-1g","err":{"type":"FastifyError","message":"Reply was already sent.","stack":"FastifyError: Reply was already sent.\n at Reply.send (/var/task/node_modules/fastify/lib/reply.js:127:26)\n at /vercel/path0/src/routes/meta/tmdb.ts:55:27\n at Generator.next ()\n at fulfilled (/var/task/src/routes/meta/tmdb.js:5:58)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)","code":"FST_ERR_REP_ALREADY_SENT","name":"FastifyError","statusCode":500},"msg":"Reply already sent"}
Getting following error in logs
No response
500 internal server error, with response body - "Something went wrong. Contact developer for help."
Just query any anime episode...
https://api.consumet.org/meta/anilist/watch/{episodeId}?provider=animepahe
Should return a list of stream uris.
500 internal server error.
No response
As mentioned in the title, libgen returns 403 errors for both query urls.
For simplicity reasons, instead of some generic word that would return tens or even hundreds or results, e.g. "greek", the isbn of a specific book will be used as a term, thus the api would return only one result.
$ curl -s "https://api.consumet.org/books/s?bookTitle=9781501134630&page=1"
{"message":{"message":"Request failed with status code 403","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, */*","User-Agent":"axios/0.27.2"},"method":"get","url":"http://libgen.rs/search.php?req=9781501134630&view=simple&res=25&sort=def&sortmode=ASC&page=1"},"code":"ERR_BAD_REQUEST","status":403},"error":"internal_error"}
or with the secondary one
$ curl -s "https://api.consumet.org/books/libgen/s?bookTitle=9781501134630&page=1"
{"statusCode":400,"code":"ERR_BAD_REQUEST","error":"Bad Request","message":"Request failed with status code 403"
Normally, the api should return results. e.g. for the forementioned url the book is "Midnight in Chernobyl".
However, it fails with a 403 error as seen above.
The api was working properly yesterday morning (I live at gmt+2) when I last run my mini app that uses it to display info about books. I checked it again last night and it had the forementioned issue. I checked it again earlier today, like 4-5 hours ago and it was working again. And I checked it just now and it is broken again.
This app is my "homework" for a lesson that I should present to the "classroom" yesterday morning, but my presentation was postponed for Monday's morning. I hope it is fixed by then :)
Zoro isn't providing video data, while fetching from the link given in docs, "https://api.consumet.org/anime/zoro/watch?episodeId=spy-x-family-17977$episode$89506$dub"
Just, try accessing any episode from "/watch" endpoint.
E.g.
Classroom of the Elite
This should provide the :
The response given is, {"message":{}}
with status code 404.
I just made a direct anime player for Iframe embeds based on the API and in just an hour this problem occured.
The player works with using episode Id : https://speedynet.eu.org/apps/anime/zoro?id={episodeId}
The anime info route of zoro provider is not working. Its always giving 404 status code with an empty object having an empty message property.
{ "message": { } }
as response & the status code is 404
Should show info about the anime that is being seached for if it exists.
For eg. I searched for Steins Gate, so it should information about Steins Gate. Information like its Studio, Genres, etc.
Should show info about the anime that is being seached for if it exists.
For eg. I searched for Steins Gate, so it should information about Steins Gate. Information like its Studio, Genres, etc.
No response
Hi there,
This is just a request to provide the "default" quality hls stream url first in the sources array from the API response.
{
"headers": {
"Referer": "https://playgo1.cc/embedplus?id=MTkyNjAy&token=WOsXz6plgqICZIzkwVNOaA&expires=1675922589"
},
"sources": [{
"url": "https://wwwx13.gofcdn.com/videos/hls/WJfteL0w4ByDKG6O8QZ88Q/1675929790/192602/35048ebd339056b22336edd5f216b659/ep.1.1663759957.360.m3u8",
"isM3U8": true,
"quality": "360p"
}, {
"url": "https://wwwx13.gofcdn.com/videos/hls/WJfteL0w4ByDKG6O8QZ88Q/1675929790/192602/35048ebd339056b22336edd5f216b659/ep.1.1663759957.480.m3u8",
"isM3U8": true,
"quality": "480p"
}, {
"url": "https://wwwx13.gofcdn.com/videos/hls/WJfteL0w4ByDKG6O8QZ88Q/1675929790/192602/35048ebd339056b22336edd5f216b659/ep.1.1663759957.720.m3u8",
"isM3U8": true,
"quality": "720p"
}, {
"url": "https://wwwx13.gofcdn.com/videos/hls/WJfteL0w4ByDKG6O8QZ88Q/1675929790/192602/35048ebd339056b22336edd5f216b659/ep.1.1663759957.1080.m3u8",
"isM3U8": true,
"quality": "1080p"
}, {
"url": "https://wwwx13.gofcdn.com/videos/hls/WJfteL0w4ByDKG6O8QZ88Q/1675929790/192602/35048ebd339056b22336edd5f216b659/ep.1.1663759957.m3u8",
"isM3U8": true,
"quality": "default"
}, {
"url": "https://wwwx13.gofcdn.com/videos/hls/WJfteL0w4ByDKG6O8QZ88Q/1675929790/192602/35048ebd339056b22336edd5f216b659/ep.1.1663759957.m3u8",
"isM3U8": true,
"quality": "backup"
}],
"download": "https://gogohd.net/download?id=MTkyNjAy&token=WOsXz6plgqICZIzkwVNOaA&expires=1675922589"
}
The new order of episode urls should be like :
default |
360 |
480 |
720 |
1080 |
backup |
Something like this would be helpful.
For some episodes having 180p or not having any one of the above given resolutions could impact the order of default url.
While trying to fetch an anime info using its ID, it gave error.
• Gintama: The Movie: The Final Chapter: Be Forever Yorozuya
• Kizumonogatari Part 3: Cold-Blooded
Just request for any of these anime.
It should give all the anime details including.
This is the error I am getting : {"message":"Cannot read properties of undefined (reading 'trim')"}
No response
When trying to get info for a movie it doesn't work with either media types (series
and movie
)
Try getting info for a movie (in this case Your Name) with either one of the media types
Used link: https://api.consumet.org/anime/crunchyroll/info?id=G9VHN9PK3&mediaType=movie
Info gets returned
Either Error 500 or empty message
series
{
"message": {
"message": "Request failed with status code 500",
"name": "AxiosError",
"config": {
"transitional": {
"silentJSONParsing": true,
"forcedJSONParsing": true,
"clarifyTimeoutError": false
},
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"maxBodyLength": -1,
"env": {},
"headers": {
"Accept": "application/json, text/plain, */*",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkFxbUJwdVpTZTlNUnlBWVo0YU5hUWciLCJ0eXAiOiJKV1QifQ.eyJhbm9ueW1vdXNfaWQiOiIiLCJiZW5lZml0cyI6WyJjYXRhbG9nIiwiY29uY3VycmVudF9zdHJlYW1zLjQiLCJjcl9leHBvX2ZpcnN0X2FjY2VzcyIsImNyX2Zhbl9wYWNrIiwiY3JfcHJlbWl1bSIsImNyX3N0b3JlLjE1X29mZl8xMDAiLCJtYW5nYV9saWJyYXJ5Iiwibm9fYWRzIiwib2ZmbGluZV92aWV3aW5nIiwic2ltdWxjYXN0Il0sImNsaWVudF9pZCI6ImNyX2FuZHJvaWQiLCJjbGllbnRfdGFnIjoiMy44LjAiLCJjb3VudHJ5IjoiVVMiLCJldHBfdXNlcl9pZCI6IjY2MDk3ZTE0LTZhYzYtNWQ5Yy04NWFhLTMzNjZjY2NiZTAxOSIsImV4cCI6MTY3NDc2NDU5NiwianRpIjoiZjc2NzRhMDYtNWQ3Mi00ZjM5LThiNmEtNzkxMGFkN2FiZTNmIiwibWF0dXJpdHkiOiJNMyIsIm9hdXRoX3Njb3BlcyI6ImFjY291bnQgY29udGVudCBvZmZsaW5lX2FjY2VzcyByZXZpZXdzIHRhbGtib3giLCJydF9pZCI6ImNmOWUwMjA0MXEzdHI2Y3Uzb2JnIiwic2NvcGVzIjp7ImNyIjp7ImFjY19pZCI6IjY2MDk3ZTE0LTZhYzYtNWQ5Yy04NWFhLTMzNjZjY2NiZTAxOSIsImV4dF9pZCI6IjEwOTQxNTg2NDIifX0sInN0YXR1cyI6IkFDVElWRSIsInRudCI6ImNyIn0.iFziLSSCYZiz3b_pcRGl5ZtQE5HYh283sElvVDBWO-C-RyYTZ-4ahmZzemnc8DN_tOT6GLD5pukU_m0wejF4Y38J0momFQiCONGE3PAttffqhUyWzt34Z3KAf9nJNY2PKBIbbaucIikdJyXX1tm9Vn6ZIbv5C-IEiDMl0rlZPWIwmaEPIbzmJIVjZvrvyUF_knZHULVyOfKLGXmZeMwr8wnKmL5_odRlvt073Ct2GjcZglgwtY7snAOMmc1Uh93x60TW8Snt1kFGvFExON4YIES2nzhtc1pWQLIh884RW8kauS-Q7VpmJDMv7tSmW4-aLPWLqL8HcJRxZgBxoRjr3Q"
},
"method": "get",
"url": "https://cronchy.consumet.stream/info/G9VHN9PK3?type=series&fetchAllSeasons=false"
},
"code": "ERR_BAD_RESPONSE",
"status": 500
}
}
movie
{"message":{}}
I got the media types from here
As seen in the screenshot below, animixplay shut down yesterday.
Use the api to search for something, e.g.
$ curl -s https://api.consumet.org/anime/animixplay/dragonball | jq .
{
"results": [
{
"id": "/v1/dragon-ball",
"title": "Dragon Ball",
"url": "https://animixplay.to/v1/dragon-ball"
},
{
"id": "/v1/dragon-ball-dub",
"title": "Dragon Ball (Dub)",
"url": "https://animixplay.to/v1/dragon-ball-dub"
},
{
"id": "/v1/dragon-ball-gt",
"title": "Dragon Ball GT",
"url": "https://animixplay.to/v1/dragon-ball-gt"
},
{
"id": "/v1/dragon-ball-gt-dub",
"title": "Dragon Ball GT (Dub)",
"url": "https://animixplay.to/v1/dragon-ball-gt-dub"
},
{
"id": "/v1/dragon-ball-kai",
"title": "Dragon Ball Kai",
"url": "https://animixplay.to/v1/dragon-ball-kai"
},
{
"id": "/v1/dragon-ball-kai-2014",
"title": "Dragon Ball Kai (2014)",
"url": "https://animixplay.to/v1/dragon-ball-kai-2014"
}
]
}
Any of the above entries that are under the url keys should point to a valid page...
However, every url under the forementioned domain redirects to the main page where the user sees the following announcemet.
This is as far as I could go with the api's functions. All I found from the source code is that it has 3 functions (search, info and watch), but I could not make any of the other 2 work.
Sadly, the api's part for animixplay is not documented under docs.consumet.org (and for other supported sites too) and my knowledge is too limited to understand the rest :(
not working
when searching access denied
..
...
No response
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
node
, @types/node
)Dockerfile
node 20
Dockerfile.alpine
node 20.8-alpine
Dockerfile.distroless
node 20
gcr.io/distroless/nodejs 18
.github/workflows/codeql-analysis.yml
actions/checkout v3
github/codeql-action v3
github/codeql-action v3
github/codeql-action v3
.github/workflows/docker-build.yml
docker/setup-qemu-action v2
docker/setup-buildx-action v2
docker/login-action v2
docker/build-push-action v4
.github/workflows/nodejs-ci.yml
actions/checkout v3
actions/setup-node v4.0.2
package.json
@fastify/cors ^8.2.0
@types/fastify-cors ^2.1.0
@types/node ^18.11.17
@types/ws ^8.5.3
axios ^1.0.0
chalk 4.1.2
cheerio 1.0.0-rc.12
dotenv ^16.0.3
fastify ^4.10.2
fastify-cors ^6.1.0
ioredis ^5.2.4
reconnecting-websocket ^4.4.0
ts-node ^10.9.1
typescript 5.3.3
ws ^8.8.1
nodemon 3.0.1
prettier ^3.0.0
node >=12.5.0
yarn >=1.17.3
.travis.yml
node 12.22.12
node 13
node 14
node 15
node 16
node 17
Crunchyroll search is not working
Get 'https://api.consumet.org/anime/crunchyroll/attack'
Returning something like this:
{
"id": "attack-on-tomorrow.kvm4",
"title": "Attack on Tomorrow",
"url": "https://9anime.pl/watch/attack-on-tomorrow.kvm4",
"image": "https://static.bunnycdn.ru/i/cache/images/2020/03/a74e1d59b2f118aeff732cb7eb229d28.jpg",
"type": "TV",
"hasSub": true,
"hasDub": false
},
Returning an error:
{
"statusCode": 500,
"code": "ERR_BAD_REQUEST",
"error": "Internal Server Error",
"message": "Request failed with status code 404"
}
I am using Postman to test things.
First of all, This is just a request for a feature.
Mentioned below.
Hi there, I am requesting for an important feature to be added.
Feature : The feature is just providing gogo-id
, gogodub-id
or zoro-id
(if available) when fetching anime data from anilist (meta/anilist/trending
meta/anilist/popular
meta/anilist/random-anime
or meta/anilist/info/{id}
), just like how id
and malId
are provided by the api.
This will make it a lot easier to implement in anime apps and web apps.
Thank you,
Great day ahead.
When I try to fetch any specific anime info from the provider - zoro, then the "subOrDub" field remains the same for all, it only shows "sub" value neither dub or both
The "subOrDub" field should display if the specific anime is available in subbed or dubbed version
The field displays only "sub" value for every anime and serves it's corresponding subbed episode ID's
No response
Api Error
If i try to get this https://api.consumet.org/meta/anilist/popular
Error comes... The same with search and anime info
List of trending animes and their data
{"statusCode":500,"error":"Internal Server Error","message":"Request failed with status code 429"}
No response
Returns nothings but anilist has info about it.
https://api.consumet.org/meta/anilist/advanced-search?perPage=50&query=yahari%20ore%20no%20seishun
https://api.consumet.org/meta/anilist/info/14813
{"message":{}}
I expect it to return json string along with anime title, image, cover, release date, episodes, characters, and a lot more info.
The API seems doesnt have info about it but anilist has it.
https://anilist.co/anime/14813/Yahari-Ore-no-Seishun-Love-Come-wa-Machigatteiru/
Returns
{"message":{}}
Instead of something like this
{"id":"20","title":{"romaji":"NARUTO","english":"Naruto","native":"NARUTO -ナルト-"},"malId":20,"synonyms":["נארוטו","ناروتو","火影忍者","นารูโตะ นินจาจอมคาถา"],"isLicensed":true,"isAdult":false,"countryOfOrigin":"JP","image":"https://s4.anilist.co/file/anilistcdn/media/anime/cover/large/bx20-YJvLbgJQPCoI.jpg","popularity":429649,"color":"#e47850","cover":"https://s4.anilist.co/file/anilistcdn/media/anime/banner/20-HHxhPj5JD13a.jpg","description":"Naruto Uzumaki, a hyperactive and knuckle-headed ninja, lives in Konohagakure, the Hidden Leaf village. Moments prior to his birth, a huge demon known as the Kyuubi, the Nine-tailed Fox, attacked Konohagakure and wreaked havoc. In order to put an end to the Kyuubi's rampage, the leader of the village, the 4th Hokage, sacrificed his life and sealed the monstrous beast inside the newborn Naruto. <br><br>\nShunned because of the presence of the Kyuubi inside him, Naruto struggles to find his place in the village. He strives to become the Hokage of Konohagakure, and he meets many friends and foes along the way. <br><br>\n(Source: MAL Rewrite)","status":"Completed","releaseDate":2002,"startDate":{"year":2002,"month":10,"day":3},................................ more info"
No response
The current installation way of the api, which involves cloning the git repo, brings along issues.
As described in the readme, the "local" way to install the api is to clone the git repo and then use npm. Cloning the repo though gets all all the issues of the development to the user (more in the "actual behavior" part), which is not ideal.
After following all the instructions to the letter, the api server should launch and all its providers should work with no issues.
However, this is not what happens, at least on my end. Up until the commit of May 4th (= the first time I tried that way of installation), the server launched as usual and all other issues were related to the providers themselves.
Four days and two commits later and the server can not launch at all!
And this made me open this request: please post releases of the api on which the server, i.e.the core component of all this, is in working condition. I know that the providers change constantly and, accorting to the status page, some of them do not work from time to time, but having the server work properly is more important.
The reason behind all this is that I got tired of searching for a working instance, so I decided to host my own eventually. The main one leads to a 1020 error, another one I used in the past leads to a 520 error and a third one no longer exists!
So, as a test, I set up a vm with arch (minimal cli installation + git + npm) and what I mentioned above followed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.