diff --git a/dart/anime/anime_source_list.dart b/dart/anime/anime_source_list.dart index e582dc61..588bf52d 100644 --- a/dart/anime/anime_source_list.dart +++ b/dart/anime/anime_source_list.dart @@ -10,7 +10,9 @@ import 'src/en/animepahe/source.dart'; import 'src/en/dramacool/source.dart'; import 'src/en/gogoanime/source.dart'; import 'src/en/nineanimetv/source.dart'; +import 'src/es/animeonlineninja/source.dart'; import 'src/fr/animesama/source.dart'; +import 'src/fr/anizone/source.dart'; import 'src/hi/yomovies/source.dart'; import 'src/en/kisskh/source.dart'; import 'src/en/uhdmovies/source.dart'; @@ -50,5 +52,7 @@ List dartAnimesourceList = [ animepaheSource, animetoast, animesvision, - diziwatchSource + diziwatchSource, + aniZoneSource, + animeonlineninjaSource ]; diff --git a/dart/anime/src/es/animeonlineninja/animeonlineninja.dart b/dart/anime/src/es/animeonlineninja/animeonlineninja.dart new file mode 100644 index 00000000..24f8f713 --- /dev/null +++ b/dart/anime/src/es/animeonlineninja/animeonlineninja.dart @@ -0,0 +1,309 @@ +import 'package:mangayomi/bridge_lib.dart'; +import 'dart:convert'; + +class AnimeOnlineNinja extends MProvider { + AnimeOnlineNinja({required this.source}); + + MSource source; + + final Client client = Client(source); + + @override + bool get supportsLatest => false; + + @override + Future getPopular(int page) async { + final res = + (await client.get(Uri.parse("${source.baseUrl}/tendencias"))).body; + return parseAnimeList(res); + } + + @override + Future search(String query, int page, FilterList filterList) async { + String pageStr = page == 1 ? "" : "page/$page/"; + final res = (await client.get(Uri.parse( + "${source.baseUrl}/$pageStr?s=${query.replaceAll(" ", "+")}"))) + .body; + return parseAnimeList(res, + selector: "div.result-item div.image a", + hasNextPage: parseHtml(res) + .selectFirst( + "div.pagination > *:last-child:not(span):not(.current)") + ?.text != + null); + } + + @override + Future getDetail(String url) async { + final res = (await client.get(Uri.parse("${source.baseUrl}$url"))).body; + MManga anime = MManga(); + final document = parseHtml(res); + anime.description = document.selectFirst("div#info").text; + anime.genre = document + .selectFirst("div.sheader") + .select("div.data > div.sgeneros > a") + .map((e) => e.text) + .toList(); + + List? episodesList = []; + final seasonElements = document.select("div#seasons > div"); + if (seasonElements.isEmpty) { + MChapter episode = MChapter(); + episode.name = "Película"; + episode.url = getUrlWithoutDomain(url); + episodesList.add(episode); + } else { + for (var seasonElement in seasonElements) { + final seasonName = seasonElement.selectFirst("span.se-t").text; + for (var epElement in seasonElement.select("ul.episodios > li")) { + final href = epElement.selectFirst("a[href]"); + final epNum = epElement.selectFirst('div.numerando')?.text ?? "0 - 0"; + MChapter episode = MChapter(); + episode.name = + "Season $seasonName x ${substringAfter(epNum, '- ')} ${href.text}"; + episode.url = getUrlWithoutDomain(href!.getHref); + episodesList.add(episode); + } + } + } + + anime.chapters = episodesList.reversed.toList(); + return anime; + } + + @override + Future> getVideoList(String url) async { + final res = (await client.get(Uri.parse("${source.baseUrl}$url"))).body; + final document = parseHtml(res); + final players = document.select("ul#playeroptionsul li"); + List videos = []; + for (var player in players) { + final name = player.selectFirst("span.title").text; + final type = player.attr("data-type"); + final id = player.attr("data-post"); + final num = player.attr("data-nume"); + final resUrl = (await client.get(Uri.parse( + "${source.baseUrl}/wp-json/dooplayer/v1/post/$id?type=$type&source=$num"))) + .body; + final url = + substringBefore(substringAfter(resUrl, "\"embed_url\":\""), "\",") + .replaceAll("\\", ""); + videos.addAll(await extractVideos(url, name)); + } + return sortVideos(videos, source.id); + } + + Future> extractVideos(String url, String lang) async { + List videos = []; + List a = []; + if (url.contains("saidochesto.top") || lang == "MULTISERVER") { + return await extractFromMulti(url); + } else if (["filemoon", "moon", "filemooon"].any((a) => url.contains(a))) { + a = await filemoonExtractor(url, "$lang Filemoon - ", ""); + } else if (["https://dood", "https://ds2play", "https://d0"] + .any((a) => url.contains(a))) { + a = await doodExtractor(url, "$lang DoodStream"); + } else if (["streamtape", "stp", "stape"].any((a) => url.contains(a))) { + a = await streamTapeExtractor(url, "$lang StreamTape"); + } else if (url.contains("uqload")) { + a = await uqloadExtractor(url, lang); + } else if (url.contains("wolfstream")) { + final resUrl = (await client.get(Uri.parse(url))).body; + final jsData = + parseHtml(resUrl).selectFirst("script:contains(sources)").text; + final videoUrl = + substringBefore(substringAfter(jsData, "{file:\""), "\""); + + MVideo video = MVideo(); + video + ..url = videoUrl + ..originalUrl = videoUrl + ..quality = "$lang WolfStream"; + + a = [video]; + } else if (["wishembed", "streamwish", "strwish", "wish"] + .any((a) => url.contains(a))) { + a = await streamWishExtractor(url, "$lang StreamWish"); + } else if (url.contains("mp4upload")) { + a = await mp4UploadExtractor(url, null, "$lang", ""); + } else if (["vidhide", "filelions.top", "vid."] + .any((a) => url.contains(a))) { + a = await streamHideExtractor(url, lang); + } + videos.addAll(a); + + return videos; + } + + Future> streamHideExtractor(String url, String prefix) async { + final res = (await client.get(Uri.parse(url))).body; + final masterUrl = substringBefore( + substringAfter( + substringAfter( + substringAfter(unpackJs(res), "sources:"), "file:\""), + "src:\""), + '"'); + final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; + List videos = []; + for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") + .split("#EXT-X-STREAM-INF:")) { + final quality = + "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; + + String videoUrl = substringBefore(substringAfter(it, "\n"), "\n"); + + if (!videoUrl.startsWith("http")) { + videoUrl = + "${masterUrl.split("/").sublist(0, masterUrl.split("/").length - 1).join("/")}/$videoUrl"; + } + + MVideo video = MVideo(); + video + ..url = videoUrl + ..originalUrl = videoUrl + ..quality = "$prefix StreamHideVid - $quality"; + videos.add(video); + } + return videos; + } + + Future> uqloadExtractor(String url, String lang) async { + final res = (await client.get(Uri.parse(url))).body; + final js = xpath(res, '//script[contains(text(), "sources:")]/text()'); + if (js.isEmpty) { + return []; + } + + final videoUrl = + substringBefore(substringAfter(js.first, "sources: [\""), '"'); + MVideo video = MVideo(); + video + ..url = videoUrl + ..originalUrl = videoUrl + ..quality = "$lang Uqload" + ..headers = {"Referer": "${Uri.parse(url).origin}/"}; + return [video]; + } + + Future> extractFromMulti(String url) async { + final res = (await client.get(Uri.parse(url))).body; + final document = parseHtml(res); + + final prefLang = getPreferenceValue(source.id, "preferred_lang"); + String langSelector = ""; + if (prefLang.isEmpty) { + langSelector = "div"; + } else { + langSelector = "div.OD_$prefLang"; + } + List videos = []; + for (var element in document.select("div.ODDIV $langSelector > li")) { + final hosterUrl = + substringBefore(substringAfter(element.attr("onclick"), "('"), "')"); + String lang = ""; + if (langSelector == "div") { + lang = substringBefore( + substringAfter(element.parent?.attr("class"), "OD_", ""), " "); + } else { + lang = prefLang; + } + videos.addAll(await extractVideos(hosterUrl, lang)); + } + + return videos; + } + + MPages parseAnimeList(String res, + {String selector = "article.w_item_a > a", bool hasNextPage = false}) { + final elements = parseHtml(res).select(selector); + List animeList = []; + for (var element in elements) { + final url = getUrlWithoutDomain(element.getHref); + if (!url.startsWith("/episodio/")) { + MManga anime = MManga(); + final img = element.selectFirst("img"); + anime.name = img.attr("alt"); + anime.imageUrl = img?.attr("data-src") ?? + img?.attr("data-lazy-src") ?? + img?.attr("srcset") ?? + img?.getSrc; + anime.link = url; + animeList.add(anime); + } + } + return MPages(animeList, hasNextPage); + } + + @override + List getSourcePreferences() { + return [ + ListPreference( + key: "preferred_lang", + title: "Preferred language", + summary: "", + valueIndex: 0, + entries: ["SUB", "All", "ES", "LAT"], + entryValues: ["SUB", "", "ES", "LAT"]), + ListPreference( + key: "preferred_server1", + title: "Preferred server", + summary: "", + valueIndex: 0, + entries: [ + "Filemoon", + "DoodStream", + "StreamTape", + "Uqload", + "WolfStream", + "saidochesto.top", + "VidHide", + "StreamWish", + "Mp4Upload" + ], + entryValues: [ + "Filemoon", + "DoodStream", + "StreamTape", + "Uqload", + "WolfStream", + "saidochesto.top", + "VidHide", + "StreamWish", + "Mp4Upload" + ]), + ]; + } + + List sortVideos(List videos, int sourceId) { + String prefLang = getPreferenceValue(source.id, "preferred_lang"); + String server = getPreferenceValue(sourceId, "preferred_server1"); + videos.sort((MVideo a, MVideo b) { + int qualityMatchA = 0; + + if (a.quality.toLowerCase().contains(prefLang.toLowerCase()) && + a.quality.toLowerCase().contains(server.toLowerCase())) { + qualityMatchA = 1; + } + int qualityMatchB = 0; + if (b.quality.toLowerCase().contains(prefLang.toLowerCase()) && + b.quality.toLowerCase().contains(server.toLowerCase())) { + qualityMatchB = 1; + } + if (qualityMatchA != qualityMatchB) { + return qualityMatchB - qualityMatchA; + } + + final regex = RegExp(r'(\d+)p'); + final matchA = regex.firstMatch(a.quality); + final matchB = regex.firstMatch(b.quality); + final int qualityNumA = int.tryParse(matchA?.group(1) ?? '0') ?? 0; + final int qualityNumB = int.tryParse(matchB?.group(1) ?? '0') ?? 0; + return qualityNumB - qualityNumA; + }); + return videos; + } +} + +AnimeOnlineNinja main(MSource source) { + return AnimeOnlineNinja(source: source); +} diff --git a/dart/anime/src/es/animeonlineninja/icon.png b/dart/anime/src/es/animeonlineninja/icon.png new file mode 100644 index 00000000..ab51a326 Binary files /dev/null and b/dart/anime/src/es/animeonlineninja/icon.png differ diff --git a/dart/anime/src/es/animeonlineninja/source.dart b/dart/anime/src/es/animeonlineninja/source.dart new file mode 100644 index 00000000..edc46c89 --- /dev/null +++ b/dart/anime/src/es/animeonlineninja/source.dart @@ -0,0 +1,16 @@ +import '../../../../../model/source.dart'; + +Source get animeonlineninjaSource => _animeonlineninjaSource; +const _animeonlineninjaVersion = "0.0.2"; +const _animeonlineninjaSourceCodeUrl = + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/es/animeonlineninja/animeonlineninja.dart"; +Source _animeonlineninjaSource = Source( + name: "AnimeOnline.Ninja", + baseUrl: "https://ww3.animeonline.ninja", + lang: "es", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/es/animeonlineninja/icon.png", + sourceCodeUrl: _animeonlineninjaSourceCodeUrl, + version: _animeonlineninjaVersion, + isManga: false); diff --git a/dart/anime/src/fr/anizone/anizone.dart b/dart/anime/src/fr/anizone/anizone.dart new file mode 100644 index 00000000..561c7328 --- /dev/null +++ b/dart/anime/src/fr/anizone/anizone.dart @@ -0,0 +1,490 @@ +import 'package:mangayomi/bridge_lib.dart'; +import 'dart:convert'; + +class AniZone extends MProvider { + AniZone({required this.source}); + + final MSource source; + final Client client = Client(source); + + // Constants for the xpath + static const String urlXpath = + '//*[contains(@class,"flw-item item-qtip")]/div[@class="film-poster"]/a/@href'; + static const String nameXpath = + '//*[contains(@class,"flw-item item-qtip")]/div[@class="film-detail"]/h3/text()'; + static const String imageXpath = + '//*[contains(@class,"flw-item item-qtip")]/div[@class="film-poster"]/img/@data-src'; + + // Methods for fetching the manga list (popular, latest & search) + Future _getMangaList(String url) async { + final doc = (await client.get(Uri.parse(url))).body; + List animeList = []; + + final urls = xpath(doc, urlXpath); + final names = xpath(doc, nameXpath); + final images = xpath(doc, imageXpath); + + if (urls.isEmpty || names.isEmpty || images.isEmpty) { + return MPages([], false); + } + + for (var i = 0; i < names.length; i++) { + MManga anime = MManga(); + anime.name = names[i]; + anime.imageUrl = images[i]; + anime.link = urls[i]; + animeList.add(anime); + } + + return MPages(animeList, urls.isNotEmpty); + } + + @override + Future getPopular(int page) async { + return _getMangaList("${source.baseUrl}/most-popular/?page=$page"); + } + + @override + Future getLatestUpdates(int page) async { + return _getMangaList("${source.baseUrl}/recently-added/?page=$page"); + } + + @override + Future search(String query, int page, FilterList filterList) async { + String baseUrl = "${source.baseUrl}/filter?keyword=$query"; + + Map> filterMap = { + "type": [], + "status": [], + "season": [], + "lang": [], + "genre": [] + }; + + // Regroupement des filtres avec une logique générique + final filterHandlers = { + "TypeFilter": "type", + "LanguageFilter": "lang", + "SaisonFilter": "season", + "StatusFilter": "status", + "GenreFilter": "genre" + }; + + for (var filter in filterList.filters) { + if (filterHandlers.containsKey(filter.type)) { + var key = filterHandlers[filter.type]!; + for (var stateItem in filter.state as List) { + if (stateItem.state == true) { + filterMap[key]?.add(stateItem.value as String); + } + } + } + } + + //add filters to the url dynamically + for (var entry in filterMap.entries) { + List values = entry.value; + if (values.isNotEmpty) { + baseUrl += '&${entry.key}=${values.join("%2C")}'; + } + } + + return _getMangaList("$baseUrl&page=$page"); + } + + Future getDetail(String url) async { + MManga anime = MManga(); + try { + final doc = (await client.get(Uri.parse(url))).body; + final description = xpath(doc, '//p[contains(@class,"short")]/text()'); + anime.description = description.isNotEmpty ? description.first : ""; + + final statusList = xpath(doc, + '//div[contains(@class,"col2")]//div[contains(@class,"item")]//div[contains(@class,"item-content")]/text()'); + if (statusList.isNotEmpty) { + if (statusList[0] == "Terminer") { + anime.status = MStatus.completed; + } else if (statusList[0] == "En cours") { + anime.status = MStatus.ongoing; + } else { + anime.status = MStatus.unknown; + } + } else { + anime.status = MStatus.unknown; + } + + anime.genre = xpath(doc, + '//div[contains(@class,"item")]//div[contains(@class,"item-content")]//a[contains(@href,"genre")]/text()'); + + final regex = RegExp(r'(\d+)$'); + final match = regex.firstMatch(url); + + if (match == null) { + throw Exception('Numéro de l\'épisode non trouvé dans l\'URL.'); + } + + final res = (await client.get(Uri.parse( + "${source.baseUrl}/ajax/episode/list/${match.group(1)}"))) + .body; + + List episodesList = []; + + final episodeElements = + parseHtml(json.decode(res)["html"]).select(".ep-item"); + + // Associer chaque titre à son URL et récupérer les vidéos + for (var element in episodeElements) { + MChapter episode = MChapter(); + episode.name = element.attr("title"); + + String id = substringAfterLast(element.attr("href"), "="); + episode.url = "${source.baseUrl}/ajax/episode/servers?episodeId=$id"; + episodesList.add(episode); + } + + anime.chapters = episodesList.reversed.toList(); + + return anime; + } catch (e) { + throw Exception('Erreur lors de la récupération des détails: $e'); + } + } + + @override + Future> getVideoList(String url) async { + final videoRes = (await client + .get(Uri.parse(url), headers: {"Referer": "${source.baseUrl}/"})) + .body; + + final lang = xpath(videoRes.replaceAll(r'\', ''), + '//div[contains(@class,"item server-item")]/@data-type'); + final links = xpath(videoRes.replaceAll(r'\', ''), + '//div[contains(@class,"item server-item")]/@data-id'); + final playersNames = xpath(videoRes.replaceAll(r'\', ''), + '//div[contains(@class,"item server-item")]/text()'); + List> players = []; + for (int j = 0; j < links.length; j++) { + // schema of players https://v1.animesz.xyz/ajax/episode/servers?episodeId=(id_episode) + // schema or url https://v1.animesz.xyz/ajax/episode/sources?id=(player_id)&epid=(id_episode) + if (playersNames.isNotEmpty && playersNames[j] == "sibnet") { + final playerUrl = + "https://video.sibnet.ru/shell.php?videoid=${links[j]}"; + players.add({"lang": lang[j], "player": playerUrl}); + } else if (playersNames.isNotEmpty && playersNames[j] == "sendvid") { + final playerUrl = "https://sendvid.com/embed/${links[j]}"; + players.add({"lang": lang[j], "player": playerUrl}); + } else if (playersNames.isNotEmpty && playersNames[j] == "VidCDN") { + final playerUrl = + "https://r.vidcdn.xyz/v1/api/get_sources/${links[j].replaceFirst(RegExp(r'vidcdn$'), '')}"; + players.add({"lang": lang[j], "player": playerUrl}); + } else if (playersNames.isNotEmpty && playersNames[j] == "Voe") { + final playerUrl = "https://voe.sx/e/${links[j]}"; + players.add({"lang": lang[j], "player": playerUrl}); + } else if (playersNames.isNotEmpty && playersNames[j] == "Fmoon") { + final playerUrl = + "https://filemoon.sx/e/${links[j]}&data-realid=${links[j]}&epid=${substringAfter(url, "episodeId=")}"; + players.add({"lang": lang[j], "player": playerUrl}); + } + } + + List videos = []; + for (var player in players) { + String lang = (player["lang"] as String).toUpperCase(); + String playerUrl = player["player"]; + List a = []; + if (playerUrl.contains("sendvid")) { + a = await sendVidExtractorr(playerUrl, "$lang "); + } else if (playerUrl.contains("sibnet.ru")) { + a = await sibnetExtractor(playerUrl, lang); + } else if (playerUrl.contains("voe.sx")) { + a = await voeExtractor(playerUrl, "$lang "); + } else if (playerUrl.contains("vidcdn")) { + a = await vidcdnExtractor(playerUrl, lang); + } else if (playerUrl.contains("filemoon")) { + a = await filemoonExtractor(playerUrl, "$lang Filemoon - ", ""); + } else if (playerUrl.contains("vidhide")) { + a = await streamHideExtractor(playerUrl, lang); + } + videos.addAll(a); + } + + return sortVideos(videos, source.id); + } + + Future> streamHideExtractor(String url, String prefix) async { + final res = (await client.get(Uri.parse(url))).body; + final masterUrl = substringBefore( + substringAfter( + substringAfter( + substringAfter(unpackJs(res), "sources:"), "file:\""), + "src:\""), + '"'); + final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; + List videos = []; + for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") + .split("#EXT-X-STREAM-INF:")) { + final quality = + "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; + + String videoUrl = substringBefore(substringAfter(it, "\n"), "\n"); + + if (!videoUrl.startsWith("http")) { + videoUrl = + "${masterUrl.split("/").sublist(0, masterUrl.split("/").length - 1).join("/")}/$videoUrl"; + } + + MVideo video = MVideo(); + video + ..url = videoUrl + ..originalUrl = videoUrl + ..quality = "$prefix StreamHideVid - $quality"; + videos.add(video); + } + return videos; + } + + @override + List getFilterList() { + return [ + GroupFilter("TypeFilter", "Type", [ + CheckBoxFilter("Film", "1"), + CheckBoxFilter("Anime", "2"), + CheckBoxFilter("OVA", "3"), + CheckBoxFilter("ONA", "4"), + CheckBoxFilter("Special", "5"), + CheckBoxFilter("Music", "6"), + ]), + GroupFilter("LanguageFilter", "Langue", [ + CheckBoxFilter("VF", "3"), + CheckBoxFilter("VOSTFR", "4"), + CheckBoxFilter("Multicc", "2"), + CheckBoxFilter("EN", "1"), + ]), + GroupFilter("SaisonFilter", "Saison", [ + CheckBoxFilter("Printemps", "1"), + CheckBoxFilter("Été", "2"), + CheckBoxFilter("Automne", "3"), + CheckBoxFilter("Hiver", "4"), + ]), + GroupFilter("StatusFilter", "Statut", [ + CheckBoxFilter("Terminés", "1"), + CheckBoxFilter("En cours", "2"), + CheckBoxFilter("Pas encore diffusés", "3"), + ]), + GroupFilter("GenreFilter", "Genre", [ + CheckBoxFilter("Action", "1"), + CheckBoxFilter("Aventure", "2"), + CheckBoxFilter("Voitures", "3"), + CheckBoxFilter("Comédie", "4"), + CheckBoxFilter("Démence", "5"), + CheckBoxFilter("Démons", "6"), + CheckBoxFilter("Drame", "8"), + CheckBoxFilter("Ecchi", "9"), + CheckBoxFilter("Fantastique", "10"), + CheckBoxFilter("Jeu", "11"), + CheckBoxFilter("Harem", "35"), + CheckBoxFilter("Historique", "13"), + CheckBoxFilter("Horreur", "14"), + CheckBoxFilter("Isekai", "44"), + CheckBoxFilter("Josei", "43"), + CheckBoxFilter("Enfants", "25"), + CheckBoxFilter("Magie", "16"), + CheckBoxFilter("Arts martiaux", "17"), + CheckBoxFilter("Mecha", "18"), + CheckBoxFilter("Militaire", "38"), + CheckBoxFilter("Musique", "19"), + CheckBoxFilter("Mystère", "7"), + CheckBoxFilter("Parodie", "20"), + CheckBoxFilter("Police", "39"), + CheckBoxFilter("Psychologique", "40"), + CheckBoxFilter("Romance", "22"), + CheckBoxFilter("Samouraï", "21"), + CheckBoxFilter("École", "23"), + CheckBoxFilter("Science-Fiction", "24"), + CheckBoxFilter("Seinen", "42"), + CheckBoxFilter("Shoujo Ai", "26"), + CheckBoxFilter("Shoujo", "25"), + CheckBoxFilter("Shounen Ai", "28"), + CheckBoxFilter("Tranche de vie", "36"), + CheckBoxFilter("Shounen", "27"), + CheckBoxFilter("Espace", "29"), + CheckBoxFilter("Sports", "30"), + CheckBoxFilter("Super Pouvoir", "31"), + CheckBoxFilter("Surnaturel", "37"), + CheckBoxFilter("Vampire", "32"), + CheckBoxFilter("Yaoi", "33"), + CheckBoxFilter("Yuri", "34"), + ]) + ]; + } + + @override + List getSourcePreferences() { + return [ + ListPreference( + key: "preferred_quality", + title: "Qualité préférée", + summary: "", + valueIndex: 0, + entries: ["1080p", "720p", "480p", "360p"], + entryValues: ["1080", "720", "480", "360"]), + ListPreference( + key: "voices_preference", + title: "Préférence des voix", + summary: "", + valueIndex: 0, + entries: ["Préférer VOSTFR", "Préférer VF"], + entryValues: ["vostfr", "vf"]), + ]; + } + + List sortVideos(List videos, int sourceId) { + String quality = getPreferenceValue(sourceId, "preferred_quality"); + String voice = getPreferenceValue(sourceId, "voices_preference"); + + videos.sort((MVideo a, MVideo b) { + int qualityMatchA = 0; + if (a.quality.contains(quality) && + a.quality.toLowerCase().contains(voice)) { + qualityMatchA = 1; + } + int qualityMatchB = 0; + if (b.quality.contains(quality) && + b.quality.toLowerCase().contains(voice)) { + qualityMatchB = 1; + } + if (qualityMatchA != qualityMatchB) { + return qualityMatchB - qualityMatchA; + } + + final regex = RegExp(r'(\d+)p'); + final matchA = regex.firstMatch(a.quality); + final matchB = regex.firstMatch(b.quality); + final int qualityNumA = int.tryParse(matchA?.group(1) ?? '0') ?? 0; + final int qualityNumB = int.tryParse(matchB?.group(1) ?? '0') ?? 0; + return qualityNumB - qualityNumA; + }); + return videos; + } + + Future> sendVidExtractorr(String url, String prefix) async { + final res = (await client.get(Uri.parse(url))).body; + final document = parseHtml(res); + final masterUrl = document.selectFirst("source#video_source")?.attr("src"); + print(masterUrl); + if (masterUrl == null) return []; + final masterHeaders = { + "Accept": "*/*", + "Host": Uri.parse(masterUrl).host, + "Origin": "https://${Uri.parse(url).host}", + "Referer": "https://${Uri.parse(url).host}/", + }; + List videos = []; + if (masterUrl.contains(".m3u8")) { + final masterPlaylistRes = (await client.get(Uri.parse(masterUrl))).body; + + for (var it in substringAfter(masterPlaylistRes, "#EXT-X-STREAM-INF:") + .split("#EXT-X-STREAM-INF:")) { + final quality = + "${substringBefore(substringBefore(substringAfter(substringAfter(it, "RESOLUTION="), "x"), ","), "\n")}p"; + + String videoUrl = substringBefore(substringAfter(it, "\n"), "\n"); + + if (!videoUrl.startsWith("http")) { + videoUrl = + "${masterUrl.split("/").sublist(0, masterUrl.split("/").length - 1).join("/")}/$videoUrl"; + } + final videoHeaders = { + "Accept": "*/*", + "Host": Uri.parse(videoUrl).host, + "Origin": "https://${Uri.parse(url).host}", + "Referer": "https://${Uri.parse(url).host}/", + }; + var video = MVideo(); + video + ..url = videoUrl + ..originalUrl = videoUrl + ..quality = prefix + "Sendvid:$quality" + ..headers = videoHeaders; + videos.add(video); + } + } else { + var video = MVideo(); + video + ..url = masterUrl + ..originalUrl = masterUrl + ..quality = prefix + "Sendvid:default" + ..headers = masterHeaders; + videos.add(video); + } + + return videos; + } + + Future> vidcdnExtractor(String url, String prefix) async { + final res = await client.get(Uri.parse(url)); + if (res.statusCode != 200) { + print("Erreur lors de la récupération de la page : ${res.statusCode}"); + return []; + } + final jsonResponse = jsonDecode(res.body); + + String masterUrl = jsonResponse['sources'][0]['file'] ?? ''; + final quality = jsonResponse['quality'] ?? ''; + + List videos = []; + + final masterPlaylistRes = await client.get(Uri.parse(masterUrl)); + if (masterPlaylistRes.statusCode != 200) { + print( + "Error lors de la récupération de la playlist M3U8 : ${masterPlaylistRes.statusCode}"); + return []; + } + + final masterPlaylistBody = masterPlaylistRes.body; + + final playlistLines = masterPlaylistBody.split("\n"); + + for (int i = 0; i < playlistLines.length; i++) { + final line = playlistLines[i]; + if (line.startsWith("#EXT-X-STREAM-INF")) { + final resolutionLine = line.split("RESOLUTION=").last; + final resolution = resolutionLine.split(",").first; + final width = int.parse(resolution.split("x").first); + final height = int.parse(resolution.split("x").last); + + String videoQuality; + if (height >= 1080) { + videoQuality = "1080p"; + } else if (height >= 720) { + videoQuality = "720p"; + } else if (height >= 480) { + videoQuality = "480p"; + } else if (height >= 360) { + videoQuality = "360p"; + } else { + videoQuality = "${height}p"; + } + + String videoUrl = playlistLines[i + 1].trim(); + + if (!videoUrl.startsWith("http")) { + videoUrl = + "${masterUrl.substring(0, masterUrl.lastIndexOf('/'))}/$videoUrl"; + } + + var video = MVideo(); + video + ..url = masterUrl + ..originalUrl = masterUrl + ..quality = "$prefix VidCDN:$videoQuality"; + videos.add(video); + } + } + return videos; + } +} + +AniZone main(MSource source) { + return AniZone(source: source); +} diff --git a/dart/anime/src/fr/anizone/icon.png b/dart/anime/src/fr/anizone/icon.png new file mode 100644 index 00000000..32debc92 Binary files /dev/null and b/dart/anime/src/fr/anizone/icon.png differ diff --git a/dart/anime/src/fr/anizone/source.dart b/dart/anime/src/fr/anizone/source.dart new file mode 100644 index 00000000..4caf9537 --- /dev/null +++ b/dart/anime/src/fr/anizone/source.dart @@ -0,0 +1,16 @@ +import '../../../../../model/source.dart'; + +Source get aniZoneSource => _aniZoneSource; +const _aniZoneVersion = "0.0.2"; +const _aniZoneSourceCodeUrl = + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/anizone/anizone.dart"; +Source _aniZoneSource = Source( + name: "AniZone", + baseUrl: "https://v1.animesz.xyz", + lang: "fr", + typeSource: "single", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/fr/anizone/icon.png", + sourceCodeUrl: _aniZoneSourceCodeUrl, + version: _aniZoneVersion, + isManga: false); diff --git a/dart/anime/src/it/animesaturn/source.dart b/dart/anime/src/it/animesaturn/source.dart index a436568f..442e746c 100644 --- a/dart/anime/src/it/animesaturn/source.dart +++ b/dart/anime/src/it/animesaturn/source.dart @@ -1,12 +1,12 @@ import '../../../../../model/source.dart'; Source get animesaturn => _animesaturn; -const _animesaturnVersion = "0.0.35"; +const _animesaturnVersion = "0.0.4"; const _animesaturnCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/it/animesaturn/animesaturn.dart"; Source _animesaturn = Source( name: "AnimeSaturn", - baseUrl: "https://www.animesaturn.tv", + baseUrl: "https://www.animesaturn.cx", lang: "it", typeSource: "single", iconUrl: diff --git a/dart/manga/multisrc/mangareader/sources.dart b/dart/manga/multisrc/mangareader/sources.dart index 1f6ce4dc..f8f0863c 100644 --- a/dart/manga/multisrc/mangareader/sources.dart +++ b/dart/manga/multisrc/mangareader/sources.dart @@ -1,7 +1,6 @@ import '../../../../model/source.dart'; import 'src/beastscans/beastscans.dart'; import 'src/lelmanga/lelmanga.dart'; -import 'src/asurascans/asurascans.dart'; import 'src/komiklab/komiklab.dart'; import 'src/azurescans/azurescans.dart'; import 'src/cosmicscans/cosmicscans.dart'; @@ -104,8 +103,6 @@ List _mangareaderSourcesList = [ beastscansSource, //Lelmanga (FR) lelmangaSource, -//Asura Scans (EN) - asurascansSource, //KomikLab Scans (EN) komiklabSource, //Azure Scans (EN) diff --git a/dart/manga/multisrc/mangareader/src/asurascans/asurascans.dart b/dart/manga/multisrc/mangareader/src/asurascans/asurascans.dart deleted file mode 100644 index 4660c9ff..00000000 --- a/dart/manga/multisrc/mangareader/src/asurascans/asurascans.dart +++ /dev/null @@ -1,14 +0,0 @@ -import '../../../../../../model/source.dart'; - -Source get asurascansSource => _asurascansSource; - -Source _asurascansSource = Source( - name: "Asura Scans", - baseUrl: "https://asuratoon.com/", - lang: "en", - typeSource: "mangareader", - iconUrl: - "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/asurascans/icon.png", - dateFormat: "MMM d, yyyy", - dateFormatLocale: "en_us", -); diff --git a/dart/manga/src/all/mangadex/mangadex.dart b/dart/manga/src/all/mangadex/mangadex.dart index 227fff90..7ba8814f 100644 --- a/dart/manga/src/all/mangadex/mangadex.dart +++ b/dart/manga/src/all/mangadex/mangadex.dart @@ -159,6 +159,11 @@ class MangaDex extends MProvider { headers: headers)) .body; MManga manga = MManga(); + final coverUrl = jsonPathToString( + res, r'$..data.relationships[*].attributes.fileName', ''); + if (coverUrl != null) { + manga.imageUrl = "https://uploads.mangadex.org/covers/${url.replaceAll("/manga/", "")}/${coverUrl}"; + } manga.author = jsonPathToString( res, r'$..data.relationships[*].attributes.name', ', '); @@ -382,8 +387,6 @@ class MangaDex extends MProvider { GroupFilter("ContentRatingList", "Content rating", [ CheckBoxFilter("Safe", "contentRating[]=safe", state: true), CheckBoxFilter("Suggestive", "contentRating[]=suggestive", state: true), - CheckBoxFilter("Erotica", "contentRating[]=erotica"), - CheckBoxFilter("Pornographic", "contentRating[]=pornographic"), ]), GroupFilter("DemographicList", "Publication demographic", [ CheckBoxFilter("None", "publicationDemographic[]=none"), diff --git a/dart/manga/src/all/mangadex/sources.dart b/dart/manga/src/all/mangadex/sources.dart index 1f8d9aef..ff1def04 100644 --- a/dart/manga/src/all/mangadex/sources.dart +++ b/dart/manga/src/all/mangadex/sources.dart @@ -3,7 +3,7 @@ import '../../../../../model/source.dart'; const _apiUrl = 'https://api.mangadex.org'; const _baseUrl = 'https://mangadex.org'; const _isNsfw = true; -const _mangadexVersion = "0.0.9"; +const _mangadexVersion = "0.1.1"; const _mangadexSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/src/all/mangadex/mangadex.dart"; String _iconUrl = diff --git a/index.json b/index.json index 4c55764b..123ff5a7 100644 --- a/index.json +++ b/index.json @@ -1 +1 @@ -[{"name":"1st Kiss-Manga (unoriginal)","id":638504049,"baseUrl":"https://1stkiss-manga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/firstkissdashmanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"AQUA Scans","id":1022584413,"baseUrl":"https://aquascans.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhwaworld/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Akuma no Tenshi","id":556872410,"baseUrl":"https://akumanotenshi.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/akumanotenshi/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Anikiga","id":554316969,"baseUrl":"https://anikiga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/anikiga/icon.png","dateFormat":"d MMMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ArazNovel","id":966932111,"baseUrl":"https://www.araznovel.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/araznovel/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Arthur Scan","id":678948853,"baseUrl":"https://arthurscan.xyz","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/arthurscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"AstralManga","id":1028022993,"baseUrl":"https://astral-manga.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/astralmanga/icon.png","dateFormat":"dd/mm/yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Asura Scans.us (unoriginal)","id":586702086,"baseUrl":"https://asurascans.us","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/asurascansus/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"BarManga","id":627965453,"baseUrl":"https://barmanga.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/barmanga/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"BestManga","id":926276360,"baseUrl":"https://bestmanga.club","lang":"ru","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/bestmanga/icon.png","dateFormat":"dd.MM.yyyy","dateFormatLocale":"ru","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Chibi Manga","id":105430403,"baseUrl":"https://www.cmreader.info","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/chibimanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Clover Manga","id":811523862,"baseUrl":"https://clover-manga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/clovermanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Coco Rip","id":316931886,"baseUrl":"https://cocorip.net","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/cocorip/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Coffee Manga","id":212388160,"baseUrl":"https://coffeemanga.io","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/coffeemanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Doodmanga","id":796439892,"baseUrl":"https://www.doodmanga.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/doodmanga/icon.png","dateFormat":"dd MMMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Elite Manga","id":667501516,"baseUrl":"https://www.elitemanga.org","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/elitemanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Emperor Scan","id":21325920,"baseUrl":"https://emperorscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/emperorscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"EvaScans","id":439004766,"baseUrl":"https://evascans.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/evascans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"FR-Scan","id":669019889,"baseUrl":"https://fr-scan.com","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/frscan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"FactManga","id":956621361,"baseUrl":"https://factmanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/factmanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"FreeMangaTop","id":679915593,"baseUrl":"https://freemangatop.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/freemangatop/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Glory Manga","id":284318957,"baseUrl":"https://glorymanga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/glorymanga/icon.png","dateFormat":"dd/MM/yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Harimanga","id":178905360,"baseUrl":"https://harimanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/harimanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Immortal Updates","id":227459275,"baseUrl":"https://immortalupdates.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/immortalupdates/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Império Scans","id":721205416,"baseUrl":"https://imperioscans.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/imperioscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Inmortal Scan","id":809387434,"baseUrl":"https://manga.mundodrama.site","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/inmortalscan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"IsekaiScanManga (unoriginal)","id":775728183,"baseUrl":"https://isekaiscanmanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/isekaiscanmanga/icon.png","dateFormat":"dd MMM، yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Jimanga","id":773169340,"baseUrl":"https://jimanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/jimanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KSGroupScans","id":374902680,"baseUrl":"https://ksgroupscans.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ksgroupscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Kakusei Project","id":872023105,"baseUrl":"https://kakuseiproject.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/kakuseiproject/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Kami Sama Explorer","id":797019242,"baseUrl":"https://leitor.kamisama.com.br","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/kamisamaexplorer/icon.png","dateFormat":"dd 'de' MMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komik Chan","id":852383302,"baseUrl":"https://komikchan.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/komikchan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"LHTranslation","id":21247797,"baseUrl":"https://lhtranslation.net","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/lhtranslation/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Lady Estelar Scan","id":987669145,"baseUrl":"https://ladyestelarscan.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ladyestelarscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Leviatan Scans","id":280413449,"baseUrl":"https://lscomic.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/leviatanscans/icon.png","dateFormat":"MMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Luffy Manga","id":797524700,"baseUrl":"https://luffymanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/luffymanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Maid Scan","id":931615028,"baseUrl":"https://maidscan.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/maidscan/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Diyari","id":531861751,"baseUrl":"https://manga-diyari.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangadiyari/icon.png","dateFormat":"MMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Fenix","id":533195191,"baseUrl":"https://manhua-fenix.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangafenix/icon.png","dateFormat":"dd MMMM, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Galaxy","id":935714707,"baseUrl":"https://mangagalaxy.me","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangagalaxy/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Read","id":256879643,"baseUrl":"https://mangaread.co","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaread/icon.png","dateFormat":"yyyy-MM-dd","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Tx.gg (unoriginal)","id":457634416,"baseUrl":"https://mangatx.gg","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangatxgg/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Weebs","id":499853860,"baseUrl":"https://mangaweebs.in","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaweebs/icon.png","dateFormat":"dd MMMM HH:mm","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Şehri","id":865354788,"baseUrl":"https://mangasehri.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasehri/icon.png","dateFormat":"dd/MM/yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-TX","id":382229208,"baseUrl":"https://manga-tx.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangatxunoriginal/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaClash","id":1022665553,"baseUrl":"https://mangaclash.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaclash/icon.png","dateFormat":"MM/dd/yy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaFreak.online","id":223793266,"baseUrl":"https://mangafreak.online","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangafreakonline/icon.png","dateFormat":"d MMMM، yyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaGreat","id":1054806605,"baseUrl":"https://mangagreat.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangagreat/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaKomi","id":396237578,"baseUrl":"https://mangakomi.io","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangakomi/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaRead.org","id":120353492,"baseUrl":"https://www.mangaread.org","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangareadorg/icon.png","dateFormat":"dd.MM.yyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaRolls","id":720109919,"baseUrl":"https://mangarolls.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangarolls/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaTyrant","id":32333683,"baseUrl":"https://mangatyrant.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangatyrant/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaUS","id":503871898,"baseUrl":"https://mangaus.xyz","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaus/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangasushi","id":224429716,"baseUrl":"https://mangasushi.org","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasushi/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangá Nanquim","id":92850584,"baseUrl":"https://mangananquim.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangananquim/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manhua ES","id":722532191,"baseUrl":"https://manhuaaz.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuaes/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhuaUS","id":802461663,"baseUrl":"https://manhuaus.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuaus/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhuaZone","id":751568949,"baseUrl":"https://manhuazone.org","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuazone/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhwaClan","id":668862828,"baseUrl":"https://manhwaclan.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhwaclan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manhwafull","id":316078751,"baseUrl":"https://manhwafull.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhwafull/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mantraz Scan","id":919786495,"baseUrl":"https://mantrazscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mantrazscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Momo no Hana Scan","id":800496106,"baseUrl":"https://momonohanascan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/momonohanascan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MonarcaManga","id":677489943,"baseUrl":"https://monarcamanga.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/monarcamanga/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Moon Witch In Love","id":1023454168,"baseUrl":"https://moonwitchinlovescan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/moonwitchinlove/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"NekoPost.co (unoriginal)","id":68388394,"baseUrl":"https://www.nekopost.co","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/nekopostco/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Niji Translations","id":1040686830,"baseUrl":"https://niji-translations.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/nijitranslations/icon.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Pantheon Scan","id":722864118,"baseUrl":"https://pantheon-scan.com","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/pantheonscan/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Pojok Manga","id":620356987,"baseUrl":"https://pojokmanga.net","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/pojokmanga/icon.png","dateFormat":"MMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Projeto Scanlator","id":1059909508,"baseUrl":"https://projetoscanlator.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/projetoscanlator/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ROG Mangás","id":876053235,"baseUrl":"https://rogmangas.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasoverall/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Ragnarok Scanlation","id":1045851788,"baseUrl":"https://ragnarokscanlation.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ragnarokscanlation/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rainbow Fairy Scan","id":342232477,"baseUrl":"https://rainbowfairyscan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/rainbowfairyscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Random Scan","id":608218815,"baseUrl":"https://randomscanlators.net","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/randomscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ReaderGen","id":630253320,"baseUrl":"https://fr.readergen.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/readergen/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"RichtoScan","id":688713066,"baseUrl":"https://richtoscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/richtoscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rightdark Scan","id":1015914849,"baseUrl":"https://rightdark-scan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/rightdarkscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rio2 Manga","id":110090511,"baseUrl":"https://rio2manga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/rio2manga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Romantik Manga","id":944131896,"baseUrl":"https://romantikmanga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/romantikmanga/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"S2Manga","id":763495726,"baseUrl":"https://www.s2manga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/s2manga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SamuraiScan","id":76766511,"baseUrl":"https://samuraiscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/samuraiscan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ScamberTraslator","id":774205343,"baseUrl":"https://scambertraslator.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/scambertraslator/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Scantrad-VF","id":400350749,"baseUrl":"https://scantrad-vf.co","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/scantradvf/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shadowtrad","id":171182128,"baseUrl":"https://shadowtrad.net","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/shadowtrad/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shiba Manga","id":368209304,"baseUrl":"https://shibamanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/shibamanga/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sinensis Scan","id":874513309,"baseUrl":"https://sinensisscan.net","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/sinensis/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sweet Time Scan","id":773665225,"baseUrl":"https://sweetscan.net","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/sweettimescan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tatakae Scan","id":296744306,"baseUrl":"https://tatakaescan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/tatakaescan/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Taurus Fansub","id":1036726988,"baseUrl":"https://taurusfansub.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/taurusfansub/icon.png","dateFormat":"dd/MM/yyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"The Beginning After The End","id":337822334,"baseUrl":"https://www.thebeginningaftertheend.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/thebeginningaftertheend/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tortuga Ceviri","id":294602572,"baseUrl":"https://tortuga-ceviri.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/tortugaceviri/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Wicked Witch Scan","id":679298799,"baseUrl":"https://wickedwitchscan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/wickedwitchscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Winter Scan","id":455337571,"baseUrl":"https://winterscan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/winterscan/icon.png","dateFormat":"dd 'de' MMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Wonderland Scan","id":867820989,"baseUrl":"https://wonderlandscan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/wonderlandscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Yuri Verso","id":756257030,"baseUrl":"https://yuri.live","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/yuriverso/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"فالكون مانجا","id":390316279,"baseUrl":"https://falconmanga.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/falconmanga/icon.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"مانجا العاشق","id":913767194,"baseUrl":"https://3asq.org","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manga3asq/icon.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Grabber Zone","id":88668089,"baseUrl":"https://grabber.zone","lang":"all","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/grabberzone/icon.png","dateFormat":"dd.MM.yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Gatemanga","id":228457517,"baseUrl":"https://gatemanga.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/gatemanga/icon.png","dateFormat":"d MMMM، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"GMANGA (unoriginal)","id":534385671,"baseUrl":"https://gmanga.site","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/gmangasite/icon.png","dateFormat":"MMMM dd، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"مانجا لينك","id":933815485,"baseUrl":"https://manga-link.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangalink/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaLionz","id":718647301,"baseUrl":"https://manga-lionz.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangalionz/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Rose","id":492075908,"baseUrl":"https://mangarose.net","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangarose/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaSpark","id":498074514,"baseUrl":"https://manga-spark.net","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangaspark/icon.png","dateFormat":"d MMMM، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Starz","id":424368932,"baseUrl":"https://manga-starz.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangastarz/icon.png","dateFormat":"d MMMM، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Time","id":929842820,"baseUrl":"https://mangatime.us","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangatime/icon.png","dateFormat":"dd MMMM، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Olaoe","id":765729692,"baseUrl":"https://olaoe.cyou","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/olaoe/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rocks Manga","id":694856524,"baseUrl":"https://rocks-manga.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/rocksmanga/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DragonTea","id":351087179,"baseUrl":"https://dragontea.ink","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/dragontea/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Global Bloging","id":466045336,"baseUrl":"https://globalbloging.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/globalbloging/icon.png","dateFormat":"dd MMMM yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga347","id":32568759,"baseUrl":"https://manga347.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manga347/icon.png","dateFormat":"d MMM, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaEffect","id":426231795,"baseUrl":"https://mangaeffect.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangaeffect/icon.png","dateFormat":"dd.MM.yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-fast.com","id":304908872,"baseUrl":"https://manga-fast.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangafastcom/icon.png","dateFormat":"d MMMM'،' yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Leveling","id":922449127,"baseUrl":"https://mangaleveling.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangaleveling/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"NeatManga","id":481438951,"baseUrl":"https://neatmanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/neatmanga/icon.png","dateFormat":"dd MMM yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"NvManga","id":714716947,"baseUrl":"https://nvmanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/nvmanga/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"PMScans","id":724822356,"baseUrl":"https://rackusreads.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/pmscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ReadManhua","id":406424746,"baseUrl":"https://readmanhua.net","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/readmanhua/icon.png","dateFormat":"dd MMM yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"StoneScape","id":611266903,"baseUrl":"https://stonescape.xyz","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/stonescape/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"TappyToon.Net","id":903184103,"baseUrl":"https://tappytoon.net","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/tappytoonnet/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Zinmanga.net","id":656879510,"baseUrl":"https://zinmanga.net","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/zinmanganet/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"BokugenTranslation","id":406916759,"baseUrl":"https://bokugents.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/bokugentranslation/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DapRob","id":711981672,"baseUrl":"https://daprob.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/daprob/icon.png","dateFormat":"dd/MM/yyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DeManhuas","id":563568870,"baseUrl":"https://demanhuas.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/demanhuas/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"HerenScan","id":249889937,"baseUrl":"https://herenscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/herenscan/icon.png","dateFormat":"d 'de' MMM 'de' yyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"HouseMangas","id":767167238,"baseUrl":"https://housemangas.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/housemangas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"InfraFandub","id":1007047649,"baseUrl":"https://infrafandub.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/infrafandub/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Inmoral No Fansub","id":36533629,"baseUrl":"https://inmoralnofansub.xyz","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/inmoralnofansub/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"JeazScans","id":340396217,"baseUrl":"https://jeazscansv2.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/jeazscans/icon.png","dateFormat":"d MMMM, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Jobsibe","id":132907111,"baseUrl":"https://jobsibe.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/jobsibe/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"LegnMangas","id":805195882,"baseUrl":"https://legnmangas.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/legendsnofansub/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Crab","id":830048268,"baseUrl":"https://visorcrab.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangacrab/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Fenix","id":533195191,"baseUrl":"https://manhua-fenix.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangafenix/icon.png","dateFormat":"dd MMMM, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangas No Sekai","id":192331842,"baseUrl":"https://mangasnosekai.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangasnosekai/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manhua Online","id":1013501577,"baseUrl":"https://blog.manhuaonline.org","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manhuaonline/icon.png","dateFormat":"dd 'de' MMMM 'de' yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MHScans","id":309079366,"baseUrl":"https://lectormh.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mhscans/icon.png","dateFormat":"dd 'de' MMMM 'de' yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MonarcaManga","id":677489943,"baseUrl":"https://monarcamanga.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/monarcamanga/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Noblesse Translations","id":303973222,"baseUrl":"https://www.noblessev1.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/noblessetranslations/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Prince Ediciones","id":23658821,"baseUrl":"https://princediciones.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/princediciones/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SapphireScan","id":878724478,"baseUrl":"https://sapphirescan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/sapphirescan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tres Daos Scan","id":278790017,"baseUrl":"https://tresdaos.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/tresdaosscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Unitoon","id":661103813,"baseUrl":"https://lectorunitoon.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/unitoon/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-Scantrad","id":686398626,"baseUrl":"https://manga-scantrad.io","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangascantrad/icon.png","dateFormat":"d MMM yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangas-Origines.fr","id":27886548,"baseUrl":"https://mangas-origines.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangasoriginesfr/icon.png","dateFormat":"dd/mm/yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Raijin Scans","id":320342235,"baseUrl":"https://raijinscans.com","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/raijinscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Reaper Scans","id":393303796,"baseUrl":"https://reaperscans.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/reaperscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Soft Epsilon Scan","id":59479664,"baseUrl":"https://soft.epsilonscan.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/softepsilonscan/icon.png","dateFormat":"dd/MM/yy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Hwago","id":742688581,"baseUrl":"https://hwago.org","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/hwago/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KlikManga","id":325512770,"baseUrl":"https://klikmanga.id","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/klikmanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komikuzan","id":654623055,"baseUrl":"https://komikuzan.com","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/komikuzan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MG Komik","id":336171225,"baseUrl":"https://mgkomik.id","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mgkomik/icon.png","dateFormat":"dd MMM yy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Siimanga","id":33515095,"baseUrl":"https://siimanga.cyou","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/siimanga/icon.png","dateFormat":"d MMMM","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Yubikiri","id":451585835,"baseUrl":"https://yubikiri.my.id","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/yubikiri/icon.png","dateFormat":"d MMMM","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaHoNa","id":1046386661,"baseUrl":"https://mangahona.pl","lang":"pl","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangahona/icon.png","dateFormat":"yyyy-MM-dd","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Alone Scanlator","id":646262881,"baseUrl":"https://alonescanlator.com.br","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/alonescanlator/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Boruto Explorer","id":824559648,"baseUrl":"https://leitor.borutoexplorer.com.br","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/borutoexplorer/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Crystal Comics","id":345759902,"baseUrl":"https://crystalcomics.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/crystalcomics/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Fay Scans","id":591914093,"baseUrl":"https://fayscans.net","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/fayscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Galinha Samurai Scan","id":204589683,"baseUrl":"https://galinhasamurai.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/galinhasamuraiscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Hikari Ga Nai","id":346017333,"baseUrl":"https://hikariganai.xyz","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/hikariganai/icon.png","dateFormat":"d 'de' MMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sagrado Império da Britannia","id":825744254,"baseUrl":"https://imperiodabritannia.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/imperiodabritannia/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Império Scans","id":721205416,"baseUrl":"https://imperioscans.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/imperioscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Leitor de Mangá","id":1053799132,"baseUrl":"https://leitordemanga.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/leitordemanga/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"L Scans","id":1044801707,"baseUrl":"https://lscans.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/lscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Lunar Scan","id":912854479,"baseUrl":"https://lunarscan.com.br","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/lunarscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MiniTwo Scan","id":601012644,"baseUrl":"https://minitwoscan.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/minitwoscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Nexo Scans","id":290544955,"baseUrl":"https://nexoscans.net","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/nexoscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Ninja Scan","id":334761951,"baseUrl":"https://ninjacomics.xyz","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/ninjascan/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"One Piece TECA","id":743484013,"baseUrl":"https://onepieceteca.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/onepieceteca/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Demon Sect","id":779027778,"baseUrl":"https://dsectcomics.org","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/prismascans/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sussy Scan","id":27850545,"baseUrl":"https://sussyscan.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/sussyscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Kings-Manga","id":247277818,"baseUrl":"https://www.kings-manga.co","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/kingsmanga/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDeemak","id":1013072878,"baseUrl":"https://mangadeemak.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangadeemak/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhuaBug","id":1069870491,"baseUrl":"https://www.manhuabug.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manhuabug/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhuaThai","id":886909171,"baseUrl":"https://www.manhuathai.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manhuathai/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhwaBreakup","id":1042261128,"baseUrl":"https://www.manhwabreakup.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manhwabreakup/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Atikrost","id":515012139,"baseUrl":"https://www.atikrost.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/atikrost/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DiamondFansub","id":692477375,"baseUrl":"https://diamondfansub.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/diamondfansub/icon.png","dateFormat":"d MMMM","dateFormatLocale":"tr-tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"EvaScans","id":439004766,"baseUrl":"https://evascans.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/evascans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Garcia Manga","id":839477218,"baseUrl":"https://garciamanga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/garciamanga/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"GuncelManga","id":344324216,"baseUrl":"https://guncelmanga.net","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/guncelmanga/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"LilyumFansub","id":987644367,"baseUrl":"https://lilyumfansub.com.tr","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/lilyumfansub/icon.png","dateFormat":"MMMM dd yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaGezgini","id":384203300,"baseUrl":"https://mangagezgini.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangagezgini/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Keyfi","id":90571537,"baseUrl":"https://mangakeyfi.net","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangakeyfi/icon.png","dateFormat":"d MMM yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Oku","id":118357555,"baseUrl":"https://mangaoku.info","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangaoku/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaWOW","id":753316676,"baseUrl":"https://mangawow.org","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangawow/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Merlin Scans","id":766513760,"baseUrl":"https://merlinscans.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/merlinscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rüya Manga","id":913158953,"baseUrl":"https://www.ruyamanga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/ruyamanga/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Türkçe Manga Oku","id":1065180352,"baseUrl":"https://turkcemangaoku.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/turkcemangaoku/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Webtoon Hatti","id":790500497,"baseUrl":"https://webtoonhatti.net","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/webtoonhatti/icon.png","dateFormat":"dd MMMM","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":370890607,"baseUrl":"https://comick.app","lang":"all","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":955190069,"baseUrl":"https://comick.app","lang":"en","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":494197461,"baseUrl":"https://comick.app","lang":"pt-br","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":1050814052,"baseUrl":"https://comick.app","lang":"ru","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":380505196,"baseUrl":"https://comick.app","lang":"fr","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":296390197,"baseUrl":"https://comick.app","lang":"es-419","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":242913014,"baseUrl":"https://comick.app","lang":"pl","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":507059585,"baseUrl":"https://comick.app","lang":"tr","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":851891714,"baseUrl":"https://comick.app","lang":"it","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":115169439,"baseUrl":"https://comick.app","lang":"es","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":719269008,"baseUrl":"https://comick.app","lang":"id","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":719759654,"baseUrl":"https://comick.app","lang":"hu","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":301477894,"baseUrl":"https://comick.app","lang":"vi","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":113594984,"baseUrl":"https://comick.app","lang":"zh-hk","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":602472856,"baseUrl":"https://comick.app","lang":"ar","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":401493183,"baseUrl":"https://comick.app","lang":"de","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":752155292,"baseUrl":"https://comick.app","lang":"zh","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":1069764002,"baseUrl":"https://comick.app","lang":"ca","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":678531099,"baseUrl":"https://comick.app","lang":"bg","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":311480598,"baseUrl":"https://comick.app","lang":"th","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":141560456,"baseUrl":"https://comick.app","lang":"fa","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":8261465,"baseUrl":"https://comick.app","lang":"uk","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":565474938,"baseUrl":"https://comick.app","lang":"mn","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":533803532,"baseUrl":"https://comick.app","lang":"ro","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":459976450,"baseUrl":"https://comick.app","lang":"he","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":375702775,"baseUrl":"https://comick.app","lang":"ms","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":737984097,"baseUrl":"https://comick.app","lang":"tl","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":796489006,"baseUrl":"https://comick.app","lang":"ja","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":683471552,"baseUrl":"https://comick.app","lang":"hi","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":778623467,"baseUrl":"https://comick.app","lang":"my","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":1065236294,"baseUrl":"https://comick.app","lang":"ko","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":422767524,"baseUrl":"https://comick.app","lang":"cs","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":678647945,"baseUrl":"https://comick.app","lang":"pt","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":698202010,"baseUrl":"https://comick.app","lang":"nl","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":359879447,"baseUrl":"https://comick.app","lang":"sv","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":532878423,"baseUrl":"https://comick.app","lang":"bn","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":481504622,"baseUrl":"https://comick.app","lang":"no","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":112887841,"baseUrl":"https://comick.app","lang":"lt","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":824905526,"baseUrl":"https://comick.app","lang":"el","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":373675453,"baseUrl":"https://comick.app","lang":"sr","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":574420905,"baseUrl":"https://comick.app","lang":"da","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":202373705,"baseUrl":"https://mangadex.org","lang":"ar","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":860658373,"baseUrl":"https://mangadex.org","lang":"bn","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":722270529,"baseUrl":"https://mangadex.org","lang":"bg","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":978675083,"baseUrl":"https://mangadex.org","lang":"my","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":689496451,"baseUrl":"https://mangadex.org","lang":"ca","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":593575397,"baseUrl":"https://mangadex.org","lang":"zh","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":115179159,"baseUrl":"https://mangadex.org","lang":"zh-hk","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":869144666,"baseUrl":"https://mangadex.org","lang":"cs","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":846142909,"baseUrl":"https://mangadex.org","lang":"da","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":841149659,"baseUrl":"https://mangadex.org","lang":"nl","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":810342358,"baseUrl":"https://mangadex.org","lang":"en","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":309024312,"baseUrl":"https://mangadex.org","lang":"tl","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":164642544,"baseUrl":"https://mangadex.org","lang":"fi","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":545017689,"baseUrl":"https://mangadex.org","lang":"fr","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":110023605,"baseUrl":"https://mangadex.org","lang":"de","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":767687578,"baseUrl":"https://mangadex.org","lang":"el","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":511907642,"baseUrl":"https://mangadex.org","lang":"he","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":986826068,"baseUrl":"https://mangadex.org","lang":"hi","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":128441350,"baseUrl":"https://mangadex.org","lang":"hu","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":183977130,"baseUrl":"https://mangadex.org","lang":"id","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":127887438,"baseUrl":"https://mangadex.org","lang":"it","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":204112007,"baseUrl":"https://mangadex.org","lang":"ja","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":1063442064,"baseUrl":"https://mangadex.org","lang":"kk","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":898061477,"baseUrl":"https://mangadex.org","lang":"ko","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":387646759,"baseUrl":"https://mangadex.org","lang":"la","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":270482698,"baseUrl":"https://mangadex.org","lang":"lt","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":284400542,"baseUrl":"https://mangadex.org","lang":"ms","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":525041874,"baseUrl":"https://mangadex.org","lang":"mn","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":613632949,"baseUrl":"https://mangadex.org","lang":"ne","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":441032670,"baseUrl":"https://mangadex.org","lang":"no","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":693311514,"baseUrl":"https://mangadex.org","lang":"fa","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":683661227,"baseUrl":"https://mangadex.org","lang":"pl","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":417850874,"baseUrl":"https://mangadex.org","lang":"pt-br","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":1027115198,"baseUrl":"https://mangadex.org","lang":"pt","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":399589398,"baseUrl":"https://mangadex.org","lang":"ro","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":367421943,"baseUrl":"https://mangadex.org","lang":"ru","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":254140838,"baseUrl":"https://mangadex.org","lang":"sh","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":823535267,"baseUrl":"https://mangadex.org","lang":"es-419","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":736630443,"baseUrl":"https://mangadex.org","lang":"es","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":146351677,"baseUrl":"https://mangadex.org","lang":"sv","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":739930809,"baseUrl":"https://mangadex.org","lang":"ta","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":385031783,"baseUrl":"https://mangadex.org","lang":"th","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":1008587213,"baseUrl":"https://mangadex.org","lang":"tr","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":778357609,"baseUrl":"https://mangadex.org","lang":"uk","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":88174952,"baseUrl":"https://mangadex.org","lang":"vi","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.0.9","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Beast Scans","id":1051043161,"baseUrl":"https://beast-scans.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/beastscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Lelmanga","id":35877276,"baseUrl":"https://www.lelmanga.com","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/lelmanga/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Asura Scans","id":524070078,"baseUrl":"https://asuratoon.com/","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/asurascans/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KomikLab Scans","id":932554594,"baseUrl":"https://komiklab.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komiklab/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Azure Scans","id":316512590,"baseUrl":"https://azuremanga.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/azurescans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Cosmic Scans","id":938687459,"baseUrl":"https://cosmicscans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/cosmicscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"CosmicScans.id","id":1053293978,"baseUrl":"https://cosmicscans.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/cosmicscansid/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DuniaKomik.id","id":326969052,"baseUrl":"https://duniakomik.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/duniakomikid/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Gecenin Lordu","id":622207049,"baseUrl":"https://geceninlordu.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/geceninlordu/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Infernal Void Scans","id":460393112,"baseUrl":"https://void-scans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/infernalvoidscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KataKomik","id":61302571,"baseUrl":"https://katakomik.online","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/katakomik/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komik Station","id":866615506,"baseUrl":"https://komikstation.co","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikstation/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KomikMama","id":148959602,"baseUrl":"https://komikmama.co","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikmama/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komiku.com","id":869906392,"baseUrl":"https://komiku.com","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikucom/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Magus Manga","id":487156426,"baseUrl":"https://magusmanga.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/magusmanga/icon.png","dateFormat":"MMMMM d, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Indo.me","id":425166803,"baseUrl":"https://mangaindo.me","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaindome/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangacim","id":642410916,"baseUrl":"https://www.mangacim.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangacim/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaTale","id":343986734,"baseUrl":"https://mangatale.co","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangatale/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaWT","id":1014190199,"baseUrl":"https://mangawt.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangawt/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MELOKOMIK","id":532392938,"baseUrl":"https://melokomik.xyz","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/melokomik/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Origami Orpheans","id":261849744,"baseUrl":"https://origami-orpheans.com.br","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/origamiorpheans/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"PhenixScans","id":984162065,"baseUrl":"https://phenixscans.fr","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/phenixscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Pi Scans","id":548699583,"baseUrl":"https://piscans.in","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/piscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Raiki Scan","id":550138305,"baseUrl":"https://raikiscan.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/raikiscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Raven Scans","id":299682436,"baseUrl":"https://ravenscans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/ravenscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shadow Mangas","id":229424731,"baseUrl":"https://shadowmangas.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/shadowmangas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Surya Scans","id":935389321,"baseUrl":"https://suryascans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/suryascans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sushi-Scans","id":1036140988,"baseUrl":"https://sushiscan.fr","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sushiscans/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sushi-Scan","id":972784612,"baseUrl":"https://sushiscan.net","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sushiscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tarot Scans","id":347606260,"baseUrl":"https://www.tarotscans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/tarotscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"TukangKomik","id":884904192,"baseUrl":"https://tukangkomik.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/tukangkomik/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"TurkToon","id":579681001,"baseUrl":"https://turktoon.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/turktoon/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Uzay Manga","id":762273201,"baseUrl":"https://uzaymanga.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/uzaymanga/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"xCaliBR Scans","id":699314250,"baseUrl":"https://xcalibrscans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/xcalibrscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Miau Scan","id":579641140,"baseUrl":"https://lectormiau.com","lang":"all","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/miauscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Thunder Scans","id":607210554,"baseUrl":"https://ar-thunderepic.com","lang":"all","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/thunderscans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"أريا مانجا","id":101767587,"baseUrl":"https://www.areascans.net","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/areamanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Area Scans","id":215530388,"baseUrl":"https://ar.areascans.org","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/areascans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SCARManga","id":973665455,"baseUrl":"https://scarmanga.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/aresnov/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Beast Scans","id":1051043161,"baseUrl":"https://beast-scans.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/beastscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Crow Scans","id":113863087,"baseUrl":"https://crowscans.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/crowscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ARESManga","id":603318428,"baseUrl":"https://fl-ares.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/iimanga/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Flame","id":246146595,"baseUrl":"https://mangaflame.org","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaflame/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"مانجا نون","id":360286753,"baseUrl":"https://manjanoon.org","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/manganoon/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Pro","id":349077648,"baseUrl":"https://mangapro.club","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangapro/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaSwat","id":1022922869,"baseUrl":"https://normoyun.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaswat/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaTak","id":71223245,"baseUrl":"https://mangatak.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangatak/icon.png","dateFormat":"MMMM DD, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"PotatoManga","id":833603780,"baseUrl":"https://ar.potatomanga.xyz","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/potatomanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"StellarSaber","id":719550729,"baseUrl":"https://stellarsaber.pro","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/stellarsaber/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rizz Comic","id":369389150,"baseUrl":"https://rizzfables.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/rizzcomic/icon.png","dateFormat":"dd MMM yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Berserker Scan","id":150485334,"baseUrl":"https://ragnascan.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/berserkerscan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Cartel de Manhwas","id":884854005,"baseUrl":"https://carteldemanhwas.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/carteldemanhwas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"De Todo Un Poco Scan","id":843656091,"baseUrl":"https://dtupscan.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/dtupscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Gremory Mangas","id":643211287,"baseUrl":"https://gremorymangas.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/gremorymangas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"RyujinManga","id":280926444,"baseUrl":"https://ryujinmanga.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/ryujinmanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Senpai Ediciones","id":483474103,"baseUrl":"https://senpaiediciones.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/senpaiediciones/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SkyMangas","id":586822857,"baseUrl":"https://skymangas.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/skymangas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Legacy Scans","id":310973833,"baseUrl":"https://legacy-scans.com","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/flamescansfr/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangas Scans","id":10569804,"baseUrl":"https://mangas-scans.com","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangasscans/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rimu Scans","id":1062885024,"baseUrl":"https://rimuscans.fr","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/rimuscans/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"VF Scan","id":66643810,"baseUrl":"https://www.vfscan.cc","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/vfscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comicaso","id":408387886,"baseUrl":"https://comicaso.com","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/comicaso/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Kiryuu","id":729634849,"baseUrl":"https://kiryuu.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/kiryuu/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"APKOMIK","id":851821537,"baseUrl":"https://apkomik.cc","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikav/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KomikIndo.co","id":1029579773,"baseUrl":"https://komikindo.co","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikindoco/icon.png","dateFormat":"MMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangakyo","id":350778130,"baseUrl":"https://mangakyo.vip","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangakyo/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaYu","id":815037068,"baseUrl":"https://mangayu.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangayu/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Siren Komik","id":933724425,"baseUrl":"https://sirenkomik.my.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangkomik/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tenshi.id","id":74634925,"baseUrl":"https://tenshi.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/masterkomik/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id-id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Natsu","id":539493591,"baseUrl":"https://natsu.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/natsu/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shea Manga","id":732403984,"baseUrl":"https://sheakomik.com","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sheamanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shirakami","id":653518167,"baseUrl":"https://shirakami.xyz","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/shirakami/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Walpurgi Scan","id":83686844,"baseUrl":"https://www.walpurgiscan.it","lang":"it","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/walpurgisscan/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"it","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Diskus Scan","id":219319544,"baseUrl":"https://diskusscan.com","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/diskusscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Iris Scanlator","id":627481975,"baseUrl":"https://irisscanlator.com.br","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/irisscanlator/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangás Chan","id":413321827,"baseUrl":"https://mangaschan.net","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaschan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangás Online","id":607918644,"baseUrl":"https://mangasonline.cc","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangasonline/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SSSScanlator","id":429559501,"baseUrl":"https://sssscanlator.com.br","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sssscanlator/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tsundoku Traduções","id":958388028,"baseUrl":"https://tsundoku.com.br","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/tsundokutraducoes/icon.png","dateFormat":"MMMMM d, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-Moon","id":592572146,"baseUrl":"https://manga-moons.net","lang":"th","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangamoon/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Adu Manga","id":278062325,"baseUrl":"https://www.mangacim.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/adumanga/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Afrodit Scans","id":589929789,"baseUrl":"https://afroditscans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/afroditscans/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Athena Manga","id":279839170,"baseUrl":"https://athenamanga.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/athenamanga/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Gaiatoon","id":135821324,"baseUrl":"https://gaiatoon.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/gaiatoon/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MajorScans","id":448604103,"baseUrl":"https://www.majorscans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/majorscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Efendisi","id":676269978,"baseUrl":"https://mangaefendisi.net","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaefendisi/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Kings","id":550899403,"baseUrl":"https://mangakings.com.tr","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangakings/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Merlin Shoujo","id":487637789,"baseUrl":"https://merlinshoujo.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/merlinshoujo/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Nirvana Manga","id":212544702,"baseUrl":"https://nirvanamanga.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/nirvanamanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Pati Manga","id":170419301,"baseUrl":"https://www.patimanga.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/patimanga/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Raindrop Fansub","id":380323896,"baseUrl":"https://www.raindropteamfan.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/raindropfansub/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Serein Scan","id":366839092,"baseUrl":"https://sereinscan.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sereinscan/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shijie Scans","id":95172728,"baseUrl":"https://shijiescans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/shijiescans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SummerToon","id":297221652,"baseUrl":"https://summertoon.me","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/summertoon/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Zenith Scans","id":554003129,"baseUrl":"https://zenithscans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/zenithscans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Scan VF","id":929253523,"baseUrl":"https://www.scan-vf.net","lang":"fr","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/scanvf/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komikid","id":400330220,"baseUrl":"https://www.komikid.com","lang":"id","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/komikid/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaID","id":181458486,"baseUrl":"https://mangaid.click","lang":"id","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/mangaid/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Jpmangas","id":1009609900,"baseUrl":"https://jpmangas.cc","lang":"fr","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/jpmangas/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"مانجا اون لاين","id":19018595,"baseUrl":"https://onma.top","lang":"ar","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/onma/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Read Comics Online","id":1021546729,"baseUrl":"https://readcomicsonline.ru","lang":"en","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/readcomicsonline/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Lelscan-VF","id":529915550,"baseUrl":"https://www.lelscanvf.cc/","lang":"fr","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/lelscanvf/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-FR","id":410779276,"baseUrl":"https://manga-fr.me","lang":"fr","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/mangafr/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaHere","id":434984458,"baseUrl":"http://www.mangahere.cc","lang":"en","typeSource":"single","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/en/mangahere/icon.png","dateFormat":"MMM dd,yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/en/mangahere/mangahere.dart","apiUrl":"","version":"0.0.7","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaSee","id":531216751,"baseUrl":"https://mangasee123.com","lang":"en","typeSource":"nepnep","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/nepnep/src/mangasee/icon.png","dateFormat":"yyyy-MM-dd HH:mm:ss","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/nepnep/nepnep.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaLife","id":434747478,"baseUrl":"https://manga4life.com","lang":"en","typeSource":"nepnep","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/nepnep/src/mangalife/icon.png","dateFormat":"yyyy-MM-dd HH:mm:ss","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/nepnep/nepnep.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangabat","id":658659024,"baseUrl":"https://m.mangabat.com","lang":"en","typeSource":"mangabox","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/src/mangabat/icon.png","dateFormat":"MMM dd,yy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/mangabox.dart","apiUrl":"","version":"0.0.6","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangairo","id":119266018,"baseUrl":"https://h.mangairo.com","lang":"en","typeSource":"mangabox","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/src/mangairo/icon.png","dateFormat":"MMM-dd-yy","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/mangabox.dart","apiUrl":"","version":"0.0.6","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangakakalot","id":1071729594,"baseUrl":"https://mangakakalot.com","lang":"en","typeSource":"mangabox","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/src/mangakakalot/icon.png","dateFormat":"MMM dd,yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/mangabox.dart","apiUrl":"","version":"0.0.6","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manganato","id":796167348,"baseUrl":"https://manganato.com","lang":"en","typeSource":"mangabox","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/src/manganato/icon.png","dateFormat":"MMM dd,yy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/mangabox.dart","apiUrl":"","version":"0.0.6","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"新新漫画","id":652112892,"baseUrl":"https://www.77mh.nl","lang":"zh","typeSource":"single","iconUrl":"https://www.77mh.nl/favicon.ico","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/77mh.js","apiUrl":"","version":"0.0.25","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"漫画DB","id":900808373,"baseUrl":"https://www.manhuadb.com","lang":"zh","typeSource":"single","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/zh.manhuadb.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/manhuadb.js","apiUrl":"","version":"0.0.25","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"漫画柜","id":219867496,"baseUrl":"https://www.manhuagui.com","lang":"zh","typeSource":"single","iconUrl":"https://www.manhuagui.com/favicon.ico","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/manhuagui.js","apiUrl":"","version":"0.0.25","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"拷贝漫画","id":109412435,"baseUrl":"https://www.mangacopy.com","lang":"zh","typeSource":"single","iconUrl":"https://hi77-overseas.mangafuna.xyz/static/free.ico","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/copymanga.js","apiUrl":"https://api.mangacopy.com","version":"0.0.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"动漫之家","id":434793864,"baseUrl":"https://www.dmzj.com","lang":"zh","typeSource":"single","iconUrl":"https://www.dmzj.com/_nuxt/logo_dmzj.1c94014a.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/dmzj.js","apiUrl":"","version":"0.0.25","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1}] \ No newline at end of file +[{"name":"1st Kiss-Manga (unoriginal)","id":638504049,"baseUrl":"https://1stkiss-manga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/firstkissdashmanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"AQUA Scans","id":1022584413,"baseUrl":"https://aquascans.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhwaworld/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Akuma no Tenshi","id":556872410,"baseUrl":"https://akumanotenshi.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/akumanotenshi/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Anikiga","id":554316969,"baseUrl":"https://anikiga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/anikiga/icon.png","dateFormat":"d MMMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ArazNovel","id":966932111,"baseUrl":"https://www.araznovel.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/araznovel/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Arthur Scan","id":678948853,"baseUrl":"https://arthurscan.xyz","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/arthurscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"AstralManga","id":1028022993,"baseUrl":"https://astral-manga.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/astralmanga/icon.png","dateFormat":"dd/mm/yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Asura Scans.us (unoriginal)","id":586702086,"baseUrl":"https://asurascans.us","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/asurascansus/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"BarManga","id":627965453,"baseUrl":"https://barmanga.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/barmanga/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"BestManga","id":926276360,"baseUrl":"https://bestmanga.club","lang":"ru","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/bestmanga/icon.png","dateFormat":"dd.MM.yyyy","dateFormatLocale":"ru","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Chibi Manga","id":105430403,"baseUrl":"https://www.cmreader.info","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/chibimanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Clover Manga","id":811523862,"baseUrl":"https://clover-manga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/clovermanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Coco Rip","id":316931886,"baseUrl":"https://cocorip.net","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/cocorip/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Coffee Manga","id":212388160,"baseUrl":"https://coffeemanga.io","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/coffeemanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Doodmanga","id":796439892,"baseUrl":"https://www.doodmanga.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/doodmanga/icon.png","dateFormat":"dd MMMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Elite Manga","id":667501516,"baseUrl":"https://www.elitemanga.org","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/elitemanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Emperor Scan","id":21325920,"baseUrl":"https://emperorscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/emperorscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"EvaScans","id":439004766,"baseUrl":"https://evascans.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/evascans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"FR-Scan","id":669019889,"baseUrl":"https://fr-scan.com","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/frscan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"FactManga","id":956621361,"baseUrl":"https://factmanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/factmanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"FreeMangaTop","id":679915593,"baseUrl":"https://freemangatop.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/freemangatop/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Glory Manga","id":284318957,"baseUrl":"https://glorymanga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/glorymanga/icon.png","dateFormat":"dd/MM/yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Harimanga","id":178905360,"baseUrl":"https://harimanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/harimanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Immortal Updates","id":227459275,"baseUrl":"https://immortalupdates.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/immortalupdates/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Império Scans","id":721205416,"baseUrl":"https://imperioscans.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/imperioscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Inmortal Scan","id":809387434,"baseUrl":"https://manga.mundodrama.site","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/inmortalscan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"IsekaiScanManga (unoriginal)","id":775728183,"baseUrl":"https://isekaiscanmanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/isekaiscanmanga/icon.png","dateFormat":"dd MMM، yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Jimanga","id":773169340,"baseUrl":"https://jimanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/jimanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KSGroupScans","id":374902680,"baseUrl":"https://ksgroupscans.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ksgroupscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Kakusei Project","id":872023105,"baseUrl":"https://kakuseiproject.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/kakuseiproject/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Kami Sama Explorer","id":797019242,"baseUrl":"https://leitor.kamisama.com.br","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/kamisamaexplorer/icon.png","dateFormat":"dd 'de' MMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komik Chan","id":852383302,"baseUrl":"https://komikchan.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/komikchan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"LHTranslation","id":21247797,"baseUrl":"https://lhtranslation.net","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/lhtranslation/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Lady Estelar Scan","id":987669145,"baseUrl":"https://ladyestelarscan.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ladyestelarscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Leviatan Scans","id":280413449,"baseUrl":"https://lscomic.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/leviatanscans/icon.png","dateFormat":"MMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Luffy Manga","id":797524700,"baseUrl":"https://luffymanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/luffymanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Maid Scan","id":931615028,"baseUrl":"https://maidscan.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/maidscan/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Diyari","id":531861751,"baseUrl":"https://manga-diyari.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangadiyari/icon.png","dateFormat":"MMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Fenix","id":533195191,"baseUrl":"https://manhua-fenix.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangafenix/icon.png","dateFormat":"dd MMMM, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Galaxy","id":935714707,"baseUrl":"https://mangagalaxy.me","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangagalaxy/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Read","id":256879643,"baseUrl":"https://mangaread.co","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaread/icon.png","dateFormat":"yyyy-MM-dd","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Tx.gg (unoriginal)","id":457634416,"baseUrl":"https://mangatx.gg","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangatxgg/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Weebs","id":499853860,"baseUrl":"https://mangaweebs.in","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaweebs/icon.png","dateFormat":"dd MMMM HH:mm","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Şehri","id":865354788,"baseUrl":"https://mangasehri.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasehri/icon.png","dateFormat":"dd/MM/yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-TX","id":382229208,"baseUrl":"https://manga-tx.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangatxunoriginal/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaClash","id":1022665553,"baseUrl":"https://mangaclash.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaclash/icon.png","dateFormat":"MM/dd/yy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaFreak.online","id":223793266,"baseUrl":"https://mangafreak.online","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangafreakonline/icon.png","dateFormat":"d MMMM، yyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaGreat","id":1054806605,"baseUrl":"https://mangagreat.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangagreat/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaKomi","id":396237578,"baseUrl":"https://mangakomi.io","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangakomi/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaRead.org","id":120353492,"baseUrl":"https://www.mangaread.org","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangareadorg/icon.png","dateFormat":"dd.MM.yyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaRolls","id":720109919,"baseUrl":"https://mangarolls.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangarolls/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaTyrant","id":32333683,"baseUrl":"https://mangatyrant.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangatyrant/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaUS","id":503871898,"baseUrl":"https://mangaus.xyz","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangaus/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangasushi","id":224429716,"baseUrl":"https://mangasushi.org","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasushi/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangá Nanquim","id":92850584,"baseUrl":"https://mangananquim.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangananquim/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manhua ES","id":722532191,"baseUrl":"https://manhuaaz.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuaes/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhuaUS","id":802461663,"baseUrl":"https://manhuaus.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuaus/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhuaZone","id":751568949,"baseUrl":"https://manhuazone.org","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhuazone/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhwaClan","id":668862828,"baseUrl":"https://manhwaclan.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhwaclan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manhwafull","id":316078751,"baseUrl":"https://manhwafull.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manhwafull/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mantraz Scan","id":919786495,"baseUrl":"https://mantrazscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mantrazscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Momo no Hana Scan","id":800496106,"baseUrl":"https://momonohanascan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/momonohanascan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MonarcaManga","id":677489943,"baseUrl":"https://monarcamanga.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/monarcamanga/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Moon Witch In Love","id":1023454168,"baseUrl":"https://moonwitchinlovescan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/moonwitchinlove/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"NekoPost.co (unoriginal)","id":68388394,"baseUrl":"https://www.nekopost.co","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/nekopostco/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Niji Translations","id":1040686830,"baseUrl":"https://niji-translations.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/nijitranslations/icon.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Pantheon Scan","id":722864118,"baseUrl":"https://pantheon-scan.com","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/pantheonscan/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Pojok Manga","id":620356987,"baseUrl":"https://pojokmanga.net","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/pojokmanga/icon.png","dateFormat":"MMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Projeto Scanlator","id":1059909508,"baseUrl":"https://projetoscanlator.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/projetoscanlator/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ROG Mangás","id":876053235,"baseUrl":"https://rogmangas.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangasoverall/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Ragnarok Scanlation","id":1045851788,"baseUrl":"https://ragnarokscanlation.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/ragnarokscanlation/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rainbow Fairy Scan","id":342232477,"baseUrl":"https://rainbowfairyscan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/rainbowfairyscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Random Scan","id":608218815,"baseUrl":"https://randomscanlators.net","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/randomscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ReaderGen","id":630253320,"baseUrl":"https://fr.readergen.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/readergen/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"RichtoScan","id":688713066,"baseUrl":"https://richtoscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/richtoscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rightdark Scan","id":1015914849,"baseUrl":"https://rightdark-scan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/rightdarkscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rio2 Manga","id":110090511,"baseUrl":"https://rio2manga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/rio2manga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Romantik Manga","id":944131896,"baseUrl":"https://romantikmanga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/romantikmanga/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"S2Manga","id":763495726,"baseUrl":"https://www.s2manga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/s2manga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SamuraiScan","id":76766511,"baseUrl":"https://samuraiscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/samuraiscan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ScamberTraslator","id":774205343,"baseUrl":"https://scambertraslator.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/scambertraslator/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Scantrad-VF","id":400350749,"baseUrl":"https://scantrad-vf.co","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/scantradvf/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shadowtrad","id":171182128,"baseUrl":"https://shadowtrad.net","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/shadowtrad/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shiba Manga","id":368209304,"baseUrl":"https://shibamanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/shibamanga/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sinensis Scan","id":874513309,"baseUrl":"https://sinensisscan.net","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/sinensis/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sweet Time Scan","id":773665225,"baseUrl":"https://sweetscan.net","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/sweettimescan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tatakae Scan","id":296744306,"baseUrl":"https://tatakaescan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/tatakaescan/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Taurus Fansub","id":1036726988,"baseUrl":"https://taurusfansub.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/taurusfansub/icon.png","dateFormat":"dd/MM/yyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"The Beginning After The End","id":337822334,"baseUrl":"https://www.thebeginningaftertheend.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/thebeginningaftertheend/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tortuga Ceviri","id":294602572,"baseUrl":"https://tortuga-ceviri.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/tortugaceviri/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Wicked Witch Scan","id":679298799,"baseUrl":"https://wickedwitchscan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/wickedwitchscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Winter Scan","id":455337571,"baseUrl":"https://winterscan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/winterscan/icon.png","dateFormat":"dd 'de' MMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Wonderland Scan","id":867820989,"baseUrl":"https://wonderlandscan.com","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/wonderlandscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Yuri Verso","id":756257030,"baseUrl":"https://yuri.live","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/yuriverso/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"فالكون مانجا","id":390316279,"baseUrl":"https://falconmanga.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/falconmanga/icon.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"مانجا العاشق","id":913767194,"baseUrl":"https://3asq.org","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/manga3asq/icon.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Grabber Zone","id":88668089,"baseUrl":"https://grabber.zone","lang":"all","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/grabberzone/icon.png","dateFormat":"dd.MM.yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Gatemanga","id":228457517,"baseUrl":"https://gatemanga.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/gatemanga/icon.png","dateFormat":"d MMMM، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"GMANGA (unoriginal)","id":534385671,"baseUrl":"https://gmanga.site","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/gmangasite/icon.png","dateFormat":"MMMM dd، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"مانجا لينك","id":933815485,"baseUrl":"https://manga-link.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangalink/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaLionz","id":718647301,"baseUrl":"https://manga-lionz.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangalionz/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Rose","id":492075908,"baseUrl":"https://mangarose.net","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangarose/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaSpark","id":498074514,"baseUrl":"https://manga-spark.net","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangaspark/icon.png","dateFormat":"d MMMM، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Starz","id":424368932,"baseUrl":"https://manga-starz.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangastarz/icon.png","dateFormat":"d MMMM، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Time","id":929842820,"baseUrl":"https://mangatime.us","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangatime/icon.png","dateFormat":"dd MMMM، yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Olaoe","id":765729692,"baseUrl":"https://olaoe.cyou","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/olaoe/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rocks Manga","id":694856524,"baseUrl":"https://rocks-manga.com","lang":"ar","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/rocksmanga/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DragonTea","id":351087179,"baseUrl":"https://dragontea.ink","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/dragontea/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Global Bloging","id":466045336,"baseUrl":"https://globalbloging.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/globalbloging/icon.png","dateFormat":"dd MMMM yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga347","id":32568759,"baseUrl":"https://manga347.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manga347/icon.png","dateFormat":"d MMM, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaEffect","id":426231795,"baseUrl":"https://mangaeffect.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangaeffect/icon.png","dateFormat":"dd.MM.yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-fast.com","id":304908872,"baseUrl":"https://manga-fast.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangafastcom/icon.png","dateFormat":"d MMMM'،' yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Leveling","id":922449127,"baseUrl":"https://mangaleveling.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangaleveling/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"NeatManga","id":481438951,"baseUrl":"https://neatmanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/neatmanga/icon.png","dateFormat":"dd MMM yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"NvManga","id":714716947,"baseUrl":"https://nvmanga.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/nvmanga/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"PMScans","id":724822356,"baseUrl":"https://rackusreads.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/pmscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ReadManhua","id":406424746,"baseUrl":"https://readmanhua.net","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/readmanhua/icon.png","dateFormat":"dd MMM yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"StoneScape","id":611266903,"baseUrl":"https://stonescape.xyz","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/stonescape/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"TappyToon.Net","id":903184103,"baseUrl":"https://tappytoon.net","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/tappytoonnet/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Zinmanga.net","id":656879510,"baseUrl":"https://zinmanga.net","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/zinmanganet/icon.png","dateFormat":"MM/dd/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"BokugenTranslation","id":406916759,"baseUrl":"https://bokugents.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/bokugentranslation/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DapRob","id":711981672,"baseUrl":"https://daprob.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/daprob/icon.png","dateFormat":"dd/MM/yyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DeManhuas","id":563568870,"baseUrl":"https://demanhuas.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/demanhuas/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"HerenScan","id":249889937,"baseUrl":"https://herenscan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/herenscan/icon.png","dateFormat":"d 'de' MMM 'de' yyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"HouseMangas","id":767167238,"baseUrl":"https://housemangas.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/housemangas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"InfraFandub","id":1007047649,"baseUrl":"https://infrafandub.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/infrafandub/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Inmoral No Fansub","id":36533629,"baseUrl":"https://inmoralnofansub.xyz","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/inmoralnofansub/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"JeazScans","id":340396217,"baseUrl":"https://jeazscansv2.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/jeazscans/icon.png","dateFormat":"d MMMM, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Jobsibe","id":132907111,"baseUrl":"https://jobsibe.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/jobsibe/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"LegnMangas","id":805195882,"baseUrl":"https://legnmangas.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/legendsnofansub/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Crab","id":830048268,"baseUrl":"https://visorcrab.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangacrab/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Fenix","id":533195191,"baseUrl":"https://manhua-fenix.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/mangafenix/icon.png","dateFormat":"dd MMMM, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangas No Sekai","id":192331842,"baseUrl":"https://mangasnosekai.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangasnosekai/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manhua Online","id":1013501577,"baseUrl":"https://blog.manhuaonline.org","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manhuaonline/icon.png","dateFormat":"dd 'de' MMMM 'de' yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MHScans","id":309079366,"baseUrl":"https://lectormh.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mhscans/icon.png","dateFormat":"dd 'de' MMMM 'de' yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MonarcaManga","id":677489943,"baseUrl":"https://monarcamanga.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/monarcamanga/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Noblesse Translations","id":303973222,"baseUrl":"https://www.noblessev1.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/noblessetranslations/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Prince Ediciones","id":23658821,"baseUrl":"https://princediciones.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/princediciones/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SapphireScan","id":878724478,"baseUrl":"https://sapphirescan.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/sapphirescan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tres Daos Scan","id":278790017,"baseUrl":"https://tresdaos.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/tresdaosscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Unitoon","id":661103813,"baseUrl":"https://lectorunitoon.com","lang":"es","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/unitoon/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-Scantrad","id":686398626,"baseUrl":"https://manga-scantrad.io","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangascantrad/icon.png","dateFormat":"d MMM yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangas-Origines.fr","id":27886548,"baseUrl":"https://mangas-origines.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangasoriginesfr/icon.png","dateFormat":"dd/mm/yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Raijin Scans","id":320342235,"baseUrl":"https://raijinscans.com","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/raijinscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Reaper Scans","id":393303796,"baseUrl":"https://reaperscans.com","lang":"en","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/reaperscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Soft Epsilon Scan","id":59479664,"baseUrl":"https://soft.epsilonscan.fr","lang":"fr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/softepsilonscan/icon.png","dateFormat":"dd/MM/yy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Hwago","id":742688581,"baseUrl":"https://hwago.org","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/hwago/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KlikManga","id":325512770,"baseUrl":"https://klikmanga.id","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/klikmanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komikuzan","id":654623055,"baseUrl":"https://komikuzan.com","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/komikuzan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MG Komik","id":336171225,"baseUrl":"https://mgkomik.id","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mgkomik/icon.png","dateFormat":"dd MMM yy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Siimanga","id":33515095,"baseUrl":"https://siimanga.cyou","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/siimanga/icon.png","dateFormat":"d MMMM","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Yubikiri","id":451585835,"baseUrl":"https://yubikiri.my.id","lang":"id","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/yubikiri/icon.png","dateFormat":"d MMMM","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaHoNa","id":1046386661,"baseUrl":"https://mangahona.pl","lang":"pl","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangahona/icon.png","dateFormat":"yyyy-MM-dd","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Alone Scanlator","id":646262881,"baseUrl":"https://alonescanlator.com.br","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/alonescanlator/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Boruto Explorer","id":824559648,"baseUrl":"https://leitor.borutoexplorer.com.br","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/borutoexplorer/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Crystal Comics","id":345759902,"baseUrl":"https://crystalcomics.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/crystalcomics/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Fay Scans","id":591914093,"baseUrl":"https://fayscans.net","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/fayscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Galinha Samurai Scan","id":204589683,"baseUrl":"https://galinhasamurai.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/galinhasamuraiscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Hikari Ga Nai","id":346017333,"baseUrl":"https://hikariganai.xyz","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/hikariganai/icon.png","dateFormat":"d 'de' MMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sagrado Império da Britannia","id":825744254,"baseUrl":"https://imperiodabritannia.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/imperiodabritannia/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Império Scans","id":721205416,"baseUrl":"https://imperioscans.com.br","lang":"pt-BR","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/imperioscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Leitor de Mangá","id":1053799132,"baseUrl":"https://leitordemanga.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/leitordemanga/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"L Scans","id":1044801707,"baseUrl":"https://lscans.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/lscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Lunar Scan","id":912854479,"baseUrl":"https://lunarscan.com.br","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/lunarscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MiniTwo Scan","id":601012644,"baseUrl":"https://minitwoscan.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/minitwoscan/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Nexo Scans","id":290544955,"baseUrl":"https://nexoscans.net","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/nexoscans/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Ninja Scan","id":334761951,"baseUrl":"https://ninjacomics.xyz","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/ninjascan/icon.png","dateFormat":"dd 'de' MMMMM 'de' yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"One Piece TECA","id":743484013,"baseUrl":"https://onepieceteca.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/onepieceteca/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Demon Sect","id":779027778,"baseUrl":"https://dsectcomics.org","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/prismascans/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sussy Scan","id":27850545,"baseUrl":"https://sussyscan.com","lang":"pt-br","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/sussyscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Kings-Manga","id":247277818,"baseUrl":"https://www.kings-manga.co","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/kingsmanga/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDeemak","id":1013072878,"baseUrl":"https://mangadeemak.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangadeemak/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhuaBug","id":1069870491,"baseUrl":"https://www.manhuabug.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manhuabug/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhuaThai","id":886909171,"baseUrl":"https://www.manhuathai.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manhuathai/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ManhwaBreakup","id":1042261128,"baseUrl":"https://www.manhwabreakup.com","lang":"th","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/manhwabreakup/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Atikrost","id":515012139,"baseUrl":"https://www.atikrost.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/atikrost/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DiamondFansub","id":692477375,"baseUrl":"https://diamondfansub.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/diamondfansub/icon.png","dateFormat":"d MMMM","dateFormatLocale":"tr-tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"EvaScans","id":439004766,"baseUrl":"https://evascans.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/src/evascans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Garcia Manga","id":839477218,"baseUrl":"https://garciamanga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/garciamanga/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"GuncelManga","id":344324216,"baseUrl":"https://guncelmanga.net","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/guncelmanga/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"LilyumFansub","id":987644367,"baseUrl":"https://lilyumfansub.com.tr","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/lilyumfansub/icon.png","dateFormat":"MMMM dd yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaGezgini","id":384203300,"baseUrl":"https://mangagezgini.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangagezgini/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Keyfi","id":90571537,"baseUrl":"https://mangakeyfi.net","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangakeyfi/icon.png","dateFormat":"d MMM yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Oku","id":118357555,"baseUrl":"https://mangaoku.info","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangaoku/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaWOW","id":753316676,"baseUrl":"https://mangawow.org","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/mangawow/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Merlin Scans","id":766513760,"baseUrl":"https://merlinscans.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/merlinscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rüya Manga","id":913158953,"baseUrl":"https://www.ruyamanga.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/ruyamanga/icon.png","dateFormat":"dd/MM/yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Türkçe Manga Oku","id":1065180352,"baseUrl":"https://turkcemangaoku.com","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/turkcemangaoku/icon.png","dateFormat":"d MMMM yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Webtoon Hatti","id":790500497,"baseUrl":"https://webtoonhatti.net","lang":"tr","typeSource":"madara","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/bbranchNamee/dart/manga/multisrc/madara/src/webtoonhatti/icon.png","dateFormat":"dd MMMM","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/madara/madara.dart","apiUrl":"","version":"0.1.15","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":370890607,"baseUrl":"https://comick.app","lang":"all","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":955190069,"baseUrl":"https://comick.app","lang":"en","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":494197461,"baseUrl":"https://comick.app","lang":"pt-br","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":1050814052,"baseUrl":"https://comick.app","lang":"ru","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":380505196,"baseUrl":"https://comick.app","lang":"fr","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":296390197,"baseUrl":"https://comick.app","lang":"es-419","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":242913014,"baseUrl":"https://comick.app","lang":"pl","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":507059585,"baseUrl":"https://comick.app","lang":"tr","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":851891714,"baseUrl":"https://comick.app","lang":"it","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":115169439,"baseUrl":"https://comick.app","lang":"es","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":719269008,"baseUrl":"https://comick.app","lang":"id","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":719759654,"baseUrl":"https://comick.app","lang":"hu","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":301477894,"baseUrl":"https://comick.app","lang":"vi","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":113594984,"baseUrl":"https://comick.app","lang":"zh-hk","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":602472856,"baseUrl":"https://comick.app","lang":"ar","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":401493183,"baseUrl":"https://comick.app","lang":"de","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":752155292,"baseUrl":"https://comick.app","lang":"zh","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":1069764002,"baseUrl":"https://comick.app","lang":"ca","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":678531099,"baseUrl":"https://comick.app","lang":"bg","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":311480598,"baseUrl":"https://comick.app","lang":"th","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":141560456,"baseUrl":"https://comick.app","lang":"fa","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":8261465,"baseUrl":"https://comick.app","lang":"uk","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":565474938,"baseUrl":"https://comick.app","lang":"mn","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":533803532,"baseUrl":"https://comick.app","lang":"ro","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":459976450,"baseUrl":"https://comick.app","lang":"he","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":375702775,"baseUrl":"https://comick.app","lang":"ms","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":737984097,"baseUrl":"https://comick.app","lang":"tl","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":796489006,"baseUrl":"https://comick.app","lang":"ja","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":683471552,"baseUrl":"https://comick.app","lang":"hi","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":778623467,"baseUrl":"https://comick.app","lang":"my","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":1065236294,"baseUrl":"https://comick.app","lang":"ko","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":422767524,"baseUrl":"https://comick.app","lang":"cs","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":678647945,"baseUrl":"https://comick.app","lang":"pt","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":698202010,"baseUrl":"https://comick.app","lang":"nl","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":359879447,"baseUrl":"https://comick.app","lang":"sv","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":532878423,"baseUrl":"https://comick.app","lang":"bn","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":481504622,"baseUrl":"https://comick.app","lang":"no","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":112887841,"baseUrl":"https://comick.app","lang":"lt","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":824905526,"baseUrl":"https://comick.app","lang":"el","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":373675453,"baseUrl":"https://comick.app","lang":"sr","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comick","id":574420905,"baseUrl":"https://comick.app","lang":"da","typeSource":"comick","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss'Z'","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/comick/comick.dart","apiUrl":"https://api.comick.fun","version":"0.0.75","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":202373705,"baseUrl":"https://mangadex.org","lang":"ar","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":860658373,"baseUrl":"https://mangadex.org","lang":"bn","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":722270529,"baseUrl":"https://mangadex.org","lang":"bg","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":978675083,"baseUrl":"https://mangadex.org","lang":"my","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":689496451,"baseUrl":"https://mangadex.org","lang":"ca","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":593575397,"baseUrl":"https://mangadex.org","lang":"zh","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":115179159,"baseUrl":"https://mangadex.org","lang":"zh-hk","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":869144666,"baseUrl":"https://mangadex.org","lang":"cs","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":846142909,"baseUrl":"https://mangadex.org","lang":"da","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":841149659,"baseUrl":"https://mangadex.org","lang":"nl","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":810342358,"baseUrl":"https://mangadex.org","lang":"en","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":309024312,"baseUrl":"https://mangadex.org","lang":"tl","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":164642544,"baseUrl":"https://mangadex.org","lang":"fi","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":545017689,"baseUrl":"https://mangadex.org","lang":"fr","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":110023605,"baseUrl":"https://mangadex.org","lang":"de","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":767687578,"baseUrl":"https://mangadex.org","lang":"el","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":511907642,"baseUrl":"https://mangadex.org","lang":"he","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":986826068,"baseUrl":"https://mangadex.org","lang":"hi","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":128441350,"baseUrl":"https://mangadex.org","lang":"hu","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":183977130,"baseUrl":"https://mangadex.org","lang":"id","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":127887438,"baseUrl":"https://mangadex.org","lang":"it","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":204112007,"baseUrl":"https://mangadex.org","lang":"ja","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":1063442064,"baseUrl":"https://mangadex.org","lang":"kk","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":898061477,"baseUrl":"https://mangadex.org","lang":"ko","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":387646759,"baseUrl":"https://mangadex.org","lang":"la","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":270482698,"baseUrl":"https://mangadex.org","lang":"lt","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":284400542,"baseUrl":"https://mangadex.org","lang":"ms","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":525041874,"baseUrl":"https://mangadex.org","lang":"mn","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":613632949,"baseUrl":"https://mangadex.org","lang":"ne","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":441032670,"baseUrl":"https://mangadex.org","lang":"no","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":693311514,"baseUrl":"https://mangadex.org","lang":"fa","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":683661227,"baseUrl":"https://mangadex.org","lang":"pl","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":417850874,"baseUrl":"https://mangadex.org","lang":"pt-br","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":1027115198,"baseUrl":"https://mangadex.org","lang":"pt","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":399589398,"baseUrl":"https://mangadex.org","lang":"ro","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":367421943,"baseUrl":"https://mangadex.org","lang":"ru","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":254140838,"baseUrl":"https://mangadex.org","lang":"sh","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":823535267,"baseUrl":"https://mangadex.org","lang":"es-419","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":736630443,"baseUrl":"https://mangadex.org","lang":"es","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":146351677,"baseUrl":"https://mangadex.org","lang":"sv","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":739930809,"baseUrl":"https://mangadex.org","lang":"ta","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":385031783,"baseUrl":"https://mangadex.org","lang":"th","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":1008587213,"baseUrl":"https://mangadex.org","lang":"tr","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":778357609,"baseUrl":"https://mangadex.org","lang":"uk","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaDex","id":88174952,"baseUrl":"https://mangadex.org","lang":"vi","typeSource":"mangadex","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/icon.png","dateFormat":"yyyy-MM-dd'T'HH:mm:ss+SSS","dateFormatLocale":"en_Us","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/all/mangadex/mangadex.dart","apiUrl":"https://api.mangadex.org","version":"0.1.1","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Beast Scans","id":1051043161,"baseUrl":"https://beast-scans.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/beastscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Lelmanga","id":35877276,"baseUrl":"https://www.lelmanga.com","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/lelmanga/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KomikLab Scans","id":932554594,"baseUrl":"https://komiklab.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komiklab/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Azure Scans","id":316512590,"baseUrl":"https://azuremanga.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/azurescans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Cosmic Scans","id":938687459,"baseUrl":"https://cosmicscans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/cosmicscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"CosmicScans.id","id":1053293978,"baseUrl":"https://cosmicscans.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/cosmicscansid/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"DuniaKomik.id","id":326969052,"baseUrl":"https://duniakomik.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/duniakomikid/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Gecenin Lordu","id":622207049,"baseUrl":"https://geceninlordu.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/geceninlordu/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Infernal Void Scans","id":460393112,"baseUrl":"https://void-scans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/infernalvoidscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KataKomik","id":61302571,"baseUrl":"https://katakomik.online","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/katakomik/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komik Station","id":866615506,"baseUrl":"https://komikstation.co","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikstation/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KomikMama","id":148959602,"baseUrl":"https://komikmama.co","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikmama/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komiku.com","id":869906392,"baseUrl":"https://komiku.com","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikucom/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Magus Manga","id":487156426,"baseUrl":"https://magusmanga.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/magusmanga/icon.png","dateFormat":"MMMMM d, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Indo.me","id":425166803,"baseUrl":"https://mangaindo.me","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaindome/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangacim","id":642410916,"baseUrl":"https://www.mangacim.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangacim/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaTale","id":343986734,"baseUrl":"https://mangatale.co","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangatale/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaWT","id":1014190199,"baseUrl":"https://mangawt.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangawt/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MELOKOMIK","id":532392938,"baseUrl":"https://melokomik.xyz","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/melokomik/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Origami Orpheans","id":261849744,"baseUrl":"https://origami-orpheans.com.br","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/origamiorpheans/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"PhenixScans","id":984162065,"baseUrl":"https://phenixscans.fr","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/phenixscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Pi Scans","id":548699583,"baseUrl":"https://piscans.in","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/piscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Raiki Scan","id":550138305,"baseUrl":"https://raikiscan.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/raikiscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Raven Scans","id":299682436,"baseUrl":"https://ravenscans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/ravenscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shadow Mangas","id":229424731,"baseUrl":"https://shadowmangas.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/shadowmangas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Surya Scans","id":935389321,"baseUrl":"https://suryascans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/suryascans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sushi-Scans","id":1036140988,"baseUrl":"https://sushiscan.fr","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sushiscans/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Sushi-Scan","id":972784612,"baseUrl":"https://sushiscan.net","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sushiscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tarot Scans","id":347606260,"baseUrl":"https://www.tarotscans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/tarotscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"TukangKomik","id":884904192,"baseUrl":"https://tukangkomik.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/tukangkomik/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"TurkToon","id":579681001,"baseUrl":"https://turktoon.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/turktoon/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Uzay Manga","id":762273201,"baseUrl":"https://uzaymanga.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/uzaymanga/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"xCaliBR Scans","id":699314250,"baseUrl":"https://xcalibrscans.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/xcalibrscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Miau Scan","id":579641140,"baseUrl":"https://lectormiau.com","lang":"all","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/miauscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Thunder Scans","id":607210554,"baseUrl":"https://ar-thunderepic.com","lang":"all","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/thunderscans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"أريا مانجا","id":101767587,"baseUrl":"https://www.areascans.net","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/areamanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Area Scans","id":215530388,"baseUrl":"https://ar.areascans.org","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/areascans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SCARManga","id":973665455,"baseUrl":"https://scarmanga.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/aresnov/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Beast Scans","id":1051043161,"baseUrl":"https://beast-scans.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/beastscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Crow Scans","id":113863087,"baseUrl":"https://crowscans.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/crowscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"ARESManga","id":603318428,"baseUrl":"https://fl-ares.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/iimanga/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Flame","id":246146595,"baseUrl":"https://mangaflame.org","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaflame/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"مانجا نون","id":360286753,"baseUrl":"https://manjanoon.org","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/manganoon/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Pro","id":349077648,"baseUrl":"https://mangapro.club","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangapro/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaSwat","id":1022922869,"baseUrl":"https://normoyun.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaswat/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaTak","id":71223245,"baseUrl":"https://mangatak.com","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangatak/icon.png","dateFormat":"MMMM DD, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"PotatoManga","id":833603780,"baseUrl":"https://ar.potatomanga.xyz","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/potatomanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"StellarSaber","id":719550729,"baseUrl":"https://stellarsaber.pro","lang":"ar","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/stellarsaber/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"ar","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rizz Comic","id":369389150,"baseUrl":"https://rizzfables.com","lang":"en","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/rizzcomic/icon.png","dateFormat":"dd MMM yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Berserker Scan","id":150485334,"baseUrl":"https://ragnascan.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/berserkerscan/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Cartel de Manhwas","id":884854005,"baseUrl":"https://carteldemanhwas.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/carteldemanhwas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"De Todo Un Poco Scan","id":843656091,"baseUrl":"https://dtupscan.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/dtupscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Gremory Mangas","id":643211287,"baseUrl":"https://gremorymangas.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/gremorymangas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"RyujinManga","id":280926444,"baseUrl":"https://ryujinmanga.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/ryujinmanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Senpai Ediciones","id":483474103,"baseUrl":"https://senpaiediciones.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/senpaiediciones/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SkyMangas","id":586822857,"baseUrl":"https://skymangas.com","lang":"es","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/skymangas/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"es","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Legacy Scans","id":310973833,"baseUrl":"https://legacy-scans.com","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/flamescansfr/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangas Scans","id":10569804,"baseUrl":"https://mangas-scans.com","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangasscans/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Rimu Scans","id":1062885024,"baseUrl":"https://rimuscans.fr","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/rimuscans/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"VF Scan","id":66643810,"baseUrl":"https://www.vfscan.cc","lang":"fr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/vfscan/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"fr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Comicaso","id":408387886,"baseUrl":"https://comicaso.com","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/comicaso/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Kiryuu","id":729634849,"baseUrl":"https://kiryuu.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/kiryuu/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"APKOMIK","id":851821537,"baseUrl":"https://apkomik.cc","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikav/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"KomikIndo.co","id":1029579773,"baseUrl":"https://komikindo.co","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/komikindoco/icon.png","dateFormat":"MMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangakyo","id":350778130,"baseUrl":"https://mangakyo.vip","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangakyo/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaYu","id":815037068,"baseUrl":"https://mangayu.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangayu/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Siren Komik","id":933724425,"baseUrl":"https://sirenkomik.my.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangkomik/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tenshi.id","id":74634925,"baseUrl":"https://tenshi.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/masterkomik/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id-id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Natsu","id":539493591,"baseUrl":"https://natsu.id","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/natsu/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shea Manga","id":732403984,"baseUrl":"https://sheakomik.com","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sheamanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shirakami","id":653518167,"baseUrl":"https://shirakami.xyz","lang":"id","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/shirakami/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"id","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Walpurgi Scan","id":83686844,"baseUrl":"https://www.walpurgiscan.it","lang":"it","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/walpurgisscan/icon.png","dateFormat":"MMM d, yyyy","dateFormatLocale":"it","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Diskus Scan","id":219319544,"baseUrl":"https://diskusscan.com","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/diskusscan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Iris Scanlator","id":627481975,"baseUrl":"https://irisscanlator.com.br","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/irisscanlator/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangás Chan","id":413321827,"baseUrl":"https://mangaschan.net","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaschan/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangás Online","id":607918644,"baseUrl":"https://mangasonline.cc","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangasonline/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SSSScanlator","id":429559501,"baseUrl":"https://sssscanlator.com.br","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sssscanlator/icon.png","dateFormat":"MMMMM dd, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Tsundoku Traduções","id":958388028,"baseUrl":"https://tsundoku.com.br","lang":"pt-br","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/tsundokutraducoes/icon.png","dateFormat":"MMMMM d, yyyy","dateFormatLocale":"pt-br","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-Moon","id":592572146,"baseUrl":"https://manga-moons.net","lang":"th","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangamoon/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"th","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Adu Manga","id":278062325,"baseUrl":"https://www.mangacim.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/adumanga/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Afrodit Scans","id":589929789,"baseUrl":"https://afroditscans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/afroditscans/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Athena Manga","id":279839170,"baseUrl":"https://athenamanga.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/athenamanga/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Gaiatoon","id":135821324,"baseUrl":"https://gaiatoon.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/gaiatoon/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MajorScans","id":448604103,"baseUrl":"https://www.majorscans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/majorscans/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Efendisi","id":676269978,"baseUrl":"https://mangaefendisi.net","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangaefendisi/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga Kings","id":550899403,"baseUrl":"https://mangakings.com.tr","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/mangakings/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Merlin Shoujo","id":487637789,"baseUrl":"https://merlinshoujo.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/merlinshoujo/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Nirvana Manga","id":212544702,"baseUrl":"https://nirvanamanga.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/nirvanamanga/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Pati Manga","id":170419301,"baseUrl":"https://www.patimanga.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/patimanga/icon.png","dateFormat":"MMMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Raindrop Fansub","id":380323896,"baseUrl":"https://www.raindropteamfan.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/raindropfansub/icon.png","dateFormat":"MMMM d, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Serein Scan","id":366839092,"baseUrl":"https://sereinscan.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/sereinscan/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Shijie Scans","id":95172728,"baseUrl":"https://shijiescans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/shijiescans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"SummerToon","id":297221652,"baseUrl":"https://summertoon.me","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/summertoon/icon.png","dateFormat":"MMMM dd, yyyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Zenith Scans","id":554003129,"baseUrl":"https://zenithscans.com","lang":"tr","typeSource":"mangareader","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/src/zenithscans/icon.png","dateFormat":"MMM d, yyy","dateFormatLocale":"tr","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangareader/mangareader.dart","apiUrl":"","version":"0.1.5","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Scan VF","id":929253523,"baseUrl":"https://www.scan-vf.net","lang":"fr","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/scanvf/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Komikid","id":400330220,"baseUrl":"https://www.komikid.com","lang":"id","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/komikid/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaID","id":181458486,"baseUrl":"https://mangaid.click","lang":"id","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/mangaid/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Jpmangas","id":1009609900,"baseUrl":"https://jpmangas.cc","lang":"fr","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/jpmangas/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"مانجا اون لاين","id":19018595,"baseUrl":"https://onma.top","lang":"ar","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/onma/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Read Comics Online","id":1021546729,"baseUrl":"https://readcomicsonline.ru","lang":"en","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/readcomicsonline/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Lelscan-VF","id":529915550,"baseUrl":"https://www.lelscanvf.cc/","lang":"fr","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/lelscanvf/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manga-FR","id":410779276,"baseUrl":"https://manga-fr.me","lang":"fr","typeSource":"mmrcms","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/src/mangafr/icon.png","dateFormat":"d MMM. yyyy","dateFormatLocale":"en_us","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mmrcms/mmrcms.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaHere","id":434984458,"baseUrl":"http://www.mangahere.cc","lang":"en","typeSource":"single","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/en/mangahere/icon.png","dateFormat":"MMM dd,yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/src/en/mangahere/mangahere.dart","apiUrl":"","version":"0.0.7","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaSee","id":531216751,"baseUrl":"https://mangasee123.com","lang":"en","typeSource":"nepnep","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/nepnep/src/mangasee/icon.png","dateFormat":"yyyy-MM-dd HH:mm:ss","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/nepnep/nepnep.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"MangaLife","id":434747478,"baseUrl":"https://manga4life.com","lang":"en","typeSource":"nepnep","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/nepnep/src/mangalife/icon.png","dateFormat":"yyyy-MM-dd HH:mm:ss","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/nepnep/nepnep.dart","apiUrl":"","version":"0.0.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangabat","id":658659024,"baseUrl":"https://m.mangabat.com","lang":"en","typeSource":"mangabox","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/src/mangabat/icon.png","dateFormat":"MMM dd,yy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/mangabox.dart","apiUrl":"","version":"0.0.6","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangairo","id":119266018,"baseUrl":"https://h.mangairo.com","lang":"en","typeSource":"mangabox","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/src/mangairo/icon.png","dateFormat":"MMM-dd-yy","dateFormatLocale":"en","isNsfw":true,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/mangabox.dart","apiUrl":"","version":"0.0.6","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Mangakakalot","id":1071729594,"baseUrl":"https://mangakakalot.com","lang":"en","typeSource":"mangabox","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/src/mangakakalot/icon.png","dateFormat":"MMM dd,yyyy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/mangabox.dart","apiUrl":"","version":"0.0.6","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"Manganato","id":796167348,"baseUrl":"https://manganato.com","lang":"en","typeSource":"mangabox","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/src/manganato/icon.png","dateFormat":"MMM dd,yy","dateFormatLocale":"en","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/dart/manga/multisrc/mangabox/mangabox.dart","apiUrl":"","version":"0.0.6","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":0},{"name":"漫画柜","id":219867496,"baseUrl":"https://www.manhuagui.com","lang":"zh","typeSource":"single","iconUrl":"https://www.manhuagui.com/favicon.ico","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/manhuagui.js","apiUrl":"","version":"0.0.25","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"漫画DB","id":900808373,"baseUrl":"https://www.manhuadb.com","lang":"zh","typeSource":"single","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/zh.manhuadb.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/manhuadb.js","apiUrl":"","version":"0.0.25","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"拷贝漫画","id":109412435,"baseUrl":"https://www.mangacopy.com","lang":"zh","typeSource":"single","iconUrl":"https://hi77-overseas.mangafuna.xyz/static/free.ico","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/copymanga.js","apiUrl":"https://api.mangacopy.com","version":"0.0.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"动漫之家","id":434793864,"baseUrl":"https://www.dmzj.com","lang":"zh","typeSource":"single","iconUrl":"https://www.dmzj.com/_nuxt/logo_dmzj.1c94014a.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/dmzj.js","apiUrl":"","version":"0.0.25","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"新新漫画","id":652112892,"baseUrl":"https://www.77mh.nl","lang":"zh","typeSource":"single","iconUrl":"https://www.77mh.nl/favicon.ico","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/zh/77mh.js","apiUrl":"","version":"0.0.25","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"Asura Scans","id":524070078,"baseUrl":"https://asuracomic.net","lang":"en","typeSource":"single","iconUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/en.asurascans.png","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/en/asurascans.js","apiUrl":"","version":"0.1.65","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"Mangafire","id":463934370,"baseUrl":"https://mangafire.to","lang":"en","typeSource":"single","iconUrl":"https://mangafire.to/assets/sites/mangafire/favicon.png?v3","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/all/mangafire.js","apiUrl":"","version":"0.1.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"Mangafire","id":539346615,"baseUrl":"https://mangafire.to","lang":"ja","typeSource":"single","iconUrl":"https://mangafire.to/assets/sites/mangafire/favicon.png?v3","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/all/mangafire.js","apiUrl":"","version":"0.1.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"Mangafire","id":963891592,"baseUrl":"https://mangafire.to","lang":"fr","typeSource":"single","iconUrl":"https://mangafire.to/assets/sites/mangafire/favicon.png?v3","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/all/mangafire.js","apiUrl":"","version":"0.1.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"Mangafire","id":368653246,"baseUrl":"https://mangafire.to","lang":"es","typeSource":"single","iconUrl":"https://mangafire.to/assets/sites/mangafire/favicon.png?v3","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/all/mangafire.js","apiUrl":"","version":"0.1.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"Mangafire","id":842761811,"baseUrl":"https://mangafire.to","lang":"es-la","typeSource":"single","iconUrl":"https://mangafire.to/assets/sites/mangafire/favicon.png?v3","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/all/mangafire.js","apiUrl":"","version":"0.1.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"Mangafire","id":952845214,"baseUrl":"https://mangafire.to","lang":"pt","typeSource":"single","iconUrl":"https://mangafire.to/assets/sites/mangafire/favicon.png?v3","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/all/mangafire.js","apiUrl":"","version":"0.1.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1},{"name":"Mangafire","id":361505853,"baseUrl":"https://mangafire.to","lang":"pt-br","typeSource":"single","iconUrl":"https://mangafire.to/assets/sites/mangafire/favicon.png?v3","dateFormat":"","dateFormatLocale":"","isNsfw":false,"hasCloudflare":false,"sourceCodeUrl":"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/manga/src/all/mangafire.js","apiUrl":"","version":"0.1.2","isManga":true,"isFullData":false,"appMinVerReq":"0.2.0","additionalParams":"","sourceCodeLanguage":1}] \ No newline at end of file diff --git a/javascript/anime/src/all/netflixmirror.js b/javascript/anime/src/all/netflixmirror.js new file mode 100644 index 00000000..3fa88c48 --- /dev/null +++ b/javascript/anime/src/all/netflixmirror.js @@ -0,0 +1,202 @@ +const mangayomiSources = [{ + "name": "NetflixMirror", + "lang": "all", + "baseUrl": "https://iosmirror.cc", + "apiUrl": "", + "iconUrl": "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/all.netflixmirror.png", + "typeSource": "single", + "isManga": false, + "version": "0.0.45", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "anime/src/all/netflixmirror.js" +}]; + +class DefaultExtension extends MProvider { + async getCookie() { + const addhash = new Document((await new Client().get(`${this.source.baseUrl}/home`, { "cookie": "" })).body).selectFirst("body").attr("data-addhash"); + await new Client().get(`https://userverify.netmirror.app/verify?dp1=${addhash}&a=y`); + let body; + let res; + do { + res = await new Client().post(`${this.source.baseUrl}/verify2.php`, { "cookie": "" }, { "verify": addhash }); + body = res.body; + } while (!body.includes('"statusup":"All Done"')); + return res.headers["set-cookie"]; + } + async request(url, cookie) { + cookie = cookie ?? await this.getCookie(); + return (await new Client().get(this.source.baseUrl + url, { "cookie": `ott=nf; hd=on; ${cookie}` })).body; + } + async getPopular(page) { + return await this.getPages(await this.request("/home"), ".tray-container, #top10") + } + async getLatestUpdates(page) { + return await this.getPages(await this.request("/home"), ".inner-mob-tray-container") + } + async getPages(body, selector) { + const elements = new Document(body).select(selector); + const cookie = await this.getCookie(); + const list = []; + for (const element of elements) { + const linkElement = element.selectFirst("article, .top10-post"); + const id = linkElement.selectFirst("a").attr("data-post"); + if (id.length > 0) { + const imageUrl = linkElement.selectFirst(".card-img-container img, .top10-img img").attr("data-src"); + list.push({ name: JSON.parse(await this.request(`/post.php?id=${id}`, cookie)).title, imageUrl, link: id }); + } + } + return { + list: list, + hasNextPage: false + } + } + async search(query, page, filters) { + const data = JSON.parse(await this.request(`/search.php?s=${query}`)); + const list = []; + data.searchResult.map(async (res) => { + const id = res.id; + list.push({ name: res.t, imageUrl: `https://img.nfmirrorcdn.top/poster/v/${id}.jpg`, link: id }); + }) + + return { + list: list, + hasNextPage: false + } + } + async getDetail(url) { + const cookie = await this.getCookie(); + const data = JSON.parse(await this.request(`/post.php?id=${url}`, cookie)); + const name = data.title; + const genre = [data.ua, ...(data.genre || '').split(',').map(g => g.trim())]; + const description = data.desc; + let episodes = []; + if (data.episodes[0] === null) { + episodes.push({ name, url: JSON.stringify({ id: url, name }) }); + } else { + episodes = data.episodes.map(ep => ({ + name: `${ep.s.replace('S', 'Season ')} ${ep.ep.replace('E', 'Episode ')} : ${ep.t}`, + url: JSON.stringify({ id: ep.id, name }) + })); + } + if (data.nextPageShow === 1) { + const eps = await this.getEpisodes(name, url, data.nextPageSeason, 2, cookie); + episodes.push(...eps); + } + episodes.reverse(); + if (data.season && data.season.length > 1) { + let newEpisodes = []; + const seasonsToProcess = data.season.slice(0, -1); + await Promise.all(seasonsToProcess.map(async (season) => { + const eps = await this.getEpisodes(name, url, season.id, 1, cookie); + newEpisodes.push(...eps); + })); + newEpisodes.reverse(); + episodes.push(...newEpisodes); + + } + + return { + description, status: 1, genre, episodes + }; + } + async getEpisodes(name, eid, sid, page, cookie) { + const episodes = []; + let pg = page; + while (true) { + try { + const data = JSON.parse(await this.request(`/episodes.php?s=${sid}&series=${eid}&page=${pg}`, cookie)); + + data.episodes?.forEach(ep => { + episodes.push({ + name: `${ep.s.replace('S', 'Season ')} ${ep.ep.replace('E', 'Episode ')} : ${ep.t}`, + url: JSON.stringify({ id: ep.id, name }) + }); + }); + + if (data.nextPageShow === 0) break; + pg++; + } catch (_) { + break; + } + } + + return episodes; + } + + + async getVideoList(url) { + const baseUrl = this.source.baseUrl; + const urlData = JSON.parse(url); + const data = JSON.parse(await this.request(`/playlist.php?id=${urlData.id}&t=${urlData.name}`)); + const videoList = []; + for (const playlist of data) { + for (const source of playlist.sources) { + try { + const subtitles = []; + playlist.tracks.filter(track => track.kind === 'captions').forEach(track => { + subtitles.push({ + label: track.label, + file: track.file + }); + }); + const link = baseUrl + source.file; + const headers = + { + 'Host': link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/)[1], + 'Origin': baseUrl, + 'Referer': `${baseUrl}/` + }; + const resp = await new Client().get(link, headers); + + if (resp.statusCode === 200) { + const masterPlaylist = resp.body; + const audios = []; + masterPlaylist.substringAfter('#EXT-X-MEDIA:').split('#EXT-X-MEDIA:').forEach(it => { + if (it.includes('TYPE=AUDIO')) { + const audioInfo = it.substringAfter('TYPE=AUDIO').substringBefore('\n'); + const language = audioInfo.substringAfter('NAME="').substringBefore('"'); + const url = audioInfo.substringAfter('URI="').substringBefore('"'); + audios.push({ file: url, label: language }); + } + }); + + if (!masterPlaylist.includes('#EXT-X-STREAM-INF:')) { + if (audios.length === 0) { + videoList.push({ url: link, quality: source.label, originalUrl: link, subtitles, headers }); + } else { + videoList.push({ url: link, quality: source.label, originalUrl: link, subtitles, audios, headers }); + } + } else { + masterPlaylist.substringAfter('#EXT-X-STREAM-INF:').split('#EXT-X-STREAM-INF:').forEach(it => { + + const quality = `${it.substringAfter('RESOLUTION=').substringAfter('x').substringBefore(',')}p (${source.label})`; + let videoUrl = it.substringAfter('\n').substringBefore('\n'); + + if (!videoUrl.startsWith('http')) { + videoUrl = resp.request.url.substringBeforeLast('/') + `/${videoUrl}`; + } + const headers = + { + 'Host': videoUrl.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/)[1], + 'Origin': baseUrl, + 'Referer': `${baseUrl}/` + }; + if (audios.length === 0) { + videoList.push({ url: videoUrl, quality, originalUrl: videoUrl, subtitles, headers }); + } else { + videoList.push({ url: videoUrl, quality, originalUrl: videoUrl, subtitles, audios, headers }); + } + + }); + } + } + } catch (_) { + + } + } + } + return videoList; + } + +} \ No newline at end of file diff --git a/javascript/anime/src/de/aniworld.js b/javascript/anime/src/de/aniworld.js index 67c68e21..09a63c7c 100644 --- a/javascript/anime/src/de/aniworld.js +++ b/javascript/anime/src/de/aniworld.js @@ -7,16 +7,20 @@ const mangayomiSources = [{ "typeSource": "single", "itemType": "anime", "isNsfw": false, - "version": "0.0.15", + "version": "0.0.28", "dateFormat": "", "dateFormatLocale": "", "pkgPath": "anime/src/de/aniworld.js" }]; class DefaultExtension extends MProvider { + constructor () { + super(); + this.client = new Client(); + } async getPopular(page) { const baseUrl = this.source.baseUrl; - const res = await new Client().get(`${baseUrl}/beliebte-animes`); + const res = await this.client.get(`${baseUrl}/beliebte-animes`); const elements = new Document(res.body).select("div.seriesListContainer div"); const list = []; for (const element of elements) { @@ -33,7 +37,7 @@ class DefaultExtension extends MProvider { } async getLatestUpdates(page) { const baseUrl = this.source.baseUrl; - const res = await new Client().get(`${baseUrl}/neu`); + const res = await this.client.get(`${baseUrl}/neu`); const elements = new Document(res.body).select("div.seriesListContainer div"); const list = []; for (const element of elements) { @@ -50,13 +54,13 @@ class DefaultExtension extends MProvider { } async search(query, page, filters) { const baseUrl = this.source.baseUrl; - const res = await new Client().get(`${baseUrl}/animes`); + const res = await this.client.get(`${baseUrl}/animes`); const elements = new Document(res.body).select("#seriesContainer > div > ul > li > a").filter(e => e.attr("title").toLowerCase().includes(query.toLowerCase())); const list = []; for (const element of elements) { const name = element.text; const link = element.attr("href"); - const img = new Document((await new Client().get(baseUrl + link)).body).selectFirst("div.seriesCoverBox img").attr("data-src"); + const img = new Document((await this.client.get(baseUrl + link)).body).selectFirst("div.seriesCoverBox img").attr("data-src"); const imageUrl = baseUrl + img; list.push({ name, imageUrl, link }); } @@ -67,7 +71,7 @@ class DefaultExtension extends MProvider { } async getDetail(url) { const baseUrl = this.source.baseUrl; - const res = await new Client().get(baseUrl + url); + const res = await this.client.get(baseUrl + url); const document = new Document(res.body); const imageUrl = baseUrl + document.selectFirst("div.seriesCoverBox img").attr("data-src"); @@ -81,22 +85,23 @@ class DefaultExtension extends MProvider { author = produzent[0].select("li").map(e => e.text).join(", "); } const seasonsElements = document.select("#stream > ul:nth-child(1) > li > a"); - let episodes = []; + + const promises = []; + const episodes = []; for (const element of seasonsElements) { - const eps = await this.parseEpisodesFromSeries(element); - for (const ep of eps) { - episodes.push(ep); + promises.push(this.parseEpisodesFromSeries(element)); + } + for (const p of (await Promise.allSettled(promises))) { + if (p.status == 'fulfilled') { + episodes.push(...p.value); } } episodes.reverse(); - - return { - name, imageUrl, description, author, status: 5, genre, episodes - }; + return { name, imageUrl, description, author, status: 5, genre, episodes }; } async parseEpisodesFromSeries(element) { const seasonId = element.getHref; - const res = await new Client().get(this.source.baseUrl + seasonId); + const res = await this.client.get(this.source.baseUrl + seasonId); const episodeElements = new Document(res.body).select("table.seasonEpisodesList tbody tr"); const list = []; for (const episodeElement of episodeElements) { @@ -105,94 +110,71 @@ class DefaultExtension extends MProvider { return list; } episodeFromElement(element) { + const titleAnchor = element.selectFirst("td.seasonEpisodeTitle a"); + const episodeSpan = titleAnchor.selectFirst("span"); + const url = titleAnchor.attr("href"); + const episodeSeasonId = element.attr("data-episode-season-id"); + let episode = episodeSpan.text.replace(/'/g, "'"); let name = ""; - let url = ""; - if (element.selectFirst("td.seasonEpisodeTitle a").attr("href").includes("/film")) { - const num = element.attr("data-episode-season-id"); - name = `Film ${num}` + " : " + element.selectFirst("td.seasonEpisodeTitle a span").text; - url = element.selectFirst("td.seasonEpisodeTitle a").attr("href"); + if (url.includes("/film")) { + name = `Film ${episodeSeasonId} : ${episode}`; } else { - const season = - element.selectFirst("td.seasonEpisodeTitle a").attr("href").substringAfter("staffel-").substringBefore("/episode");; - const num = element.attr("data-episode-season-id"); - name = `Staffel ${season} Folge ${num}` + " : " + element.selectFirst("td.seasonEpisodeTitle a span").text; - url = element.selectFirst("td.seasonEpisodeTitle a").attr("href"); + const seasonMatch = url.match(/staffel-(\d+)\/episode/); + name = `Staffel ${seasonMatch[1]} Folge ${episodeSeasonId} : ${episode}`; } - if (name.length > 0 && url.length > 0) { - return { name, url } - } - return {} + return name && url ? { name, url } : {}; } async getVideoList(url) { const baseUrl = this.source.baseUrl; - const res = await new Client().get(baseUrl + url); + const res = await this.client.get(baseUrl + url, { + 'Accept': '*/*', + 'Referer': baseUrl + url, + 'Priority': 'u=0, i', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0' + }); const document = new Document(res.body); - const redirectlink = document.select("ul.row li"); - const preference = new SharedPreferences(); - const hosterSelection = preference.get("hoster_selection"); + let promises = []; const videos = []; - for (const element of redirectlink) { - try { + + const redirectsElements = document.select("ul.row li"); + const hosterSelection = new SharedPreferences().get("hoster_selection_new"); + const dartClient = new Client({ 'useDartHttpClient': true, "followRedirects": false }); + + for (const element of redirectsElements) { + const host = element.selectFirst("a h4").text; + + if (hosterSelection.includes(host)) { const langkey = element.attr("data-lang-key"); - let language = ""; - if (langkey.includes("3")) { - language = "Deutscher Sub"; - } else if (langkey.includes("1")) { - language = "Deutscher Dub"; - } else if (langkey.includes("2")) { - language = "Englischer Sub"; - } - const redirectgs = baseUrl + element.selectFirst("a.watchEpisode").attr("href"); - const hoster = element.selectFirst("a h4").text; - - if (hoster == "Streamtape" && hosterSelection.includes("Streamtape")) { - const body = (await new Client().get(redirectgs)).body; - const quality = `Streamtape ${language}`; - const vids = await streamTapeExtractor(body.match(/https:\/\/streamtape\.com\/e\/[a-zA-Z0-9]+/g)[0], quality); - for (const vid of vids) { - videos.push(vid); - } - } else if (hoster == "VOE" && hosterSelection.includes("VOE")) { - const body = (await new Client().get(redirectgs)).body; - const quality = `VOE ${language}`; - const vids = await voeExtractor(body.match(/https:\/\/voe\.sx\/e\/[a-zA-Z0-9]+/g)[0], quality); - for (const vid of vids) { - videos.push(vid); - } - } else if (hoster == "Vidoza" && hosterSelection.includes("Vidoza")) { - const body = (await new Client().get(redirectgs)).body; - const quality = `Vidoza ${language}`; - const match = body.match(/https:\/\/[^\s]*\.vidoza\.net\/[^\s]*\.mp4/g); - if (match.length > 0) { - videos.push({ url: match[0], originalUrl: match[0], quality }); - } - } - } catch (_) { - + const lang = (langkey == 1 || langkey == 3) ? 'Deutscher' : 'Englischer'; + const type = (langkey == 1) ? 'Dub' : 'Sub'; + const redirect = baseUrl + element.selectFirst("a.watchEpisode").attr("href"); + promises.push((async (redirect, lang, type, host) => { + const location = (await dartClient.get(redirect)).headers.location; + return await extractAny(location, host.toLowerCase(), lang, type, host); + })(redirect, lang, type, host)); + } + } + for (const p of (await Promise.allSettled(promises))) { + if (p.status == 'fulfilled') { + videos.push.apply(videos, p.value); } } return this.sortVideos(videos); } sortVideos(videos) { const preference = new SharedPreferences(); - const hoster = preference.get("preferred_hoster"); - const subPreference = preference.get("preferred_lang"); + const hoster = RegExp(preference.get("preferred_hoster_new")); + const lang = RegExp(preference.get("preferred_lang")); videos.sort((a, b) => { - let qualityMatchA = 0; - if (a.quality.includes(hoster) && - a.quality.includes(subPreference)) { - qualityMatchA = 1; - } - let qualityMatchB = 0; - if (b.quality.includes(hoster) && - b.quality.includes(subPreference)) { - qualityMatchB = 1; - } + let qualityMatchA = hoster.test(a.quality) * lang.test(a.quality); + let qualityMatchB = hoster.test(b.quality) * lang.test(b.quality); return qualityMatchB - qualityMatchA; }); return videos; } getSourcePreferences() { + const hosterOptions = ["Streamtape", "VOE", "Vidoza", "Doodstream"]; + const languageOptions = ["Deutscher Sub", "Deutscher Dub", "Englischer Sub"]; return [ { "key": "preferred_lang", @@ -200,58 +182,92 @@ class DefaultExtension extends MProvider { "title": "Bevorzugte Sprache", "summary": "", "valueIndex": 0, - "entries": [ - "Deutscher Sub", - "Deutscher Dub", - "Englischer Sub" - ], - "entryValues": [ - "Deutscher Sub", - "Deutscher Dub", - "Englischer Sub" - ] + "entries": languageOptions, + "entryValues": languageOptions } }, { - "key": "preferred_hoster", + "key": "preferred_hoster_new", "listPreference": { "title": "Standard-Hoster", "summary": "", "valueIndex": 0, - "entries": [ - "Streamtape", - "VOE", - "Vidoza" - ], - "entryValues": [ - "Streamtape", - "VOE", - "Vidoza" - ] + "entries": hosterOptions, + "entryValues": hosterOptions } }, { - "key": "hoster_selection", + "key": "hoster_selection_new", "multiSelectListPreference": { "title": "Hoster auswählen", "summary": "", - "entries": [ - "Streamtape", - "VOE", - "Vidoza" - ], - "entryValues": [ - "Streamtape", - "VOE", - "Vidoza" - ], - "values": [ - "Streamtape", - "VOE", - "Vidoza" - ] + "entries": hosterOptions, + "entryValues": hosterOptions, + "values": hosterOptions } } ]; } } + +async function doodExtractor(url) { + const dartClient = new Client({ 'useDartHttpClient': true, "followRedirects": false }); + let response = await dartClient.get(url); + while ("location" in response.headers) { + response = await dartClient.get(response.headers.location); + } + const newUrl = response.request.url; + const doodhost = newUrl.match(/https:\/\/(.*?)\//, newUrl)[0].slice(8, -1); + const md5 = response.body.match(/'\/pass_md5\/(.*?)',/, newUrl)[0].slice(11, -2); + const token = md5.substring(md5.lastIndexOf("/") + 1); + const expiry = new Date().valueOf(); + const randomString = getRandomString(10); + + response = await new Client().get(`https://${doodhost}/pass_md5/${md5}`, { "Referer": newUrl }); + const videoUrl = `${response.body}${randomString}?token=${token}&expiry=${expiry}`; + const headers = { "User-Agent": "Mangayomi", "Referer": doodhost }; + return [{ url: videoUrl, originalUrl: videoUrl, headers: headers, quality: '' }]; +} + +async function vidozaExtractor(url) { + let response = await new Client({ 'useDartHttpClient': true, "followRedirects": true }).get(url); + const videoUrl = response.body.match(/https:\/\/\S*\.mp4/)[0]; + return [{ url: videoUrl, originalUrl: videoUrl, quality: '' }]; +} + +_streamTapeExtractor = streamTapeExtractor; +streamTapeExtractor = async (url) => { + return await _streamTapeExtractor(url, ''); +} + +_voeExtractor = voeExtractor; +voeExtractor = async (url) => { + return (await _voeExtractor(url, '')).map(v => { + v.quality = v.quality.replace(/Voe: (\d+p?)/i, '$1'); + return v; + }); +} + +async function extractAny(link, method, lang, type, host) { + const m = extractAny.methods[method]; + return (!m) ? [] : (await m(link)).map(v => { + v.quality = v.quality ? `${lang} ${type} ${v.quality} ${host}` : `${lang} ${type} ${host}`; + return v; + }); +}; + +extractAny.methods = { + 'doodstream': doodExtractor, + 'streamtape': streamTapeExtractor, + 'vidoza': vidozaExtractor, + 'voe': voeExtractor +}; + +function getRandomString(length) { + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; + const charArray = new Array(length); + for (let i = 0; i < length; i++) { + charArray[i] = chars[Math.floor(Math.random() * chars.length)]; + } + return charArray.join(""); +} diff --git a/javascript/anime/src/de/serienstream.js b/javascript/anime/src/de/serienstream.js new file mode 100644 index 00000000..64dca94c --- /dev/null +++ b/javascript/anime/src/de/serienstream.js @@ -0,0 +1,273 @@ +const mangayomiSources = [{ + "name": "SerienStream", + "lang": "de", + "baseUrl": "https://s.to", + "apiUrl": "", + "iconUrl": "https://s.to/favicon.ico", + "typeSource": "single", + "isManga": false, + "isNsfw": false, + "version": "0.0.2", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "anime/src/de/serienstream.js" +}]; + +class DefaultExtension extends MProvider { + constructor () { + super(); + this.client = new Client(); + } + async getPopular(page) { + const baseUrl = this.source.baseUrl; + const res = await this.client.get(`${baseUrl}/beliebte-serien`); + const elements = new Document(res.body).select("div.seriesListContainer div"); + const list = []; + for (const element of elements) { + const linkElement = element.selectFirst("a"); + const name = element.selectFirst("h3").text; + const imageUrl = baseUrl + linkElement.selectFirst("img").attr("data-src"); + const link = linkElement.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: false + } + } + async getLatestUpdates(page) { + const baseUrl = this.source.baseUrl; + const res = await this.client.get(`${baseUrl}/neu`); + const elements = new Document(res.body).select("div.seriesListContainer div"); + const list = []; + for (const element of elements) { + const linkElement = element.selectFirst("a"); + const name = element.selectFirst("h3").text; + const imageUrl = baseUrl + linkElement.selectFirst("img").attr("data-src"); + const link = linkElement.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: false + } + } + async search(query, page, filters) { + const baseUrl = this.source.baseUrl; + const res = await this.client.get(`${baseUrl}/serien`); + const elements = new Document(res.body).select("#seriesContainer > div > ul > li > a").filter(e => e.attr("title").toLowerCase().includes(query.toLowerCase())); + const list = []; + for (const element of elements) { + const name = element.text; + const link = element.attr("href"); + const img = new Document((await this.client.get(baseUrl + link)).body).selectFirst("div.seriesCoverBox img").attr("data-src"); + const imageUrl = baseUrl + img; + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: false + } + } + async getDetail(url) { + const baseUrl = this.source.baseUrl; + const res = await this.client.get(baseUrl + url); + const document = new Document(res.body); + const imageUrl = baseUrl + + document.selectFirst("div.seriesCoverBox img").attr("data-src"); + const name = document.selectFirst("div.series-title h1 span").text; + const genre = document.select("div.genres ul li").map(e => e.text); + const description = document.selectFirst("p.seri_des").attr("data-full-description"); + const produzent = document.select("div.cast li") + .filter(e => e.outerHtml.includes("Produzent:")); + let author = ""; + if (produzent.length > 0) { + author = produzent[0].select("li").map(e => e.text).join(", "); + } + const seasonsElements = document.select("#stream > ul:nth-child(1) > li > a"); + + const promises = []; + const episodes = []; + for (const element of seasonsElements) { + promises.push(this.parseEpisodesFromSeries(element)); + } + for (const p of (await Promise.allSettled(promises))) { + if (p.status == 'fulfilled') { + episodes.push(...p.value); + } + } + episodes.reverse(); + return { name, imageUrl, description, author, status: 5, genre, episodes }; + } + async parseEpisodesFromSeries(element) { + const seasonId = element.getHref; + const res = await this.client.get(this.source.baseUrl + seasonId); + const episodeElements = new Document(res.body).select("table.seasonEpisodesList tbody tr"); + const list = []; + for (const episodeElement of episodeElements) { + list.push(this.episodeFromElement(episodeElement)); + } + return list; + } + episodeFromElement(element) { + const titleAnchor = element.selectFirst("td.seasonEpisodeTitle a"); + const episodeSpan = titleAnchor.selectFirst("span"); + const url = titleAnchor.attr("href"); + const episodeSeasonId = element.attr("data-episode-season-id"); + let episode = episodeSpan.text.replace(/'/g, "'"); + let name = ""; + if (url.includes("/film")) { + name = `Film ${episodeSeasonId} : ${episode}`; + } else { + const seasonMatch = url.match(/staffel-(\d+)\/episode/); + name = `Staffel ${seasonMatch[1]} Folge ${episodeSeasonId} : ${episode}`; + } + return name && url ? { name, url } : {}; + } + async getVideoList(url) { + const baseUrl = this.source.baseUrl; + const res = await this.client.get(baseUrl + url, { + 'Accept': '*/*', + 'Referer': baseUrl + url, + 'Priority': 'u=0, i', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0' + }); + const document = new Document(res.body); + let promises = []; + const videos = []; + + const redirectsElements = document.select("ul.row li"); + const hosterSelection = new SharedPreferences().get("hoster_selection_new"); + const dartClient = new Client({ 'useDartHttpClient': true, "followRedirects": false }); + + for (const element of redirectsElements) { + const host = element.selectFirst("a h4").text; + + if (hosterSelection.includes(host)) { + const langkey = element.attr("data-lang-key"); + const lang = (langkey == 1 || langkey == 3) ? 'Deutscher' : 'Englischer'; + const type = (langkey == 1) ? 'Dub' : 'Sub'; + const redirect = baseUrl + element.selectFirst("a.watchEpisode").attr("href"); + promises.push((async (redirect, lang, type, host) => { + const location = (await dartClient.get(redirect)).headers.location; + return await extractAny(location, host.toLowerCase(), lang, type, host); + })(redirect, lang, type, host)); + } + } + for (const p of (await Promise.allSettled(promises))) { + if (p.status == 'fulfilled') { + videos.push.apply(videos, p.value); + } + } + return this.sortVideos(videos); + } + sortVideos(videos) { + const preference = new SharedPreferences(); + const hoster = RegExp(preference.get("preferred_hoster_new")); + const lang = RegExp(preference.get("preferred_lang")); + videos.sort((a, b) => { + let qualityMatchA = hoster.test(a.quality) * lang.test(a.quality); + let qualityMatchB = hoster.test(b.quality) * lang.test(b.quality); + return qualityMatchB - qualityMatchA; + }); + return videos; + } + getSourcePreferences() { + const hosterOptions = ["Streamtape", "VOE", "Vidoza", "Doodstream"]; + const languageOptions = ["Deutscher Sub", "Deutscher Dub", "Englischer Sub"]; + return [ + { + "key": "preferred_lang", + "listPreference": { + "title": "Bevorzugte Sprache", + "summary": "", + "valueIndex": 0, + "entries": languageOptions, + "entryValues": languageOptions + } + }, + { + "key": "preferred_hoster_new", + "listPreference": { + "title": "Standard-Hoster", + "summary": "", + "valueIndex": 0, + "entries": hosterOptions, + "entryValues": hosterOptions + } + }, + { + "key": "hoster_selection_new", + "multiSelectListPreference": { + "title": "Hoster auswählen", + "summary": "", + "entries": hosterOptions, + "entryValues": hosterOptions, + "values": hosterOptions + } + } + ]; + } +} + +async function doodExtractor(url) { + const dartClient = new Client({ 'useDartHttpClient': true, "followRedirects": false }); + let response = await dartClient.get(url); + while ("location" in response.headers) { + response = await dartClient.get(response.headers.location); + } + const newUrl = response.request.url; + const doodhost = newUrl.match(/https:\/\/(.*?)\//, newUrl)[0].slice(8, -1); + const md5 = response.body.match(/'\/pass_md5\/(.*?)',/, newUrl)[0].slice(11, -2); + const token = md5.substring(md5.lastIndexOf("/") + 1); + const expiry = new Date().valueOf(); + const randomString = getRandomString(10); + + response = await new Client().get(`https://${doodhost}/pass_md5/${md5}`, { "Referer": newUrl }); + const videoUrl = `${response.body}${randomString}?token=${token}&expiry=${expiry}`; + const headers = { "User-Agent": "Mangayomi", "Referer": doodhost }; + return [{ url: videoUrl, originalUrl: videoUrl, headers: headers, quality: '' }]; +} + +async function vidozaExtractor(url) { + let response = await new Client({ 'useDartHttpClient': true, "followRedirects": true }).get(url); + const videoUrl = response.body.match(/https:\/\/\S*\.mp4/)[0]; + return [{ url: videoUrl, originalUrl: videoUrl, quality: '' }]; +} + +_streamTapeExtractor = streamTapeExtractor; +streamTapeExtractor = async (url) => { + return await _streamTapeExtractor(url, ''); +} + +_voeExtractor = voeExtractor; +voeExtractor = async (url) => { + return (await _voeExtractor(url, '')).map(v => { + v.quality = v.quality.replace(/Voe: (\d+p?)/i, '$1'); + return v; + }); +} + +async function extractAny(link, method, lang, type, host) { + const m = extractAny.methods[method]; + return (!m) ? [] : (await m(link)).map(v => { + v.quality = v.quality ? `${lang} ${type} ${v.quality} ${host}` : `${lang} ${type} ${host}`; + return v; + }); +}; + +extractAny.methods = { + 'doodstream': doodExtractor, + 'streamtape': streamTapeExtractor, + 'vidoza': vidozaExtractor, + 'voe': voeExtractor +}; + +function getRandomString(length) { + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; + const charArray = new Array(length); + for (let i = 0; i < length; i++) { + charArray[i] = chars[Math.floor(Math.random() * chars.length)]; + } + return charArray.join(""); +} diff --git a/javascript/anime/src/en/allanime.js b/javascript/anime/src/en/allanime.js index 6815242b..a69deb4b 100644 --- a/javascript/anime/src/en/allanime.js +++ b/javascript/anime/src/en/allanime.js @@ -7,7 +7,7 @@ const mangayomiSources = [{ "typeSource": "single", "itemType": "anime", "isNsfw": false, - "version": "0.0.25", + "version": "0.0.35", "dateFormat": "", "dateFormatLocale": "", "pkgPath": "anime/src/en/allanime.js" @@ -162,7 +162,7 @@ class DefaultExtension extends MProvider { const encodedGql = `?variables=%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%22showId%22:%20%22${ep.showId}%22,%0A%20%20%20%20%20%20%20%20%20%20%22episodeString%22:%20%22${ep.episodeString}%22,%0A%20%20%20%20%20%20%20%20%20%20%22translationType%22:%20%22${translationType[0]}%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20&query=%0A%20%20%20%20%20%20%20%20query(%0A%20%20%20%20%20%20%20%20%20%20$showId:%20String!%0A%20%20%20%20%20%20%20%20%20%20$episodeString:%20String!%0A%20%20%20%20%20%20%20%20%20%20$translationType:%20VaildTranslationTypeEnumType!%0A%20%20%20%20%20%20%20%20)%20%7B%0A%20%20%20%20%20%20%20%20%20%20episode(%0A%20%20%20%20%20%20%20%20%20%20%20%20showId:%20$showId%0A%20%20%20%20%20%20%20%20%20%20%20%20episodeString:%20$episodeString%0A%20%20%20%20%20%20%20%20%20%20%20%20translationType:%20$translationType%0A%20%20%20%20%20%20%20%20%20%20)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20sourceUrls%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20`; const videoJson = JSON.parse(await this.request(encodedGql)); const videos = []; - const altHosterSelection = preferences.get('alt_hoster_selection'); + const altHosterSelection = preferences.get('alt_hoster_selection1'); for (const video of videoJson.data.episode.sourceUrls) { const videoUrl = this.decryptSource(video.sourceUrl); let quality = ""; @@ -193,7 +193,7 @@ class DefaultExtension extends MProvider { videos.push(vid); } } else if (videoUrl.includes("streamlare.com") && altHosterSelection.some(element => 'streamlare' === element)) { - const vids = await streamlareExtractor(videoUrl); + const vids = await streamlareExtractor(videoUrl, 'Streamlare '); for (const vid of vids) { videos.push(vid); } @@ -203,7 +203,7 @@ class DefaultExtension extends MProvider { videos.push(vid); } } else if (videoUrl.includes("wish") && altHosterSelection.some(element => 'streamwish' === element)) { - const vids = await streamwishExtractor(videoUrl); + const vids = await streamWishExtractor(videoUrl, 'StreamWish '); for (const vid of vids) { videos.push(vid); } @@ -213,7 +213,7 @@ class DefaultExtension extends MProvider { } sortVideos(videos) { const preferences = new SharedPreferences(); - const hoster = preferences.get("preferred_hoster"); + const hoster = preferences.get("preferred_hoster1"); const quality = preferences.get("preferred_quality"); videos.sort((a, b) => { let qualityMatchA = 0; @@ -290,7 +290,7 @@ class DefaultExtension extends MProvider { } }, { - "key": "preferred_hoster_", + "key": "preferred_hoster1", "listPreference": { "title": "Preferred Video Server", "summary": "", @@ -302,7 +302,7 @@ class DefaultExtension extends MProvider { "filemoon", "streamwish" ], - "entryValues_": [ + "entryValues": [ "Ac", "Ak", "Kir", "Rab", "Luf-mp4", "Si-Hls", "S-mp4", "Ac-Hls", "Uv-mp4", "Pn-Hls", "vidstreaming", "okru", "mp4upload", "streamlare", "doodstream", @@ -312,7 +312,7 @@ class DefaultExtension extends MProvider { } }, { - "key": "alt_hoster_selection_", + "key": "alt_hoster_selection1", "multiSelectListPreference": { "title": "Enable/Disable Alternative Hosts", "summary": "", diff --git a/javascript/anime/src/es/animefenix.js b/javascript/anime/src/es/animefenix.js new file mode 100644 index 00000000..df82d147 --- /dev/null +++ b/javascript/anime/src/es/animefenix.js @@ -0,0 +1,1128 @@ +const mangayomiSources = [{ + "name": "AnimeFénix", + "lang": "es", + "baseUrl": "https://www3.animefenix.tv", + "apiUrl": "", + "iconUrl": "https://www3.animefenix.tv/themes/fenix-neo/images/AveFenix.png", + "typeSource": "single", + "isManga": false, + "version": "0.1.0", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "anime/src/es/animefenix.js" +}]; + +class DefaultExtension extends MProvider { + constructor () { + super(); + this.client = new Client(); + } + getHeaders(url) { + throw new Error("getHeaders not implemented"); + } + async parseAnimeList(url) { + const res = await this.client.get(url); + const doc = new Document(res.body); + const elements = doc.select("main div.grid a"); + const list = []; + + for (const element of elements) { + const name = element.selectFirst("h3").text; + const imageUrl = element.selectFirst("img").getSrc; + const link = element.getHref; + list.push({ name, imageUrl, link }); + } + const hasNextPage = doc.selectFirst("main nav a:last-child").text.trim() == "Next"; + return { "list": list, "hasNextPage": hasNextPage }; + } + statusFromString(status) { + return { + "En emision": 0, // releasing + "Finalizado": 1, // finished + "Proximamente": 4, // unreleased + }[status] ?? 5; + } + async getPopular(page) { + return this.parseAnimeList(`${this.source.baseUrl}/animes?order=visits&page=${page}`); + } + async getLatestUpdates(page) { + return this.parseAnimeList(`${this.source.baseUrl}/animes?order=updated&page=${page}`); + } + async search(query, page, filters) { + query = query.trim().replaceAll(/\ +/g, "+"); + let url = `${this.source.baseUrl}/animes?q=${query}`; + + // Search sometimes failed because filters were empty. I experienced this mostly on android... + if (!filters || filters.length == 0) { + return this.parseAnimeList(url + `&page=${page}`); + } + + for (const filter of filters[0].state) { + if (filter.state == true) + url += `&type[]=${filter.value}`; + } + + url += `&genero[]=${filters[1].values[filters[1].state].value}`; + + for (const filter of filters[2].state) { + if (filter.state == true) + url += `&estado[]=${filter.value}`; + } + + url += `&order=${filters[3].values[filters[3].state].value}`; + url += `&page=${page}`; + return this.parseAnimeList(url); + } + async getDetail(url) { + const detail = {}; + const res = await this.client.get(url); + const doc = new Document(res.body); + const info = doc.selectFirst('main div.flex'); + + detail.name = info.selectFirst("h1").text; + detail.status = this.statusFromString(info.selectFirst("a").text); + detail.imageUrl = info.selectFirst("img").getSrc; + detail.description = info.selectFirst("h2 + p").text.trim(); + detail.genre = info.select("h2 + div a").map(e => e.text.trim()); + detail.episodes = []; + for (const e of doc.select('main + div ul a').reverse()) { + const name = `Episodio ${detail.episodes.length + 1}`; + const url = e.getHref; + detail.episodes.push({ name, url }); + } + detail.episodes.reverse(); + return detail; + } + // For anime episode video list + async getVideoList(url) { + let res = await this.client.get(url); + let doc = new Document(res.body); + let promises = []; + const videos = []; + + // get type + const type = /\blatino\b/i.test(url) ? 'Dub' : 'Sub'; + + // get names + const hosts = doc.select('main ul a').map(e => e.text); + + // get links + const redirects = []; + let script = doc.selectFirst("script:contains(tabsArray)"); + for (const e of script.text.matchAll(/tabsArray.*? = "(.*?)"/g)) { + redirects.push(e[1]); + }; + + // extract remote video links + const renameLUT = { + 'amazones': 'amazon', + 'burst': 'burstcloud', + 'hide': 'vidhide', + 'ru': 'okru', + 'stream2': 'vidhide', + }; + for (let i = 0; i < hosts.length; i++) { + const host = hosts[i].trim(); + const lhost = host.toLowerCase(); + const method = renameLUT[lhost] ?? lhost; + if (method in extractAny.methods) { + promises.push((async (redirect) => { + const res = await this.client.get(redirect); + const doc = new Document(res.body); + const script = doc.selectFirst('script:contains(play)'); + let link = script.text.match(/src="(.*?)"/)[1]; + + if (method == 'amazon') + link = this.source.baseUrl + link.slice(link.search('/')); + + return await extractAny(link, method, 'Español', type, host); + })(redirects[i])); + } + } + for (const p of (await Promise.allSettled(promises))) { + if (p.status == 'fulfilled') { + videos.push.apply(videos, p.value); + } + } + return sortVideos(videos); + } + getFilterList() { + return [ + { + type_name: "GroupFilter", + name: "Tipo", + state: [ + { + type_name: "CheckBox", + name: "TV", + value: "tv" + }, + { + type_name: "CheckBox", + name: "Película", + value: "movie" + }, + { + type_name: "CheckBox", + name: "Especial", + value: "special" + }, + { + type_name: "CheckBox", + name: "OVA", + value: "ova" + }, + { + type_name: "CheckBox", + name: "DONGHUA", + value: "donghua" + } + ] + }, + { + type_name: "SelectFilter", + type: "genero", + name: "Género", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Todos", + value: "" + }, + { + type_name: "SelectOption", + name: "Acción", + value: "accion" + }, + { + type_name: "SelectOption", + name: "Ángeles", + value: "angeles" + }, + { + type_name: "SelectOption", + name: "Artes Marciales", + value: "artes-marciales" + }, + { + type_name: "SelectOption", + name: "Aventura", + value: "aventura" + }, + { + type_name: "SelectOption", + name: "Ciencia Ficción", + value: "Ciencia Ficción" + }, + { + type_name: "SelectOption", + name: "Comedia", + value: "comedia" + }, + { + type_name: "SelectOption", + name: "Cyberpunk", + value: "cyberpunk" + }, + { + type_name: "SelectOption", + name: "Demonios", + value: "demonios" + }, + { + type_name: "SelectOption", + name: "Deportes", + value: "deportes" + }, + { + type_name: "SelectOption", + name: "Dragones", + value: "dragones" + }, + { + type_name: "SelectOption", + name: "Drama", + value: "drama" + }, + { + type_name: "SelectOption", + name: "Ecchi", + value: "ecchi" + }, + { + type_name: "SelectOption", + name: "Escolares", + value: "escolares" + }, + { + type_name: "SelectOption", + name: "Fantasía", + value: "fantasia" + }, + { + type_name: "SelectOption", + name: "Gore", + value: "gore" + }, + { + type_name: "SelectOption", + name: "Harem", + value: "harem" + }, + { + type_name: "SelectOption", + name: "Histórico", + value: "historico" + }, + { + type_name: "SelectOption", + name: "Horror", + value: "horror" + }, + { + type_name: "SelectOption", + name: "Infantil", + value: "infantil" + }, + { + type_name: "SelectOption", + name: "Isekai", + value: "isekai" + }, + { + type_name: "SelectOption", + name: "Josei", + value: "josei" + }, + { + type_name: "SelectOption", + name: "Juegos", + value: "juegos" + }, + { + type_name: "SelectOption", + name: "Magia", + value: "magia" + }, + { + type_name: "SelectOption", + name: "Mecha", + value: "mecha" + }, + { + type_name: "SelectOption", + name: "Militar", + value: "militar" + }, + { + type_name: "SelectOption", + name: "Misterio", + value: "misterio" + }, + { + type_name: "SelectOption", + name: "Música", + value: "Musica" + }, + { + type_name: "SelectOption", + name: "Ninjas", + value: "ninjas" + }, + { + type_name: "SelectOption", + name: "Parodia", + value: "parodia" + }, + { + type_name: "SelectOption", + name: "Policía", + value: "policia" + }, + { + type_name: "SelectOption", + name: "Psicológico", + value: "psicologico" + }, + { + type_name: "SelectOption", + name: "Recuerdos de la vida", + value: "Recuerdos de la vida" + }, + { + type_name: "SelectOption", + name: "Romance", + value: "romance" + }, + { + type_name: "SelectOption", + name: "Samurai", + value: "samurai" + }, + { + type_name: "SelectOption", + name: "Sci-Fi", + value: "sci-fi" + }, + { + type_name: "SelectOption", + name: "Seinen", + value: "seinen" + }, + { + type_name: "SelectOption", + name: "Shoujo", + value: "shoujo" + }, + { + type_name: "SelectOption", + name: "Shoujo Ai", + value: "shoujo-ai" + }, + { + type_name: "SelectOption", + name: "Shounen", + value: "shounen" + }, + { + type_name: "SelectOption", + name: "Slice of life", + value: "slice-of-life" + }, + { + type_name: "SelectOption", + name: "Sobrenatural", + value: "sobrenatural" + }, + { + type_name: "SelectOption", + name: "Space", + value: "space" + }, + { + type_name: "SelectOption", + name: "Spokon", + value: "spokon" + }, + { + type_name: "SelectOption", + name: "Steampunk", + value: "steampunk" + }, + { + type_name: "SelectOption", + name: "Superpoder", + value: "superpoder" + }, + { + type_name: "SelectOption", + name: "Thriller", + value: "thriller" + }, + { + type_name: "SelectOption", + name: "Vampiro", + value: "vampiro" + }, + { + type_name: "SelectOption", + name: "Yaoi", + value: "yaoi" + }, + { + type_name: "SelectOption", + name: "Yuri", + value: "yuri" + }, + { + type_name: "SelectOption", + name: "Zombies", + value: "zombies" + } + ] + }, + { + type_name: "GroupFilter", + name: "Estado", + state: [ + { + type_name: "CheckBox", + name: "Emisión", + value: "1" + }, + { + type_name: "CheckBox", + name: "Finalizado", + value: "2" + }, + { + type_name: "CheckBox", + name: "Proximamente", + value: "3" + }, + { + type_name: "CheckBox", + name: "En Cuarentena", + value: "4" + } + ] + }, + { + type_name: "SelectFilter", + type: "sort", + name: "Orden", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Por Defecto", + value: "default" + }, + { + type_name: "SelectOption", + name: "Recientemente Actualizados", + value: "updated" + }, + { + type_name: "SelectOption", + name: "Recientemente Agregados", + value: "added" + }, + { + type_name: "SelectOption", + name: "Nombre A-Z", + value: "title" + }, + { + type_name: "SelectOption", + name: "Calificación", + value: "likes" + }, + { + type_name: "SelectOption", + name: "Más Vistos", + value: "visits" + } + ] + } + ]; + } + getSourcePreferences() { + return [ + { + key: 'lang', + listPreference: { + title: 'Preferred Language', + summary: 'If available, this language will be chosen by default. Priority = 0 (lower is better)', + valueIndex: 0, + entries: [ + 'Español' + ], + entryValues: [ + 'Español' + ] + } + }, + { + key: 'type', + listPreference: { + title: 'Preferred Type', + summary: 'If available, this type will be chosen by default. Priority = 1 (lower is better)', + valueIndex: 0, + entries: [ + 'Sub' + ], + entryValues: [ + 'Sub' + ] + } + }, + { + key: 'res', + listPreference: { + title: 'Preferred Resolution', + summary: 'If available, this resolution will be chosen by default. Priority = 2 (lower is better)', + valueIndex: 0, + entries: [ + '1080p', + '720p', + '480p' + ], + entryValues: [ + '1080p', + '720p', + '480p' + ] + } + }, + { + key: 'host', + listPreference: { + title: 'Preferred Hoster', + summary: 'If available, this hoster will be chosen by default. Priority = 3 (lower is better)', + valueIndex: 0, + entries: [ + 'Amazon', + 'Burst', + 'Mp4Upload', + 'RU', + 'Sendvid', + 'STREAM2', + 'HIDE', + 'YourUpload', + ], + entryValues: [ + 'Amazon', + 'Burst', + 'Mp4Upload', + 'RU', + 'Sendvid', + 'STREAM2', + 'HIDE', + 'YourUpload', + ] + } + } + ]; + } +} + +/*************************************************************************************************** +* +* mangayomi-js-helpers v1.0 +* +* # Video Extractors +* - vidGuardExtractor +* - doodExtractor +* - vidozaExtractor +* - okruExtractor +* - amazonExtractor +* - vidHideExtractor +* - filemoonExtractor +* - mixdropExtractor +* - burstcloudExtractor (not working, see description) +* +* # Video Extractor Format Wrappers +* - streamWishExtractor +* - voeExtractor +* - mp4UploadExtractor +* - yourUploadExtractor +* - streamTapeExtractor +* - sendVidExtractor +* +* # Video Extractor helpers +* - extractAny +* +* # Playlist Extractors +* - m3u8Extractor +* - jwplayerExtractor +* +* # Extension +* - sortVideos() +* +* # Encoding/Decoding +* - Uint8Array.fromBase64() +* - Uint8Array.prototype.toBase64() +* - Uint8Array.prototype.decode() +* - String.prototype.encode() +* - String.prototype.decode() +* +* # Random string +* - getRandomString() +* +* # URL +* - absUrl() +* +***************************************************************************************************/ + +async function vidGuardExtractor(url) { + // get html + const res = await new Client().get(url); + const doc = new Document(res.body); + const script = doc.selectFirst('script:contains(eval)'); + + // eval code + const code = script.text; + eval?.('var window = {};'); + eval?.(code); + const playlistUrl = globalThis.window.svg.stream; + + // decode sig + const encoded = playlistUrl.match(/sig=(.*?)&/)[1]; + const charCodes = []; + + for (let i = 0; i < encoded.length; i += 2) { + charCodes.push(parseInt(encoded.slice(i, i + 2), 16) ^ 2); + } + + let decoded = Uint8Array.fromBase64( + String.fromCharCode(...charCodes)) + .slice(5, -5) + .reverse(); + + for (let i = 0; i < decoded.length; i += 2) { + let tmp = decoded[i]; + decoded[i] = decoded[i + 1]; + decoded[i + 1] = tmp; + } + + decoded = decoded.decode(); + return await m3u8Extractor(playlistUrl.replace(encoded, decoded), null); +} + +async function doodExtractor(url) { + const dartClient = new Client({ 'useDartHttpClient': true, "followRedirects": false }); + let response = await dartClient.get(url); + while ("location" in response.headers) { + response = await dartClient.get(response.headers.location); + } + const newUrl = response.request.url; + const doodhost = newUrl.match(/https:\/\/(.*?)\//, newUrl)[0].slice(8, -1); + const md5 = response.body.match(/'\/pass_md5\/(.*?)',/, newUrl)[0].slice(11, -2); + const token = md5.substring(md5.lastIndexOf("/") + 1); + const expiry = new Date().valueOf(); + const randomString = getRandomString(10); + + response = await new Client().get(`https://${doodhost}/pass_md5/${md5}`, { "Referer": newUrl }); + const videoUrl = `${response.body}${randomString}?token=${token}&expiry=${expiry}`; + const headers = { "User-Agent": "Mangayomi", "Referer": doodhost }; + return [{ url: videoUrl, originalUrl: videoUrl, headers: headers, quality: '' }]; +} + +async function vidozaExtractor(url) { + let response = await new Client({ 'useDartHttpClient': true, "followRedirects": true }).get(url); + const videoUrl = response.body.match(/https:\/\/\S*\.mp4/)[0]; + return [{ url: videoUrl, originalUrl: videoUrl, quality: '' }]; +} + +async function okruExtractor(url) { + const res = await new Client().get(url); + const doc = new Document(res.body); + const tag = doc.selectFirst('div[data-options]'); + const playlistUrl = tag.attr('data-options').match(/hlsManifestUrl.*?(h.*?id=\d+)/)[1].replaceAll('\\\\u0026', '&'); + return await m3u8Extractor(playlistUrl, null); +} + +async function amazonExtractor(url) { + const res = await new Client().get(url); + const doc = new Document(res.body); + const videoUrl = doc.selectFirst('video').getSrc; + return videoUrl ? [{ url: videoUrl, originalUrl: videoUrl, headers: null, quality: '' }] : []; +} + +async function vidHideExtractor(url) { + const res = await new Client().get(url); + return await jwplayerExtractor(res.body); +} + +async function filemoonExtractor(url) { + let res = await new Client().get(url); + const src = res.body.match(/iframe src="(.*?)"/)?.[1]; + if (src) { + res = await new Client().get(src, { + 'Referer': url, + 'Accept-Language': 'de,en-US;q=0.7,en;q=0.3' + }); + } + return await jwplayerExtractor(res.body); +} + +async function mixdropExtractor(url) { + headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'}; + let res = await new Client({ 'useDartHttpClient': true, "followRedirects": false }).get(url, headers); + while ("location" in res.headers) { + res = await new Client({ 'useDartHttpClient': true, "followRedirects": false }).get(res.headers.location, headers); + } + const newUrl = res.request.url; + let doc = new Document(res.body); + + const code = doc.selectFirst('script:contains(MDCore):contains(eval)').text; + const unpacked = unpackJs(code); + let videoUrl = unpacked.match(/wurl="(.*?)"/)?.[1]; + + if (!videoUrl) return []; + + videoUrl = 'https:' + videoUrl; + headers.referer = newUrl; + + return [{url: videoUrl, originalUrl: videoUrl, quality: '', headers: headers}]; +} + +/** Does not work: Client always sets 'charset=utf-8' in Content-Type. */ +async function burstcloudExtractor(url) { + let client = new Client(); + let res = await client.get(url); + + const id = res.body.match(/data-file-id="(.*?)"/)[1]; + const headers = { + "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", + 'Referer': url, + }; + const data = { + 'fileId': id + }; + + res = await client.post(`https://www.burstcloud.co/file/play-request/`, headers, data); + const videoUrl = res.body.match(/cdnUrl":"(.*?)"/)[1]; + return [{ + url: videoUrl, + originalUrl: videoUrl, + headers: { 'Referer': url.match(/.*?:\/\/.*?\//) }, + quality: '' + }]; +} + +_streamWishExtractor = streamWishExtractor; +streamWishExtractor = async (url) => { + return (await _streamWishExtractor(url, '')).map(v => { + v.quality = v.quality.slice(3, -1); + return v; + }); +} + +_voeExtractor = voeExtractor; +voeExtractor = async (url) => { + return (await _voeExtractor(url, '')).map(v => { + v.quality = v.quality.replace(/Voe: (\d+p?)/i, '$1'); + return v; + }); +} + +_mp4UploadExtractor = mp4UploadExtractor; +mp4UploadExtractor = async (url) => { + return (await _mp4UploadExtractor(url)).map(v => { + v.quality = v.quality.match(/\d+p/)?.[0] ?? ''; + return v; + }); +} + +_yourUploadExtractor = yourUploadExtractor; +yourUploadExtractor = async (url) => { + return (await _yourUploadExtractor(url)) + .filter(v => !v.url.includes('/novideo')) + .map(v => { + v.quality = ''; + return v; + }); +} + +_streamTapeExtractor = streamTapeExtractor; +streamTapeExtractor = async (url) => { + return await _streamTapeExtractor(url, ''); +} + +_sendVidExtractor = sendVidExtractor; +sendVidExtractor = async (url) => { + let res = await new Client().get(url); + var videoUrl, quality; + try { + videoUrl = res.body.match(/og:video" content="(.*?\.mp4.*?)"/)[1]; + quality = res.body.match(/og:video:height" content="(.*?)"/)?.[1]; + quality = quality ? quality + 'p' : ''; + } catch (error) { + + } + if (!videoUrl) { + return _sendVidExtractor(url, null, ''); + } + return [{url: videoUrl, originalUrl: videoUrl, quality: quality, headers: null}]; +} + +async function extractAny(url, method, lang, type, host) { + const m = extractAny.methods[method]; + return (!m) ? [] : (await m(url)).map(v => { + v.quality = v.quality ? `${lang} ${type} ${v.quality} ${host}` : `${lang} ${type} ${host}`; + return v; + }); +}; + +extractAny.methods = { + 'amazon': amazonExtractor, + 'burstcloud': burstcloudExtractor, + 'doodstream': doodExtractor, + 'filemoon': filemoonExtractor, + 'mixdrop': mixdropExtractor, + 'mp4upload': mp4UploadExtractor, + 'okru': okruExtractor, + 'sendvid': sendVidExtractor, + 'streamtape': streamTapeExtractor, + 'streamwish': vidHideExtractor, + 'vidguard': vidGuardExtractor, + 'vidhide': vidHideExtractor, + 'vidoza': vidozaExtractor, + 'voe': voeExtractor, + 'yourupload': yourUploadExtractor +}; + +async function m3u8Extractor(url, headers = null) { + // https://developer.apple.com/documentation/http-live-streaming/creating-a-multivariant-playlist + // https://developer.apple.com/documentation/http-live-streaming/adding-alternate-media-to-a-playlist + // define attribute lists + const streamAttributes = [ + ['avg_bandwidth', /AVERAGE-BANDWIDTH=(\d+)/], + ['bandwidth', /\bBANDWIDTH=(\d+)/], + ['resolution', /\bRESOLUTION=([\dx]+)/], + ['framerate', /\bFRAME-RATE=([\d\.]+)/], + ['codecs', /\bCODECS="(.*?)"/], + ['video', /\bVIDEO="(.*?)"/], + ['audio', /\bAUDIO="(.*?)"/], + ['subtitles', /\bSUBTITLES="(.*?)"/], + ['captions', /\bCLOSED-CAPTIONS="(.*?)"/] + ]; + const mediaAttributes = [ + ['type', /\bTYPE=([\w-]*)/], + ['group', /\bGROUP-ID="(.*?)"/], + ['lang', /\bLANGUAGE="(.*?)"/], + ['name', /\bNAME="(.*?)"/], + ['autoselect', /\bAUTOSELECT=(\w*)/], + ['default', /\bDEFAULT=(\w*)/], + ['instream-id', /\bINSTREAM-ID="(.*?)"/], + ['assoc-lang', /\bASSOC-LANGUAGE="(.*?)"/], + ['channels', /\bCHANNELS="(.*?)"/], + ['uri', /\bURI="(.*?)"/] + ]; + const streams = [], videos = {}, audios = {}, subtitles = {}, captions = {}; + const dict = { 'VIDEO': videos, 'AUDIO': audios, 'SUBTITLES': subtitles, 'CLOSED-CAPTIONS': captions }; + + const res = await new Client().get(url, headers); + const text = res.body; + + // collect media + for (const match of text.matchAll(/#EXT-X-MEDIA:(.*)/g)) { + const info = match[1], medium = {}; + for (const attr of mediaAttributes) { + const m = info.match(attr[1]); + medium[attr[0]] = m ? m[1] : null; + } + + const type = medium.type; + delete medium.type; + const group = medium.group; + delete medium.group; + + const typedict = dict[type]; + if (typedict[group] == undefined) + typedict[group] = []; + typedict[group].push(medium); + } + + // collect streams + for (const match of text.matchAll(/#EXT-X-STREAM-INF:(.*)\s*(.*)/g)) { + const info = match[1], stream = { 'url': absUrl(match[2], url) }; + for (const attr of streamAttributes) { + const m = info.match(attr[1]); + stream[attr[0]] = m ? m[1] : null; + } + + stream['video'] = videos[stream.video] ?? null; + stream['audio'] = audios[stream.audio] ?? null; + stream['subtitles'] = subtitles[stream.subtitles] ?? null; + stream['captions'] = captions[stream.captions] ?? null; + + // format resolution or bandwidth + let quality; + if (stream.resolution) { + quality = stream.resolution.match(/x(\d+)/)[1] + 'p'; + } else { + quality = (parseInt(stream.avg_bandwidth ?? stream.bandwidth) / 1000000) + 'Mb/s' + } + + // add stream to list + const subs = stream.subtitles?.map((s) => { + return { file: s.uri, label: s.name }; + }); + const auds = stream.audio?.map((a) => { + return { file: a.uri, label: a.name }; + }); + streams.push({ + url: stream.url, + quality: quality, + originalUrl: stream.url, + headers: headers, + subtitles: subs ?? null, + audios: auds ?? null + }); + } + return streams.length ? streams : [{ + url: url, + quality: '', + originalUrl: url, + headers: headers, + subtitles: null, + audios: null + }]; +} + +async function jwplayerExtractor(text, headers) { + // https://docs.jwplayer.com/players/reference/playlists + const getsetup = /setup\(({[\s\S]*?})\)/; + const getsources = /sources:\s*(\[[\s\S]*?\])/; + const gettracks = /tracks:\s*(\[[\s\S]*?\])/; + const unpacked = unpackJs(text); + + const videos = [], subtitles = []; + + const data = eval('(' + (getsetup.exec(text) || getsetup.exec(unpacked))?.[1] + ')'); + + if (data){ + var sources = data.sources; + var tracks = data.tracks; + } else { + var sources = eval('(' + (getsources.exec(text) || getsources.exec(unpacked))?.[1] + ')'); + var tracks = eval('(' + (gettracks.exec(text) || gettracks.exec(unpacked))?.[1] + ')'); + } + for (t of tracks) { + if (t.type == "captions") { + subtitles.push({file: t.file, label: t.label}); + } + } + for (s of sources) { + if (s.file.includes('master.m3u8')) { + videos.push(...(await m3u8Extractor(s.file, headers))); + } else if (s.file.includes('.mpd')) { + + } else { + videos.push({url: s.file, originalUrl: s.file, quality: '', headers: headers}); + } + } + return videos.map(v => { + v.subtitles = subtitles; + return v; + }); +} + +function sortVideos(videos) { + const pref = new SharedPreferences(); + const getres = RegExp('(\\d+)p?', 'i'); + const lang = RegExp(pref.get('lang'), 'i'); + const type = RegExp(pref.get('type'), 'i'); + const res = RegExp(getres.exec(pref.get('res'))[1], 'i'); + const host = RegExp(pref.get('host'), 'i'); + + let getScore = (q, hasRes) => { + const bLang = lang.test(q), bType = type.test(q), bRes = res.test(q), bHost = host.test(q); + if (hasRes) { + return bLang * (8 + bType * (4 + bRes * (2 + bHost * 1))); + } else { + return bLang * (8 + bType * (4 + (bHost * 3))); + } + } + + return videos.sort((a, b) => { + const resA = getres.exec(a.quality)?.[1]; + const resB = getres.exec(b.quality)?.[1]; + const score = getScore(b.quality, resB) - getScore(a.quality, resA); + + if (score) return score; + + const qA = resA ? a.quality.replace(resA, (9999 - parseInt(resA)).toString()) : a.quality; + const qB = resA ? b.quality.replace(resB, (9999 - parseInt(resB)).toString()) : b.quality; + + return qA.localeCompare(qB); + }); +} + +Uint8Array.fromBase64 = function (b64) { + // [00,01,02,03,04,05,06,07,08,\t,\n,0b,0c,\r,0e,0f,10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,' ', !, ", #, $, %, &, ', (, ), *, +,',', -, ., /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, <,'=', >, ?, @,A,B,C,D,E,F,G,H,I,J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~,7f] + const m = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 62, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1] + let data = [], val = 0, bits = -8 + for (const c of b64) { + let n = m[c.charCodeAt(0)]; + if (n == -1) break; + val = (val << 6) + n; + bits += 6; + for (; bits >= 0; bits -= 8) + data.push((val >> bits) & 0xFF); + } + return new Uint8Array(data); +} + +Uint8Array.prototype.toBase64 = function () { + const m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + let b64 = '', val = 0, bits = -6; + for (const b of this) { + val = (val << 8) + b; + bits += 8; + while (bits >= 0) { + b64 += m[(val >> bits) & 0x3F]; + bits -= 6; + } + } + if (bits > -6) + b64 += m[(val << -bits) & 0x3F]; + return b64 + ['', '', '==', '='][b64.length % 4]; +} + +Uint8Array.prototype.decode = function (encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return decodeUTF8(this); + } + return null; +} + +String.prototype.encode = function (encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return encodeUTF8(this); + } + return null; +} + +String.decode = function (data, encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return decodeUTF8(data); + } + return null; +} + +function decodeUTF8(data) { + const codes = []; + for (let i = 0; i < data.length;) { + const c = data[i++]; + const len = (c > 0xBF) + (c > 0xDF) + (c > 0xEF); + let val = c & (0xFF >> (len + 1)); + for (const end = i + len; i < end; i++) { + val = (val << 6) + (data[i] & 0x3F); + } + codes.push(val); + } + return String.fromCharCode(...codes); +} + +function encodeUTF8(string) { + const data = []; + for (const c of string) { + const code = c.charCodeAt(0); + const len = (code > 0x7F) + (code > 0x7FF) + (code > 0xFFFF); + let bits = len * 6; + + data.push((len ? ~(0xFF >> len + 1) : (0)) + (code >> bits)); + while (bits > 0) { + data.push(0x80 + ((code >> (bits -= 6)) & 0x3F)) + } + } + return new Uint8Array(data); +} + +function getRandomString(length) { + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; + let result = ""; + for (let i = 0; i < length; i++) { + const random = Math.floor(Math.random() * 61); + result += chars[random]; + } + return result; +} + +function absUrl(url, base) { + if (url.search(/^\w+:\/\//) == 0) { + return url; + } else if (url.startsWith('/')) { + return base.slice(0, base.lastIndexOf('/')) + url; + } else { + return base.slice(0, base.lastIndexOf('/') + 1) + url; + } +} \ No newline at end of file diff --git a/javascript/anime/src/es/jkanime.js b/javascript/anime/src/es/jkanime.js new file mode 100644 index 00000000..a1ab1bf9 --- /dev/null +++ b/javascript/anime/src/es/jkanime.js @@ -0,0 +1,1398 @@ +const mangayomiSources = [{ + "name": "JKAnime", + "lang": "es", + "baseUrl": "https://jkanime.net", + "apiUrl": "", + "iconUrl": "https://cdn.jkdesu.com/assets2/css/img/favicon.ico", + "typeSource": "single", + "isManga": false, + "version": "0.1.0", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "anime/src/es/jkanime.js" +}]; + +class DefaultExtension extends MProvider { + constructor () { + super(); + this.client = new Client(); + } + getHeaders(url) { + throw new Error("getHeaders not implemented"); + } + async parseAnimeList(url) { + const res = await this.client.get(url); + const doc = new Document(res.body); + const code = doc.selectFirst("script:contains(var animes)").text; + const list = []; + + for (const element of code.matchAll(/{.*?short_title.*?}/g)) { + const data = JSON.parse(element[0]); + const name = data.title; + const imageUrl = data.image; + const link = this.source.baseUrl + '/' + data.slug; + list.push({ name, imageUrl, link }); + } + + const nextBtn = doc.selectFirst("a.nav-next"); + const hasNextPage = nextBtn && nextBtn.text != ''; + return { "list": list, "hasNextPage": hasNextPage }; + } + statusFromString(status) { + return { + "En emision": 0, + "Finalizado": 1, + "Concluido": 1 + }[status] ?? 5; + } + async getPopular(page) { + const res = await this.client.get('https://jkanime.net/top/'); + const doc = new Document(res.body); + const list = []; + + for (const i of doc.select('div#conb')) { + const name = i.selectFirst('h2 a').text; + const imageUrl = i.selectFirst('img').getSrc; + let link = i.selectFirst('a').getHref; + link = link.endsWith('/') ? link.slice(0, -1) : link; + list.push({ name, imageUrl, link }); + } + + return { "list": list, "hasNextPage": false }; + } + async getLatestUpdates(page) { + return this.parseAnimeList(`${this.source.baseUrl}/directorio/${page}/`); + } + async search(query, page, filters) { + query = query.trim().replaceAll(/\ +/g, "_"); + + // Search sometimes failed because filters were empty. I experienced this mostly on android... + if (!filters || filters.length == 0) { + return this.parseAnimeList(`${this.source.baseUrl}/buscar/${query}/${page}/`); + } else if (query) { + var url = `${this.source.baseUrl}/buscar/${query}/${page}/`; + url += `?filtro=${filters[1].values[filters[1].state].value}`; + url += `&tipo=${filters[5].values[filters[5].state].value}`; + url += `&estado=${filters[6].values[filters[6].state].value}`; + } else { + var url = `${this.source.baseUrl}/directorio/${query}/${page}`; + url += `/${filters[1].values[filters[1].state].value}`; + url += `/${filters[2].values[filters[2].state].value}`; + url += `/${filters[3].values[filters[3].state].value}`; + url += `/${filters[4].values[filters[4].state].value}`; + url += `/${filters[5].values[filters[5].state].value}`; + url += `/${filters[6].values[filters[6].state].value}`; + url += `/${filters[7].values[filters[7].state].value}`; + url += `/${filters[8].values[filters[8].state].value}`; + } + return this.parseAnimeList(url); + } + async getDetail(url) { + let res = await this.client.get(url); + const doc = new Document(res.body); + const detail = {}; + + const id = res.body.match(/data-anime="(\d+)"/)[1]; + const lastEpisodeUrl = `${this.source.baseUrl}/ajax/last_episode/${id}`; + + const info = doc.selectFirst("div.anime__details__content"); + const extInfo = doc.selectFirst('div.aninfo'); + detail.name = info.selectFirst("h3").text; + detail.imageUrl = info.selectFirst("div.anime__details__pic").attr('data-setbg'); + detail.description = info.selectFirst("p.sinopsis").text.trim(); + detail.status = this.statusFromString(extInfo.selectFirst("span:contains(Estado) + span").text); + detail.genre = extInfo.select("li:contains(Genero) a").map(e => e.text); + + // get episodes + detail.episodes = []; + res = await this.client.get(lastEpisodeUrl, {'User-Agent': 'Mangayomi'}); + const end = parseInt(JSON.parse(res.body)[0].number); + for (let i = 1; i <= end; i++) { + detail.episodes.push({ + name: 'Episodio ' + i, + url: url + '/' + i + }); + } + detail.episodes.reverse(); + return detail; + } + async extractRedirect(redirect, referer, lang, type, host) { + const res = await this.client.get(this.source.baseUrl + redirect, {'Referer': referer}); + const m3u = res.body.match(/http.*?.m3u8/)[0]; + return [{ url: m3u, originalUrl: m3u, headers: {'Referer': referer}, quality: `${lang} ${type} ${host}` }]; + }; + // For anime episode video list + async getVideoList(url) { + const res = await this.client.get(url); + const doc = new Document(res.body); + let promises = []; + const videos = []; + + const code = doc.selectFirst("script:contains(var video)").text; + + // extract direct video links + for (const m of code.matchAll(/video\s*\[\d+\].*?src="(.*?)"/g)) { + promises.push(this.extractRedirect(m[1], url, 'Español', 'Sub', 'Desu')); + } + promises = [Promise.any(promises)]; + + // extract remote video links + for (const server of code.matchAll(/{"remote"\s*:\s*"(.*?)".*?"server"\s*:\s*"(.*?)"/g)) { + const link = Uint8Array.fromBase64(server[1]).decode('utf-8'); + const host = server[2]; + promises.push(extractAny(link, host.toLowerCase(), 'Español', 'Sub', host)); + } + for (const p of (await Promise.allSettled(promises))) { + if (p.status == 'fulfilled') { + videos.push.apply(videos, p.value); + } + } + return sortVideos(videos); + } + getFilterList() { + return [ + { + type_name: "HeaderFilter", + type: "info", + name: "IMPORTANT: Some filters do not work when searching text!", + state: 0 + }, + { + type_name: "SelectFilter", + type: "filtro", + name: "Filtro", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Por fecha", + value: "" + }, + { + type_name: "SelectOption", + name: "Por nombre", + value: "nombre" + } + ] + }, + { + type_name: "SelectFilter", + type: "genero", + name: "Género", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Género", + value: "" + }, + { + type_name: "SelectOption", + name: "Accion", + value: "accion" + }, + { + type_name: "SelectOption", + name: "Aventura", + value: "aventura" + }, + { + type_name: "SelectOption", + name: "Autos", + value: "autos" + }, + { + type_name: "SelectOption", + name: "Comedia", + value: "comedia" + }, + { + type_name: "SelectOption", + name: "Dementia", + value: "dementia" + }, + { + type_name: "SelectOption", + name: "Demonios", + value: "demonios" + }, + { + type_name: "SelectOption", + name: "Misterio", + value: "misterio" + }, + { + type_name: "SelectOption", + name: "Drama", + value: "drama" + }, + { + type_name: "SelectOption", + name: "Ecchi", + value: "ecchi" + }, + { + type_name: "SelectOption", + name: "Fantasia", + value: "fantasia" + }, + { + type_name: "SelectOption", + name: "Juegos", + value: "juegos" + }, + { + type_name: "SelectOption", + name: "Hentai", + value: "hentai" + }, + { + type_name: "SelectOption", + name: "Historico", + value: "historico" + }, + { + type_name: "SelectOption", + name: "Terror", + value: "terror" + }, + { + type_name: "SelectOption", + name: "Magia", + value: "magia" + }, + { + type_name: "SelectOption", + name: "Artes Marciales", + value: "artes-marciales" + }, + { + type_name: "SelectOption", + name: "Mecha", + value: "mecha" + }, + { + type_name: "SelectOption", + name: "Musica", + value: "musica" + }, + { + type_name: "SelectOption", + name: "Parodia", + value: "parodia" + }, + { + type_name: "SelectOption", + name: "Samurai", + value: "samurai" + }, + { + type_name: "SelectOption", + name: "Romance", + value: "romance" + }, + { + type_name: "SelectOption", + name: "Colegial", + value: "colegial" + }, + { + type_name: "SelectOption", + name: "Sci-Fi", + value: "sci-fi" + }, + { + type_name: "SelectOption", + name: "Shoujo Ai", + value: "shoujo-ai" + }, + { + type_name: "SelectOption", + name: "Shounen Ai", + value: "shounen-ai" + }, + { + type_name: "SelectOption", + name: "Space", + value: "space" + }, + { + type_name: "SelectOption", + name: "Deportes", + value: "deportes" + }, + { + type_name: "SelectOption", + name: "Super Poderes", + value: "super-poderes" + }, + { + type_name: "SelectOption", + name: "Vampiros", + value: "vampiros" + }, + { + type_name: "SelectOption", + name: "Yaoi", + value: "yaoi" + }, + { + type_name: "SelectOption", + name: "Yuri", + value: "yuri" + }, + { + type_name: "SelectOption", + name: "Harem", + value: "harem" + }, + { + type_name: "SelectOption", + name: "Cosas de la vida", + value: "cosas-de-la-vida" + }, + { + type_name: "SelectOption", + name: "Sobrenatural", + value: "sobrenatural" + }, + { + type_name: "SelectOption", + name: "Militar", + value: "militar" + }, + { + type_name: "SelectOption", + name: "Policial", + value: "policial" + }, + { + type_name: "SelectOption", + name: "Psicologico", + value: "psicologico" + }, + { + type_name: "SelectOption", + name: "Thriller", + value: "thriller" + }, + { + type_name: "SelectOption", + name: "Español Latino", + value: "latino" + }, + { + type_name: "SelectOption", + name: "Isekai", + value: "isekai" + } + ] + }, + { + type_name: "SelectFilter", + type: "demografia", + name: "Demografía", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Demografía", + value: "" + }, + { + type_name: "SelectOption", + name: "Niños", + value: "nios" + }, + { + type_name: "SelectOption", + name: "Shoujo", + value: "shoujo" + }, + { + type_name: "SelectOption", + name: "Shounen", + value: "shounen" + }, + { + type_name: "SelectOption", + name: "Seinen", + value: "seinen" + }, + { + type_name: "SelectOption", + name: "Josei", + value: "josei" + } + ] + }, + { + type_name: "SelectFilter", + type: "categoria", + name: "Categoría", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Categoría", + value: "" + }, + { + type_name: "SelectOption", + name: "Donghua", + value: "donghua" + } + ] + }, + { + type_name: "SelectFilter", + type: "tipo", + name: "Tipo", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Tipo", + value: "" + }, + { + type_name: "SelectOption", + name: "Animes", + value: "animes" + }, + { + type_name: "SelectOption", + name: "Peliculas", + value: "peliculas" + }, + { + type_name: "SelectOption", + name: "Especiales", + value: "especiales" + }, + { + type_name: "SelectOption", + name: "Ovas", + value: "ovas" + }, + { + type_name: "SelectOption", + name: "Onas", + value: "onas" + } + ] + }, + { + type_name: "SelectFilter", + type: "estado", + name: "Estado", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Estado", + value: "" + }, + { + type_name: "SelectOption", + name: "En emisión", + value: "emision" + }, + { + type_name: "SelectOption", + name: "Finalizado", + value: "finalizados" + }, + { + type_name: "SelectOption", + name: "Por Estrenar", + value: "estrenos" + } + ] + }, + { + type_name: "SelectFilter", + type: "ano", + name: "Año", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Año", + value: "Año" + }, + { + type_name: "SelectOption", + name: "2024", + value: "2024" + }, + { + type_name: "SelectOption", + name: "2023", + value: "2023" + }, + { + type_name: "SelectOption", + name: "2022", + value: "2022" + }, + { + type_name: "SelectOption", + name: "2021", + value: "2021" + }, + { + type_name: "SelectOption", + name: "2020", + value: "2020" + }, + { + type_name: "SelectOption", + name: "2019", + value: "2019" + }, + { + type_name: "SelectOption", + name: "2018", + value: "2018" + }, + { + type_name: "SelectOption", + name: "2017", + value: "2017" + }, + { + type_name: "SelectOption", + name: "2016", + value: "2016" + }, + { + type_name: "SelectOption", + name: "2015", + value: "2015" + }, + { + type_name: "SelectOption", + name: "2014", + value: "2014" + }, + { + type_name: "SelectOption", + name: "2013", + value: "2013" + }, + { + type_name: "SelectOption", + name: "2012", + value: "2012" + }, + { + type_name: "SelectOption", + name: "2011", + value: "2011" + }, + { + type_name: "SelectOption", + name: "2010", + value: "2010" + }, + { + type_name: "SelectOption", + name: "2009", + value: "2009" + }, + { + type_name: "SelectOption", + name: "2008", + value: "2008" + }, + { + type_name: "SelectOption", + name: "2007", + value: "2007" + }, + { + type_name: "SelectOption", + name: "2006", + value: "2006" + }, + { + type_name: "SelectOption", + name: "2005", + value: "2005" + }, + { + type_name: "SelectOption", + name: "2004", + value: "2004" + }, + { + type_name: "SelectOption", + name: "2003", + value: "2003" + }, + { + type_name: "SelectOption", + name: "2002", + value: "2002" + }, + { + type_name: "SelectOption", + name: "2001", + value: "2001" + }, + { + type_name: "SelectOption", + name: "2000", + value: "2000" + }, + { + type_name: "SelectOption", + name: "1999", + value: "1999" + }, + { + type_name: "SelectOption", + name: "1998", + value: "1998" + }, + { + type_name: "SelectOption", + name: "1997", + value: "1997" + }, + { + type_name: "SelectOption", + name: "1996", + value: "1996" + }, + { + type_name: "SelectOption", + name: "1995", + value: "1995" + }, + { + type_name: "SelectOption", + name: "1994", + value: "1994" + }, + { + type_name: "SelectOption", + name: "1993", + value: "1993" + }, + { + type_name: "SelectOption", + name: "1992", + value: "1992" + }, + { + type_name: "SelectOption", + name: "1991", + value: "1991" + }, + { + type_name: "SelectOption", + name: "1990", + value: "1990" + }, + { + type_name: "SelectOption", + name: "1989", + value: "1989" + }, + { + type_name: "SelectOption", + name: "1988", + value: "1988" + }, + { + type_name: "SelectOption", + name: "1987", + value: "1987" + }, + { + type_name: "SelectOption", + name: "1986", + value: "1986" + }, + { + type_name: "SelectOption", + name: "1985", + value: "1985" + }, + { + type_name: "SelectOption", + name: "1984", + value: "1984" + }, + { + type_name: "SelectOption", + name: "1983", + value: "1983" + }, + { + type_name: "SelectOption", + name: "1982", + value: "1982" + }, + { + type_name: "SelectOption", + name: "1981", + value: "1981" + } + ] + }, + { + type_name: "SelectFilter", + type: "temporada", + name: "Temporada", + state: 0, + values: [ + { + type_name: "SelectOption", + name: "Temporada", + value: "" + }, + { + type_name: "SelectOption", + name: "Invierno", + value: "invierno" + }, + { + type_name: "SelectOption", + name: "Primavera", + value: "primavera" + }, + { + type_name: "SelectOption", + name: "Verano", + value: "verano" + }, + { + type_name: "SelectOption", + name: "Otoño", + value: "otoño" + } + ] + } + ]; + } + getSourcePreferences() { + return [ + { + key: 'lang', + listPreference: { + title: 'Preferred Language', + summary: 'If available, this language will be chosen by default. Priority = 0 (lower is better)', + valueIndex: 0, + entries: [ + 'Español' + ], + entryValues: [ + 'Español' + ] + } + }, + { + key: 'type', + listPreference: { + title: 'Preferred Type', + summary: 'If available, this type will be chosen by default. Priority = 1 (lower is better)', + valueIndex: 0, + entries: [ + 'Sub' + ], + entryValues: [ + 'Sub' + ] + } + }, + { + key: 'res', + listPreference: { + title: 'Preferred Resolution', + summary: 'If available, this resolution will be chosen by default. Priority = 2 (lower is better)', + valueIndex: 0, + entries: [ + '1080p', + '720p', + '480p' + ], + entryValues: [ + '1080p', + '720p', + '480p' + ] + } + }, + { + key: 'host', + listPreference: { + title: 'Preferred Hoster', + summary: 'If available, this hoster will be chosen by default. Priority = 3 (lower is better)', + valueIndex: 0, + entries: [ + 'Desu', + 'Filemoon', + 'Mixdrop', + 'Mp4Upload', + 'Streamtape', + 'Streamwish', + 'Vidhide', + 'Voe' + ], + entryValues: [ + 'Desu', + 'Filemoon', + 'Mixdrop', + 'Mp4Upload', + 'Streamtape', + 'Streamwish', + 'Vidhide', + 'Voe' + ] + } + } + ]; + } +} + +/*************************************************************************************************** +* +* mangayomi-js-helpers v1.0 +* +* # Video Extractors +* - vidGuardExtractor +* - doodExtractor +* - vidozaExtractor +* - okruExtractor +* - amazonExtractor +* - vidHideExtractor +* - filemoonExtractor +* - mixdropExtractor +* - burstcloudExtractor (not working, see description) +* +* # Video Extractor Format Wrappers +* - streamWishExtractor +* - voeExtractor +* - mp4UploadExtractor +* - yourUploadExtractor +* - streamTapeExtractor +* - sendVidExtractor +* +* # Video Extractor helpers +* - extractAny +* +* # Playlist Extractors +* - m3u8Extractor +* - jwplayerExtractor +* +* # Extension +* - sortVideos() +* +* # Encoding/Decoding +* - Uint8Array.fromBase64() +* - Uint8Array.prototype.toBase64() +* - Uint8Array.prototype.decode() +* - String.prototype.encode() +* - String.prototype.decode() +* +* # Random string +* - getRandomString() +* +* # URL +* - absUrl() +* +***************************************************************************************************/ + +async function vidGuardExtractor(url) { + // get html + const res = await new Client().get(url); + const doc = new Document(res.body); + const script = doc.selectFirst('script:contains(eval)'); + + // eval code + const code = script.text; + eval?.('var window = {};'); + eval?.(code); + const playlistUrl = globalThis.window.svg.stream; + + // decode sig + const encoded = playlistUrl.match(/sig=(.*?)&/)[1]; + const charCodes = []; + + for (let i = 0; i < encoded.length; i += 2) { + charCodes.push(parseInt(encoded.slice(i, i + 2), 16) ^ 2); + } + + let decoded = Uint8Array.fromBase64( + String.fromCharCode(...charCodes)) + .slice(5, -5) + .reverse(); + + for (let i = 0; i < decoded.length; i += 2) { + let tmp = decoded[i]; + decoded[i] = decoded[i + 1]; + decoded[i + 1] = tmp; + } + + decoded = decoded.decode(); + return await m3u8Extractor(playlistUrl.replace(encoded, decoded), null); +} + +async function doodExtractor(url) { + const dartClient = new Client({ 'useDartHttpClient': true, "followRedirects": false }); + let response = await dartClient.get(url); + while ("location" in response.headers) { + response = await dartClient.get(response.headers.location); + } + const newUrl = response.request.url; + const doodhost = newUrl.match(/https:\/\/(.*?)\//, newUrl)[0].slice(8, -1); + const md5 = response.body.match(/'\/pass_md5\/(.*?)',/, newUrl)[0].slice(11, -2); + const token = md5.substring(md5.lastIndexOf("/") + 1); + const expiry = new Date().valueOf(); + const randomString = getRandomString(10); + + response = await new Client().get(`https://${doodhost}/pass_md5/${md5}`, { "Referer": newUrl }); + const videoUrl = `${response.body}${randomString}?token=${token}&expiry=${expiry}`; + const headers = { "User-Agent": "Mangayomi", "Referer": doodhost }; + return [{ url: videoUrl, originalUrl: videoUrl, headers: headers, quality: '' }]; +} + +async function vidozaExtractor(url) { + let response = await new Client({ 'useDartHttpClient': true, "followRedirects": true }).get(url); + const videoUrl = response.body.match(/https:\/\/\S*\.mp4/)[0]; + return [{ url: videoUrl, originalUrl: videoUrl, quality: '' }]; +} + +async function okruExtractor(url) { + const res = await new Client().get(url); + const doc = new Document(res.body); + const tag = doc.selectFirst('div[data-options]'); + const playlistUrl = tag.attr('data-options').match(/hlsManifestUrl.*?(h.*?id=\d+)/)[1].replaceAll('\\\\u0026', '&'); + return await m3u8Extractor(playlistUrl, null); +} + +async function amazonExtractor(url) { + const res = await new Client().get(url); + const doc = new Document(res.body); + const videoUrl = doc.selectFirst('video').getSrc; + return videoUrl ? [{ url: videoUrl, originalUrl: videoUrl, headers: null, quality: '' }] : []; +} + +async function vidHideExtractor(url) { + const res = await new Client().get(url); + return await jwplayerExtractor(res.body); +} + +async function filemoonExtractor(url) { + let res = await new Client().get(url); + const src = res.body.match(/iframe src="(.*?)"/)?.[1]; + if (src) { + res = await new Client().get(src, { + 'Referer': url, + 'Accept-Language': 'de,en-US;q=0.7,en;q=0.3' + }); + } + return await jwplayerExtractor(res.body); +} + +async function mixdropExtractor(url) { + headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'}; + let res = await new Client({ 'useDartHttpClient': true, "followRedirects": false }).get(url, headers); + while ("location" in res.headers) { + res = await new Client({ 'useDartHttpClient': true, "followRedirects": false }).get(res.headers.location, headers); + } + const newUrl = res.request.url; + let doc = new Document(res.body); + + const code = doc.selectFirst('script:contains(MDCore):contains(eval)').text; + const unpacked = unpackJs(code); + let videoUrl = unpacked.match(/wurl="(.*?)"/)?.[1]; + + if (!videoUrl) return []; + + videoUrl = 'https:' + videoUrl; + headers.referer = newUrl; + + return [{url: videoUrl, originalUrl: videoUrl, quality: '', headers: headers}]; +} + +/** Does not work: Client always sets 'charset=utf-8' in Content-Type. */ +async function burstcloudExtractor(url) { + let client = new Client(); + let res = await client.get(url); + + const id = res.body.match(/data-file-id="(.*?)"/)[1]; + const headers = { + "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", + 'Referer': url, + }; + const data = { + 'fileId': id + }; + + res = await client.post(`https://www.burstcloud.co/file/play-request/`, headers, data); + const videoUrl = res.body.match(/cdnUrl":"(.*?)"/)[1]; + return [{ + url: videoUrl, + originalUrl: videoUrl, + headers: { 'Referer': url.match(/.*?:\/\/.*?\//) }, + quality: '' + }]; +} + +_streamWishExtractor = streamWishExtractor; +streamWishExtractor = async (url) => { + return (await _streamWishExtractor(url, '')).map(v => { + v.quality = v.quality.slice(3, -1); + return v; + }); +} + +_voeExtractor = voeExtractor; +voeExtractor = async (url) => { + return (await _voeExtractor(url, '')).map(v => { + v.quality = v.quality.replace(/Voe: (\d+p?)/i, '$1'); + return v; + }); +} + +_mp4UploadExtractor = mp4UploadExtractor; +mp4UploadExtractor = async (url) => { + return (await _mp4UploadExtractor(url)).map(v => { + v.quality = v.quality.match(/\d+p/)?.[0] ?? ''; + return v; + }); +} + +_yourUploadExtractor = yourUploadExtractor; +yourUploadExtractor = async (url) => { + return (await _yourUploadExtractor(url)) + .filter(v => !v.url.includes('/novideo')) + .map(v => { + v.quality = ''; + return v; + }); +} + +_streamTapeExtractor = streamTapeExtractor; +streamTapeExtractor = async (url) => { + return await _streamTapeExtractor(url, ''); +} + +_sendVidExtractor = sendVidExtractor; +sendVidExtractor = async (url) => { + let res = await new Client().get(url); + var videoUrl, quality; + try { + videoUrl = res.body.match(/og:video" content="(.*?\.mp4.*?)"/)[1]; + quality = res.body.match(/og:video:height" content="(.*?)"/)?.[1]; + quality = quality ? quality + 'p' : ''; + } catch (error) { + + } + if (!videoUrl) { + return _sendVidExtractor(url, null, ''); + } + return [{url: videoUrl, originalUrl: videoUrl, quality: quality, headers: null}]; +} + +async function extractAny(url, method, lang, type, host) { + const m = extractAny.methods[method]; + return (!m) ? [] : (await m(url)).map(v => { + v.quality = v.quality ? `${lang} ${type} ${v.quality} ${host}` : `${lang} ${type} ${host}`; + return v; + }); +}; + +extractAny.methods = { + 'amazon': amazonExtractor, + 'burstcloud': burstcloudExtractor, + 'doodstream': doodExtractor, + 'filemoon': filemoonExtractor, + 'mixdrop': mixdropExtractor, + 'mp4upload': mp4UploadExtractor, + 'okru': okruExtractor, + 'sendvid': sendVidExtractor, + 'streamtape': streamTapeExtractor, + 'streamwish': vidHideExtractor, + 'vidguard': vidGuardExtractor, + 'vidhide': vidHideExtractor, + 'vidoza': vidozaExtractor, + 'voe': voeExtractor, + 'yourupload': yourUploadExtractor +}; + +async function m3u8Extractor(url, headers = null) { + // https://developer.apple.com/documentation/http-live-streaming/creating-a-multivariant-playlist + // https://developer.apple.com/documentation/http-live-streaming/adding-alternate-media-to-a-playlist + // define attribute lists + const streamAttributes = [ + ['avg_bandwidth', /AVERAGE-BANDWIDTH=(\d+)/], + ['bandwidth', /\bBANDWIDTH=(\d+)/], + ['resolution', /\bRESOLUTION=([\dx]+)/], + ['framerate', /\bFRAME-RATE=([\d\.]+)/], + ['codecs', /\bCODECS="(.*?)"/], + ['video', /\bVIDEO="(.*?)"/], + ['audio', /\bAUDIO="(.*?)"/], + ['subtitles', /\bSUBTITLES="(.*?)"/], + ['captions', /\bCLOSED-CAPTIONS="(.*?)"/] + ]; + const mediaAttributes = [ + ['type', /\bTYPE=([\w-]*)/], + ['group', /\bGROUP-ID="(.*?)"/], + ['lang', /\bLANGUAGE="(.*?)"/], + ['name', /\bNAME="(.*?)"/], + ['autoselect', /\bAUTOSELECT=(\w*)/], + ['default', /\bDEFAULT=(\w*)/], + ['instream-id', /\bINSTREAM-ID="(.*?)"/], + ['assoc-lang', /\bASSOC-LANGUAGE="(.*?)"/], + ['channels', /\bCHANNELS="(.*?)"/], + ['uri', /\bURI="(.*?)"/] + ]; + const streams = [], videos = {}, audios = {}, subtitles = {}, captions = {}; + const dict = { 'VIDEO': videos, 'AUDIO': audios, 'SUBTITLES': subtitles, 'CLOSED-CAPTIONS': captions }; + + const res = await new Client().get(url, headers); + const text = res.body; + + // collect media + for (const match of text.matchAll(/#EXT-X-MEDIA:(.*)/g)) { + const info = match[1], medium = {}; + for (const attr of mediaAttributes) { + const m = info.match(attr[1]); + medium[attr[0]] = m ? m[1] : null; + } + + const type = medium.type; + delete medium.type; + const group = medium.group; + delete medium.group; + + const typedict = dict[type]; + if (typedict[group] == undefined) + typedict[group] = []; + typedict[group].push(medium); + } + + // collect streams + for (const match of text.matchAll(/#EXT-X-STREAM-INF:(.*)\s*(.*)/g)) { + const info = match[1], stream = { 'url': absUrl(match[2], url) }; + for (const attr of streamAttributes) { + const m = info.match(attr[1]); + stream[attr[0]] = m ? m[1] : null; + } + + stream['video'] = videos[stream.video] ?? null; + stream['audio'] = audios[stream.audio] ?? null; + stream['subtitles'] = subtitles[stream.subtitles] ?? null; + stream['captions'] = captions[stream.captions] ?? null; + + // format resolution or bandwidth + let quality; + if (stream.resolution) { + quality = stream.resolution.match(/x(\d+)/)[1] + 'p'; + } else { + quality = (parseInt(stream.avg_bandwidth ?? stream.bandwidth) / 1000000) + 'Mb/s' + } + + // add stream to list + const subs = stream.subtitles?.map((s) => { + return { file: s.uri, label: s.name }; + }); + const auds = stream.audio?.map((a) => { + return { file: a.uri, label: a.name }; + }); + streams.push({ + url: stream.url, + quality: quality, + originalUrl: stream.url, + headers: headers, + subtitles: subs ?? null, + audios: auds ?? null + }); + } + return streams.length ? streams : [{ + url: url, + quality: '', + originalUrl: url, + headers: headers, + subtitles: null, + audios: null + }]; +} + +async function jwplayerExtractor(text, headers) { + // https://docs.jwplayer.com/players/reference/playlists + const getsetup = /setup\(({[\s\S]*?})\)/; + const getsources = /sources:\s*(\[[\s\S]*?\])/; + const gettracks = /tracks:\s*(\[[\s\S]*?\])/; + const unpacked = unpackJs(text); + + const videos = [], subtitles = []; + + const data = eval('(' + (getsetup.exec(text) || getsetup.exec(unpacked))?.[1] + ')'); + + if (data){ + var sources = data.sources; + var tracks = data.tracks; + } else { + var sources = eval('(' + (getsources.exec(text) || getsources.exec(unpacked))?.[1] + ')'); + var tracks = eval('(' + (gettracks.exec(text) || gettracks.exec(unpacked))?.[1] + ')'); + } + for (t of tracks) { + if (t.type == "captions") { + subtitles.push({file: t.file, label: t.label}); + } + } + for (s of sources) { + if (s.file.includes('master.m3u8')) { + videos.push(...(await m3u8Extractor(s.file, headers))); + } else if (s.file.includes('.mpd')) { + + } else { + videos.push({url: s.file, originalUrl: s.file, quality: '', headers: headers}); + } + } + return videos.map(v => { + v.subtitles = subtitles; + return v; + }); +} + +function sortVideos(videos) { + const pref = new SharedPreferences(); + const getres = RegExp('(\\d+)p?', 'i'); + const lang = RegExp(pref.get('lang'), 'i'); + const type = RegExp(pref.get('type'), 'i'); + const res = RegExp(getres.exec(pref.get('res'))[1], 'i'); + const host = RegExp(pref.get('host'), 'i'); + + let getScore = (q, hasRes) => { + const bLang = lang.test(q), bType = type.test(q), bRes = res.test(q), bHost = host.test(q); + if (hasRes) { + return bLang * (8 + bType * (4 + bRes * (2 + bHost * 1))); + } else { + return bLang * (8 + bType * (4 + (bHost * 3))); + } + } + + return videos.sort((a, b) => { + const resA = getres.exec(a.quality)?.[1]; + const resB = getres.exec(b.quality)?.[1]; + const score = getScore(b.quality, resB) - getScore(a.quality, resA); + + if (score) return score; + + const qA = resA ? a.quality.replace(resA, (9999 - parseInt(resA)).toString()) : a.quality; + const qB = resA ? b.quality.replace(resB, (9999 - parseInt(resB)).toString()) : b.quality; + + return qA.localeCompare(qB); + }); +} + +Uint8Array.fromBase64 = function (b64) { + // [00,01,02,03,04,05,06,07,08,\t,\n,0b,0c,\r,0e,0f,10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,' ', !, ", #, $, %, &, ', (, ), *, +,',', -, ., /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, <,'=', >, ?, @,A,B,C,D,E,F,G,H,I,J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~,7f] + const m = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 62, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1] + let data = [], val = 0, bits = -8 + for (const c of b64) { + let n = m[c.charCodeAt(0)]; + if (n == -1) break; + val = (val << 6) + n; + bits += 6; + for (; bits >= 0; bits -= 8) + data.push((val >> bits) & 0xFF); + } + return new Uint8Array(data); +} + +Uint8Array.prototype.toBase64 = function () { + const m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + let b64 = '', val = 0, bits = -6; + for (const b of this) { + val = (val << 8) + b; + bits += 8; + while (bits >= 0) { + b64 += m[(val >> bits) & 0x3F]; + bits -= 6; + } + } + if (bits > -6) + b64 += m[(val << -bits) & 0x3F]; + return b64 + ['', '', '==', '='][b64.length % 4]; +} + +Uint8Array.prototype.decode = function (encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return decodeUTF8(this); + } + return null; +} + +String.prototype.encode = function (encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return encodeUTF8(this); + } + return null; +} + +String.decode = function (data, encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return decodeUTF8(data); + } + return null; +} + +function decodeUTF8(data) { + const codes = []; + for (let i = 0; i < data.length;) { + const c = data[i++]; + const len = (c > 0xBF) + (c > 0xDF) + (c > 0xEF); + let val = c & (0xFF >> (len + 1)); + for (const end = i + len; i < end; i++) { + val = (val << 6) + (data[i] & 0x3F); + } + codes.push(val); + } + return String.fromCharCode(...codes); +} + +function encodeUTF8(string) { + const data = []; + for (const c of string) { + const code = c.charCodeAt(0); + const len = (code > 0x7F) + (code > 0x7FF) + (code > 0xFFFF); + let bits = len * 6; + + data.push((len ? ~(0xFF >> len + 1) : (0)) + (code >> bits)); + while (bits > 0) { + data.push(0x80 + ((code >> (bits -= 6)) & 0x3F)) + } + } + return new Uint8Array(data); +} + +function getRandomString(length) { + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; + let result = ""; + for (let i = 0; i < length; i++) { + const random = Math.floor(Math.random() * 61); + result += chars[random]; + } + return result; +} + +function absUrl(url, base) { + if (url.search(/^\w+:\/\//) == 0) { + return url; + } else if (url.startsWith('/')) { + return base.slice(0, base.lastIndexOf('/')) + url; + } else { + return base.slice(0, base.lastIndexOf('/') + 1) + url; + } +} \ No newline at end of file diff --git a/javascript/anime/src/es/tioanime.js b/javascript/anime/src/es/tioanime.js new file mode 100644 index 00000000..729e30a2 --- /dev/null +++ b/javascript/anime/src/es/tioanime.js @@ -0,0 +1,717 @@ +const mangayomiSources = [{ + "name": "TioAnime", + "lang": "es", + "baseUrl": "https://tioanime.com", + "apiUrl": "", + "iconUrl": "https://tioanime.com/assets/img/tio_fb.jpg", + "typeSource": "single", + "isManga": false, + "version": "0.1.0", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "anime/src/es/tioanime.js" +}]; + +class DefaultExtension extends MProvider { + constructor () { + super(); + this.client = new Client(); + } + getHeaders(url) { + throw new Error("getHeaders not implemented"); + } + async parseAnimeList(url) { + const res = await this.client.get(url); + const doc = new Document(res.body); + const elements = doc.select("ul.animes > li"); + const list = []; + + for (const element of elements) { + const name = element.selectFirst(".title").text; + const imageUrl = this.source.baseUrl + element.selectFirst("img").getSrc; + const link = element.selectFirst("a").getHref; + list.push({ name, imageUrl, link }); + } + const hasNextPage = doc.selectFirst("li.page-item.active + li").text == "»"; + return { "list": list, "hasNextPage": hasNextPage }; + } + statusFromString(status) { + return { + "En emision": 0, + "Finalizado": 1 + }[status] ?? 5; + } + async getPopular(page) { + return this.parseAnimeList(`${this.source.baseUrl}/directorio?p=${page}`); + } + async getLatestUpdates(page) { + return this.parseAnimeList(`${this.source.baseUrl}/directorio?p=${page}`); + } + async search(query, page, filters) { + query = query.trim().replaceAll(/\ +/g, "+"); + let url = `${this.source.baseUrl}/directorio?q=${query}&p=${page}`; + return this.parseAnimeList(url); + } + async getDetail(url) { + const res = await this.client.get(this.source.baseUrl + url); + const doc = new Document(res.body); + const detail = {}; + + const info = doc.selectFirst("article.anime-single"); + const episodeCount = parseInt(/episodes = \[(\d+)/.exec(doc.select("script").pop().innerHtml)[1]); + const episodeUrl = url.replace("/anime", "/ver") + "-"; + + detail.name = info.selectFirst("h1").text; + detail.status = this.statusFromString(info.selectFirst("a").text); + detail.imageUrl = this.source.baseUrl + info.selectFirst("img").getSrc; + detail.description = info.selectFirst("p.sinopsis").text.trim(); + detail.genre = info.select("p.genres a").map(e => e.text.trim()); + detail.episodes = []; + for (let i = 0; i < episodeCount; i++) { + const name = `Episodio ${i + 1}`; + const url = episodeUrl + (i + 1); + detail.episodes.push({ name, url }); + } + detail.episodes.reverse(); + return detail; + } + // For anime episode video list + async getVideoList(url) { + const res = await this.client.get(this.source.baseUrl + url); + const doc = new Document(res.body); + let promises = []; + const videos = []; + + // get type + const type = /\blatino\b/i.test(url) ? 'Dub' : 'Sub'; + + // get links + const raws = [...doc.select("script").pop().innerHtml.matchAll(/\[".*?\]/g)]; + + // extract videos + for (const raw of raws) { + const data = JSON.parse(raw[0]); + const host = data[0]; + const link = data[1]; + promises.push(extractAny(link, host.toLowerCase(), 'Español', type, host)); + } + for (const p of (await Promise.allSettled(promises))) { + if (p.status == 'fulfilled') { + videos.push.apply(videos, p.value); + } + } + return sortVideos(videos); + } + getFilterList() { + throw new Error("getFilterList not implemented"); + } + getSourcePreferences() { + return [ + { + key: 'lang', + listPreference: { + title: 'Preferred Language', + summary: 'If available, this language will be chosen by default. Priority = 0 (lower is better)', + valueIndex: 0, + entries: [ + 'Español' + ], + entryValues: [ + 'Español' + ] + } + }, + { + key: 'type', + listPreference: { + title: 'Preferred Type', + summary: 'If available, this type will be chosen by default. Priority = 1 (lower is better)', + valueIndex: 0, + entries: [ + 'Sub' + ], + entryValues: [ + 'Sub' + ] + } + }, + { + key: 'res', + listPreference: { + title: 'Preferred Resolution', + summary: 'If available, this resolution will be chosen by default. Priority = 2 (lower is better)', + valueIndex: 0, + entries: [ + '1080p', + '720p', + '480p' + ], + entryValues: [ + '1080p', + '720p', + '480p' + ] + } + }, + { + key: 'host', + listPreference: { + title: 'Preferred Hoster', + summary: 'If available, this hoster will be chosen by default. Priority = 3 (lower is better)', + valueIndex: 0, + entries: [ + 'Okru', + 'VidGuard', + 'Voe', + 'YourUpload' + ], + entryValues: [ + 'Okru', + 'VidGuard', + 'Voe', + 'YourUpload' + ] + } + } + ]; + } +} + +/*************************************************************************************************** +* +* mangayomi-js-helpers v1.0 +* +* # Video Extractors +* - vidGuardExtractor +* - doodExtractor +* - vidozaExtractor +* - okruExtractor +* - amazonExtractor +* - vidHideExtractor +* - filemoonExtractor +* - mixdropExtractor +* - burstcloudExtractor (not working, see description) +* +* # Video Extractor Format Wrappers +* - streamWishExtractor +* - voeExtractor +* - mp4UploadExtractor +* - yourUploadExtractor +* - streamTapeExtractor +* - sendVidExtractor +* +* # Video Extractor helpers +* - extractAny +* +* # Playlist Extractors +* - m3u8Extractor +* - jwplayerExtractor +* +* # Extension +* - sortVideos() +* +* # Encoding/Decoding +* - Uint8Array.fromBase64() +* - Uint8Array.prototype.toBase64() +* - Uint8Array.prototype.decode() +* - String.prototype.encode() +* - String.prototype.decode() +* +* # Random string +* - getRandomString() +* +* # URL +* - absUrl() +* +***************************************************************************************************/ + +async function vidGuardExtractor(url) { + // get html + const res = await new Client().get(url); + const doc = new Document(res.body); + const script = doc.selectFirst('script:contains(eval)'); + + // eval code + const code = script.text; + eval?.('var window = {};'); + eval?.(code); + const playlistUrl = globalThis.window.svg.stream; + + // decode sig + const encoded = playlistUrl.match(/sig=(.*?)&/)[1]; + const charCodes = []; + + for (let i = 0; i < encoded.length; i += 2) { + charCodes.push(parseInt(encoded.slice(i, i + 2), 16) ^ 2); + } + + let decoded = Uint8Array.fromBase64( + String.fromCharCode(...charCodes)) + .slice(5, -5) + .reverse(); + + for (let i = 0; i < decoded.length; i += 2) { + let tmp = decoded[i]; + decoded[i] = decoded[i + 1]; + decoded[i + 1] = tmp; + } + + decoded = decoded.decode(); + return await m3u8Extractor(playlistUrl.replace(encoded, decoded), null); +} + +async function doodExtractor(url) { + const dartClient = new Client({ 'useDartHttpClient': true, "followRedirects": false }); + let response = await dartClient.get(url); + while ("location" in response.headers) { + response = await dartClient.get(response.headers.location); + } + const newUrl = response.request.url; + const doodhost = newUrl.match(/https:\/\/(.*?)\//, newUrl)[0].slice(8, -1); + const md5 = response.body.match(/'\/pass_md5\/(.*?)',/, newUrl)[0].slice(11, -2); + const token = md5.substring(md5.lastIndexOf("/") + 1); + const expiry = new Date().valueOf(); + const randomString = getRandomString(10); + + response = await new Client().get(`https://${doodhost}/pass_md5/${md5}`, { "Referer": newUrl }); + const videoUrl = `${response.body}${randomString}?token=${token}&expiry=${expiry}`; + const headers = { "User-Agent": "Mangayomi", "Referer": doodhost }; + return [{ url: videoUrl, originalUrl: videoUrl, headers: headers, quality: '' }]; +} + +async function vidozaExtractor(url) { + let response = await new Client({ 'useDartHttpClient': true, "followRedirects": true }).get(url); + const videoUrl = response.body.match(/https:\/\/\S*\.mp4/)[0]; + return [{ url: videoUrl, originalUrl: videoUrl, quality: '' }]; +} + +async function okruExtractor(url) { + const res = await new Client().get(url); + const doc = new Document(res.body); + const tag = doc.selectFirst('div[data-options]'); + const playlistUrl = tag.attr('data-options').match(/hlsManifestUrl.*?(h.*?id=\d+)/)[1].replaceAll('\\\\u0026', '&'); + return await m3u8Extractor(playlistUrl, null); +} + +async function amazonExtractor(url) { + const res = await new Client().get(url); + const doc = new Document(res.body); + const videoUrl = doc.selectFirst('video').getSrc; + return videoUrl ? [{ url: videoUrl, originalUrl: videoUrl, headers: null, quality: '' }] : []; +} + +async function vidHideExtractor(url) { + const res = await new Client().get(url); + return await jwplayerExtractor(res.body); +} + +async function filemoonExtractor(url) { + let res = await new Client().get(url); + const src = res.body.match(/iframe src="(.*?)"/)?.[1]; + if (src) { + res = await new Client().get(src, { + 'Referer': url, + 'Accept-Language': 'de,en-US;q=0.7,en;q=0.3' + }); + } + return await jwplayerExtractor(res.body); +} + +async function mixdropExtractor(url) { + headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'}; + let res = await new Client({ 'useDartHttpClient': true, "followRedirects": false }).get(url, headers); + while ("location" in res.headers) { + res = await new Client({ 'useDartHttpClient': true, "followRedirects": false }).get(res.headers.location, headers); + } + const newUrl = res.request.url; + let doc = new Document(res.body); + + const code = doc.selectFirst('script:contains(MDCore):contains(eval)').text; + const unpacked = unpackJs(code); + let videoUrl = unpacked.match(/wurl="(.*?)"/)?.[1]; + + if (!videoUrl) return []; + + videoUrl = 'https:' + videoUrl; + headers.referer = newUrl; + + return [{url: videoUrl, originalUrl: videoUrl, quality: '', headers: headers}]; +} + +/** Does not work: Client always sets 'charset=utf-8' in Content-Type. */ +async function burstcloudExtractor(url) { + let client = new Client(); + let res = await client.get(url); + + const id = res.body.match(/data-file-id="(.*?)"/)[1]; + const headers = { + "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", + 'Referer': url, + }; + const data = { + 'fileId': id + }; + + res = await client.post(`https://www.burstcloud.co/file/play-request/`, headers, data); + const videoUrl = res.body.match(/cdnUrl":"(.*?)"/)[1]; + return [{ + url: videoUrl, + originalUrl: videoUrl, + headers: { 'Referer': url.match(/.*?:\/\/.*?\//) }, + quality: '' + }]; +} + +_streamWishExtractor = streamWishExtractor; +streamWishExtractor = async (url) => { + return (await _streamWishExtractor(url, '')).map(v => { + v.quality = v.quality.slice(3, -1); + return v; + }); +} + +_voeExtractor = voeExtractor; +voeExtractor = async (url) => { + return (await _voeExtractor(url, '')).map(v => { + v.quality = v.quality.replace(/Voe: (\d+p?)/i, '$1'); + return v; + }); +} + +_mp4UploadExtractor = mp4UploadExtractor; +mp4UploadExtractor = async (url) => { + return (await _mp4UploadExtractor(url)).map(v => { + v.quality = v.quality.match(/\d+p/)?.[0] ?? ''; + return v; + }); +} + +_yourUploadExtractor = yourUploadExtractor; +yourUploadExtractor = async (url) => { + return (await _yourUploadExtractor(url)) + .filter(v => !v.url.includes('/novideo')) + .map(v => { + v.quality = ''; + return v; + }); +} + +_streamTapeExtractor = streamTapeExtractor; +streamTapeExtractor = async (url) => { + return await _streamTapeExtractor(url, ''); +} + +_sendVidExtractor = sendVidExtractor; +sendVidExtractor = async (url) => { + let res = await new Client().get(url); + var videoUrl, quality; + try { + videoUrl = res.body.match(/og:video" content="(.*?\.mp4.*?)"/)[1]; + quality = res.body.match(/og:video:height" content="(.*?)"/)?.[1]; + quality = quality ? quality + 'p' : ''; + } catch (error) { + + } + if (!videoUrl) { + return _sendVidExtractor(url, null, ''); + } + return [{url: videoUrl, originalUrl: videoUrl, quality: quality, headers: null}]; +} + +async function extractAny(url, method, lang, type, host) { + const m = extractAny.methods[method]; + return (!m) ? [] : (await m(url)).map(v => { + v.quality = v.quality ? `${lang} ${type} ${v.quality} ${host}` : `${lang} ${type} ${host}`; + return v; + }); +}; + +extractAny.methods = { + 'amazon': amazonExtractor, + 'burstcloud': burstcloudExtractor, + 'doodstream': doodExtractor, + 'filemoon': filemoonExtractor, + 'mixdrop': mixdropExtractor, + 'mp4upload': mp4UploadExtractor, + 'okru': okruExtractor, + 'sendvid': sendVidExtractor, + 'streamtape': streamTapeExtractor, + 'streamwish': vidHideExtractor, + 'vidguard': vidGuardExtractor, + 'vidhide': vidHideExtractor, + 'vidoza': vidozaExtractor, + 'voe': voeExtractor, + 'yourupload': yourUploadExtractor +}; + +async function m3u8Extractor(url, headers = null) { + // https://developer.apple.com/documentation/http-live-streaming/creating-a-multivariant-playlist + // https://developer.apple.com/documentation/http-live-streaming/adding-alternate-media-to-a-playlist + // define attribute lists + const streamAttributes = [ + ['avg_bandwidth', /AVERAGE-BANDWIDTH=(\d+)/], + ['bandwidth', /\bBANDWIDTH=(\d+)/], + ['resolution', /\bRESOLUTION=([\dx]+)/], + ['framerate', /\bFRAME-RATE=([\d\.]+)/], + ['codecs', /\bCODECS="(.*?)"/], + ['video', /\bVIDEO="(.*?)"/], + ['audio', /\bAUDIO="(.*?)"/], + ['subtitles', /\bSUBTITLES="(.*?)"/], + ['captions', /\bCLOSED-CAPTIONS="(.*?)"/] + ]; + const mediaAttributes = [ + ['type', /\bTYPE=([\w-]*)/], + ['group', /\bGROUP-ID="(.*?)"/], + ['lang', /\bLANGUAGE="(.*?)"/], + ['name', /\bNAME="(.*?)"/], + ['autoselect', /\bAUTOSELECT=(\w*)/], + ['default', /\bDEFAULT=(\w*)/], + ['instream-id', /\bINSTREAM-ID="(.*?)"/], + ['assoc-lang', /\bASSOC-LANGUAGE="(.*?)"/], + ['channels', /\bCHANNELS="(.*?)"/], + ['uri', /\bURI="(.*?)"/] + ]; + const streams = [], videos = {}, audios = {}, subtitles = {}, captions = {}; + const dict = { 'VIDEO': videos, 'AUDIO': audios, 'SUBTITLES': subtitles, 'CLOSED-CAPTIONS': captions }; + + const res = await new Client().get(url, headers); + const text = res.body; + + // collect media + for (const match of text.matchAll(/#EXT-X-MEDIA:(.*)/g)) { + const info = match[1], medium = {}; + for (const attr of mediaAttributes) { + const m = info.match(attr[1]); + medium[attr[0]] = m ? m[1] : null; + } + + const type = medium.type; + delete medium.type; + const group = medium.group; + delete medium.group; + + const typedict = dict[type]; + if (typedict[group] == undefined) + typedict[group] = []; + typedict[group].push(medium); + } + + // collect streams + for (const match of text.matchAll(/#EXT-X-STREAM-INF:(.*)\s*(.*)/g)) { + const info = match[1], stream = { 'url': absUrl(match[2], url) }; + for (const attr of streamAttributes) { + const m = info.match(attr[1]); + stream[attr[0]] = m ? m[1] : null; + } + + stream['video'] = videos[stream.video] ?? null; + stream['audio'] = audios[stream.audio] ?? null; + stream['subtitles'] = subtitles[stream.subtitles] ?? null; + stream['captions'] = captions[stream.captions] ?? null; + + // format resolution or bandwidth + let quality; + if (stream.resolution) { + quality = stream.resolution.match(/x(\d+)/)[1] + 'p'; + } else { + quality = (parseInt(stream.avg_bandwidth ?? stream.bandwidth) / 1000000) + 'Mb/s' + } + + // add stream to list + const subs = stream.subtitles?.map((s) => { + return { file: s.uri, label: s.name }; + }); + const auds = stream.audio?.map((a) => { + return { file: a.uri, label: a.name }; + }); + streams.push({ + url: stream.url, + quality: quality, + originalUrl: stream.url, + headers: headers, + subtitles: subs ?? null, + audios: auds ?? null + }); + } + return streams.length ? streams : [{ + url: url, + quality: '', + originalUrl: url, + headers: headers, + subtitles: null, + audios: null + }]; +} + +async function jwplayerExtractor(text, headers) { + // https://docs.jwplayer.com/players/reference/playlists + const getsetup = /setup\(({[\s\S]*?})\)/; + const getsources = /sources:\s*(\[[\s\S]*?\])/; + const gettracks = /tracks:\s*(\[[\s\S]*?\])/; + const unpacked = unpackJs(text); + + const videos = [], subtitles = []; + + const data = eval('(' + (getsetup.exec(text) || getsetup.exec(unpacked))?.[1] + ')'); + + if (data){ + var sources = data.sources; + var tracks = data.tracks; + } else { + var sources = eval('(' + (getsources.exec(text) || getsources.exec(unpacked))?.[1] + ')'); + var tracks = eval('(' + (gettracks.exec(text) || gettracks.exec(unpacked))?.[1] + ')'); + } + for (t of tracks) { + if (t.type == "captions") { + subtitles.push({file: t.file, label: t.label}); + } + } + for (s of sources) { + if (s.file.includes('master.m3u8')) { + videos.push(...(await m3u8Extractor(s.file, headers))); + } else if (s.file.includes('.mpd')) { + + } else { + videos.push({url: s.file, originalUrl: s.file, quality: '', headers: headers}); + } + } + return videos.map(v => { + v.subtitles = subtitles; + return v; + }); +} + +function sortVideos(videos) { + const pref = new SharedPreferences(); + const getres = RegExp('(\\d+)p?', 'i'); + const lang = RegExp(pref.get('lang'), 'i'); + const type = RegExp(pref.get('type'), 'i'); + const res = RegExp(getres.exec(pref.get('res'))[1], 'i'); + const host = RegExp(pref.get('host'), 'i'); + + let getScore = (q, hasRes) => { + const bLang = lang.test(q), bType = type.test(q), bRes = res.test(q), bHost = host.test(q); + if (hasRes) { + return bLang * (8 + bType * (4 + bRes * (2 + bHost * 1))); + } else { + return bLang * (8 + bType * (4 + (bHost * 3))); + } + } + + return videos.sort((a, b) => { + const resA = getres.exec(a.quality)?.[1]; + const resB = getres.exec(b.quality)?.[1]; + const score = getScore(b.quality, resB) - getScore(a.quality, resA); + + if (score) return score; + + const qA = resA ? a.quality.replace(resA, (9999 - parseInt(resA)).toString()) : a.quality; + const qB = resA ? b.quality.replace(resB, (9999 - parseInt(resB)).toString()) : b.quality; + + return qA.localeCompare(qB); + }); +} + +Uint8Array.fromBase64 = function (b64) { + // [00,01,02,03,04,05,06,07,08,\t,\n,0b,0c,\r,0e,0f,10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,' ', !, ", #, $, %, &, ', (, ), *, +,',', -, ., /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, <,'=', >, ?, @,A,B,C,D,E,F,G,H,I,J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~,7f] + const m = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 62, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1] + let data = [], val = 0, bits = -8 + for (const c of b64) { + let n = m[c.charCodeAt(0)]; + if (n == -1) break; + val = (val << 6) + n; + bits += 6; + for (; bits >= 0; bits -= 8) + data.push((val >> bits) & 0xFF); + } + return new Uint8Array(data); +} + +Uint8Array.prototype.toBase64 = function () { + const m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + let b64 = '', val = 0, bits = -6; + for (const b of this) { + val = (val << 8) + b; + bits += 8; + while (bits >= 0) { + b64 += m[(val >> bits) & 0x3F]; + bits -= 6; + } + } + if (bits > -6) + b64 += m[(val << -bits) & 0x3F]; + return b64 + ['', '', '==', '='][b64.length % 4]; +} + +Uint8Array.prototype.decode = function (encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return decodeUTF8(this); + } + return null; +} + +String.prototype.encode = function (encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return encodeUTF8(this); + } + return null; +} + +String.decode = function (data, encoding = 'utf-8') { + encoding = encoding.toLowerCase(); + if (encoding == 'utf-8') { + return decodeUTF8(data); + } + return null; +} + +function decodeUTF8(data) { + const codes = []; + for (let i = 0; i < data.length;) { + const c = data[i++]; + const len = (c > 0xBF) + (c > 0xDF) + (c > 0xEF); + let val = c & (0xFF >> (len + 1)); + for (const end = i + len; i < end; i++) { + val = (val << 6) + (data[i] & 0x3F); + } + codes.push(val); + } + return String.fromCharCode(...codes); +} + +function encodeUTF8(string) { + const data = []; + for (const c of string) { + const code = c.charCodeAt(0); + const len = (code > 0x7F) + (code > 0x7FF) + (code > 0xFFFF); + let bits = len * 6; + + data.push((len ? ~(0xFF >> len + 1) : (0)) + (code >> bits)); + while (bits > 0) { + data.push(0x80 + ((code >> (bits -= 6)) & 0x3F)) + } + } + return new Uint8Array(data); +} + +function getRandomString(length) { + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; + let result = ""; + for (let i = 0; i < length; i++) { + const random = Math.floor(Math.random() * 61); + result += chars[random]; + } + return result; +} + +function absUrl(url, base) { + if (url.search(/^\w+:\/\//) == 0) { + return url; + } else if (url.startsWith('/')) { + return base.slice(0, base.lastIndexOf('/')) + url; + } else { + return base.slice(0, base.lastIndexOf('/') + 1) + url; + } +} \ No newline at end of file diff --git a/javascript/anime/src/zh/wogg.js b/javascript/anime/src/zh/wogg.js new file mode 100644 index 00000000..20112134 --- /dev/null +++ b/javascript/anime/src/zh/wogg.js @@ -0,0 +1,218 @@ +const mangayomiSources = [{ + "name": "玩偶哥哥", + "lang": "zh", + "baseUrl": "https://www.wogg.net", + "apiUrl": "", + "iconUrl": "https://imgsrc.baidu.com/forum/pic/item/4b90f603738da977d5da660af651f8198618e31f.jpg", + "typeSource": "single", + "isManga": false, + "isNsfw": false, + "version": "0.0.2", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "anime/src/zh/wogg.js" +}]; +class DefaultExtension extends MProvider { + patternQuark = /(https:\/\/pan\.quark\.cn\/s\/[^"]+)/; + patternUc = /(https:\/\/drive\.uc\.cn\/s\/[^"]+)/; + getHeaders(url) { + throw new Error("getHeaders not implemented"); + } + async getPopular(page) { + const baseUrl = new SharedPreferences().get("url"); + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl, { "Referer": baseUrl }); + const elements = new Document(response.body).select("div.module-item"); + const list = []; + for (const element of elements) { + let oneA = element.selectFirst('.module-item-cover .module-item-pic a'); + const name = oneA.attr("title"); + const imageUrl = element.selectFirst(".module-item-cover .module-item-pic img").attr("data-src"); + const link = oneA.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: false + } + } + async getLatestUpdates(page) { + const baseUrl = new SharedPreferences().get("url"); + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl + `/vodshow/1--------${page}---.html`, { "Referer": baseUrl }); + const elements = new Document(response.body).select("div.module-item"); + const list = []; + for (const element of elements) { + let oneA = element.selectFirst('.module-item-cover .module-item-pic a'); + const name = oneA.attr("title"); + const imageUrl = element.selectFirst(".module-item-cover .module-item-pic img").attr("data-src"); + const link = oneA.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: true + } + } + async search(query, page, filters) { + const baseUrl = new SharedPreferences().get("url"); + if (query == "") { + var categories; + for (const filter of filters) { + if (filter["type"] == "categories") { + categories = filter["values"][filter["state"]]["value"]; + } + } + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl + `/vodshow/${categories}--------${page}---.html`, { "Referer": baseUrl }); + const elements = new Document(response.body).select("div.module-item"); + const list = []; + for (const element of elements) { + let oneA = element.selectFirst('.module-item-cover .module-item-pic a'); + const name = oneA.attr("title"); + const imageUrl = element.selectFirst(".module-item-cover .module-item-pic img").attr("data-src"); + const link = oneA.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: true + } + } else { + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl + `/vodsearch/${query}----------${page}---.html`, { "Referer": baseUrl }); + const elements = new Document(response.body).select(".module-search-item"); + const list = []; + for (const element of elements) { + let oneA = element.selectFirst('.video-info .video-info-header a'); + const name = oneA.attr("title"); + const imageUrl = element.selectFirst(".video-cover .module-item-cover .module-item-pic img").attr("data-src"); + const link = oneA.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: true + } + } + } + async getDetail(url) { + const baseUrl = new SharedPreferences().get("url"); + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl + url, { "Referer": baseUrl }); + const document = new Document(response.body); + const imageUrl = document.selectFirst("div.video-cover .module-item-cover .module-item-pic img").attr("data-src"); + const name = document.selectFirst("div.video-info .video-info-header h1").text; + const description = document.selectFirst("div.video-info .video-info-content").text.replace("[收起部分]", "").replace("[展开全部]", ""); + const type_name = "电影"; + let quark_share_url_list = [], uc_share_url_list = [] + const share_url_list = document.select("div.module-row-one .module-row-info") + .map(e => { + const url = e.selectFirst(".module-row-title p").text; + const quarkMatches = url.match(this.patternQuark); + + if (quarkMatches && quarkMatches[1]) { + quark_share_url_list.push(quarkMatches[1]); + } + const ucMatches = url.match(this.patternUc); + if (ucMatches && ucMatches[1]) { + uc_share_url_list.push(ucMatches[1]); + } + return null; + }) + .filter(url => url !== null); + let quark_episodes = await quarkFilesExtractor(quark_share_url_list, new SharedPreferences().get("quarkCookie")); + let uc_episodes = await ucFilesExtractor(uc_share_url_list, new SharedPreferences().get("ucCookie")); + let episodes = [...quark_episodes, ...uc_episodes]; + return { + name, imageUrl, description, episodes + }; + } + // For anime episode video list + async getVideoList(url) { + const videos = []; + const parts = url.split('++'); + const type = parts[0].toLowerCase(); + + let vids; + if (type === 'quark') { + let cookie = new SharedPreferences().get("quarkCookie"); + if (cookie == "") { + throw new Error("请先在本扩展设置中填写夸克Cookies, 需要夸克VIP账号 \n Please fill in the Quark Cookies in this extension settings first, you need a Quark VIP account"); + } else { + vids = await quarkVideosExtractor(url, cookie); + } + } else if (type === 'uc') { + let cookie = new SharedPreferences().get("ucCookie"); + if (cookie == "") { + throw new Error("请先在本扩展设置中填写UC云盘Cookies \n Please fill in the UC Cloud Cookies in this extension settings first"); + } else { + vids = await ucVideosExtractor(url, cookie); + } + } else { + throw new Error("不支持的链接类型"); + } + + for (const vid of vids) { + videos.push(vid); + } + return videos; + } + getFilterList() { + return [{ + type: "categories", + name: "影片類型", + type_name: "SelectFilter", + values: [ + { type_name: "SelectOption", value: "1", name: "电影" }, + { type_name: "SelectOption", value: "2", name: "剧集" }, + { type_name: "SelectOption", value: "3", name: "动漫" }, + { type_name: "SelectOption", value: "4", name: "综艺" }, + { type_name: "SelectOption", value: "5", name: "音乐" }, + { type_name: "SelectOption", value: "6", name: "短剧" }, + { type_name: "SelectOption", value: "44", name: "臻彩视界" } + ] + }]; + } + getSourcePreferences() { + return [ + { + "key": "quarkCookie", + "editTextPreference": { + "title": "夸克Cookies", + "summary": "填写获取到的夸克Cookies", + "value": "", + "dialogTitle": "Cookies", + "dialogMessage": "", + } + }, + { + "key": "ucCookie", + "editTextPreference": { + "title": "UC云盘Cookies", + "summary": "填写获取到的UC云盘Cookies", + "value": "", + "dialogTitle": "Cookies", + "dialogMessage": "", + } + }, + { + "key": "url", + "listPreference": { + "title": "Website Url", + "summary": "", + "valueIndex": 0, + "entries": [ + "wogg.net", + "wogg.xxooo.cf", + "wogg.888484.xyz", + "wogg.bf", + "wogg.333232.xyz" + ], + "entryValues": [ + "https://www.wogg.net", + "https://wogg.xxooo.cf", + "https://wogg.888484.xyz", + "https://www.wogg.bf", + "https://wogg.333232.xyz" + ], + } + } + ]; + } +} diff --git a/javascript/anime/src/zh/yydsys.js b/javascript/anime/src/zh/yydsys.js new file mode 100644 index 00000000..bcfc74f7 --- /dev/null +++ b/javascript/anime/src/zh/yydsys.js @@ -0,0 +1,211 @@ +const mangayomiSources = [{ + "name": "多多影音", + "lang": "zh", + "baseUrl": "https://tv.yydsys.top", + "apiUrl": "", + "iconUrl": "https://tv.yydsys.top/template/DYXS2/static/picture/logo.png", + "typeSource": "single", + "isManga": false, + "isNsfw": false, + "version": "0.0.2", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "anime/src/zh/yydsys.js" +}]; +class DefaultExtension extends MProvider { + patternQuark = /(https:\/\/pan\.quark\.cn\/s\/[^"]+)/; + patternUc = /(https:\/\/drive\.uc\.cn\/s\/[^"]+)/; + getHeaders(url) { + throw new Error("getHeaders not implemented"); + } + async getPopular(page) { + const baseUrl = new SharedPreferences().get("url"); + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl, { "Referer": baseUrl }); + const elements = new Document(response.body).select("div.module-item"); + const list = []; + for (const element of elements) { + let oneA = element.selectFirst('.module-item-cover .module-item-pic a'); + const name = oneA.attr("title"); + const imageUrl = element.selectFirst(".module-item-cover .module-item-pic img").attr("data-src"); + const link = oneA.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: false + } + } + async getLatestUpdates(page) { + const baseUrl = new SharedPreferences().get("url"); + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl + `/index.php/vod/show/id/1/page/${page}.html`, { "Referer": baseUrl }); + const elements = new Document(response.body).select("div.module-item"); + const list = []; + for (const element of elements) { + let oneA = element.selectFirst('.module-item-cover .module-item-pic a'); + const name = oneA.attr("title"); + const imageUrl = element.selectFirst(".module-item-cover .module-item-pic img").attr("data-src"); + const link = oneA.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: true + } + } + async search(query, page, filters) { + const baseUrl = new SharedPreferences().get("url"); + if (query == "") { + var categories; + for (const filter of filters) { + if (filter["type"] == "categories") { + categories = filter["values"][filter["state"]]["value"]; + } + } + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl + `/index.php/vod/show/id/${categories}/page/${page}.html`, { "Referer": baseUrl }); + const elements = new Document(response.body).select("div.module-item"); + const list = []; + for (const element of elements) { + let oneA = element.selectFirst('.module-item-cover .module-item-pic a'); + const name = oneA.attr("title"); + const imageUrl = element.selectFirst(".module-item-cover .module-item-pic img").attr("data-src"); + const link = oneA.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: true + } + } else { + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl + `/index.php/vod/search/page/${page}/wd/${query}.html`, { "Referer": baseUrl }); + const elements = new Document(response.body).select(".module-search-item"); + const list = []; + for (const element of elements) { + let oneA = element.selectFirst('.video-info .video-info-header a'); + const name = oneA.attr("title"); + const imageUrl = element.selectFirst(".video-cover .module-item-cover .module-item-pic img").attr("data-src"); + const link = oneA.attr("href"); + list.push({ name, imageUrl, link }); + } + return { + list: list, + hasNextPage: true + } + } + } + async getDetail(url) { + const baseUrl = new SharedPreferences().get("url"); + const response = await new Client({ 'useDartHttpClient': true }).get(baseUrl + url, { "Referer": baseUrl }); + const document = new Document(response.body); + const imageUrl = document.selectFirst("div.video-cover .module-item-cover .module-item-pic img").attr("data-src"); + const name = document.selectFirst("div.video-info .video-info-header h1").text; + const description = document.selectFirst("div.video-info .video-info-content").text.replace("[收起部分]", "").replace("[展开全部]", ""); + const type_name = "电影"; + let quark_share_url_list = [], uc_share_url_list = [] + const share_url_list = document.select("div.module-row-one .module-row-info") + .map(e => { + const url = e.selectFirst(".module-row-title p").text; + const quarkMatches = url.match(this.patternQuark); + + if (quarkMatches && quarkMatches[1]) { + quark_share_url_list.push(quarkMatches[1]); + } + const ucMatches = url.match(this.patternUc); + if (ucMatches && ucMatches[1]) { + uc_share_url_list.push(ucMatches[1]); + } + return null; + }) + .filter(url => url !== null); + let quark_episodes = await quarkFilesExtractor(quark_share_url_list, new SharedPreferences().get("quarkCookie")); + let uc_episodes = await ucFilesExtractor(uc_share_url_list, new SharedPreferences().get("ucCookie")); + let episodes = [...quark_episodes, ...uc_episodes]; + return { + name, imageUrl, description, episodes + }; + } + // For anime episode video list + async getVideoList(url) { + const videos = []; + const parts = url.split('++'); + const type = parts[0].toLowerCase(); + + let vids; + if (type === 'quark') { + let cookie = new SharedPreferences().get("quarkCookie"); + if (cookie == "") { + throw new Error("请先在本扩展设置中填写夸克Cookies, 需要夸克VIP账号 \n Please fill in the Quark Cookies in this extension settings first, you need a Quark VIP account"); + } else { + vids = await quarkVideosExtractor(url, cookie); + } + } else if (type === 'uc') { + let cookie = new SharedPreferences().get("ucCookie"); + if (cookie == "") { + throw new Error("请先在本扩展设置中填写UC云盘Cookies \n Please fill in the UC Cloud Cookies in this extension settings first"); + } else { + vids = await ucVideosExtractor(url, cookie); + } + } else { + throw new Error("不支持的链接类型"); + } + + for (const vid of vids) { + videos.push(vid); + } + return videos; + } + getFilterList() { + return [{ + type: "categories", + name: "影片類型", + type_name: "SelectFilter", + values: [ + { type_name: "SelectOption", value: "1", name: "电影" }, + { type_name: "SelectOption", value: "2", name: "剧集" }, + { type_name: "SelectOption", value: "4", name: "动漫" }, + { type_name: "SelectOption", value: "3", name: "综艺" }, + { type_name: "SelectOption", value: "5", name: "短剧" }, + { type_name: "SelectOption", value: "20", name: "纪录片" } + ] + }]; + } + getSourcePreferences() { + return [ + { + "key": "quarkCookie", + "editTextPreference": { + "title": "夸克Cookies", + "summary": "填写获取到的夸克Cookies", + "value": "", + "dialogTitle": "Cookies", + "dialogMessage": "", + } + }, + { + "key": "ucCookie", + "editTextPreference": { + "title": "UC云盘Cookies", + "summary": "填写获取到的UC云盘Cookies", + "value": "", + "dialogTitle": "Cookies", + "dialogMessage": "", + } + }, + { + "key": "url", + "listPreference": { + "title": "Website Url", + "summary": "", + "valueIndex": 0, + "entries": [ + "tv.yydsys.top", + "tv.yydsys.cc", + ], + "entryValues": [ + "https://tv.yydsys.top", + "https://tv.yydsys.cc", + ], + } + } + ]; + } +} diff --git a/javascript/icon/all.netflixmirror.png b/javascript/icon/all.netflixmirror.png new file mode 100644 index 00000000..8731c37d Binary files /dev/null and b/javascript/icon/all.netflixmirror.png differ diff --git a/dart/manga/multisrc/mangareader/src/asurascans/icon.png b/javascript/icon/en.asurascans.png similarity index 100% rename from dart/manga/multisrc/mangareader/src/asurascans/icon.png rename to javascript/icon/en.asurascans.png diff --git a/javascript/manga/src/all/mangafire.js b/javascript/manga/src/all/mangafire.js new file mode 100644 index 00000000..c3befa4d --- /dev/null +++ b/javascript/manga/src/all/mangafire.js @@ -0,0 +1,526 @@ +const mangayomiSources = [{ + "name": "Mangafire", + "langs": ["en", "ja", "fr", "es", "es-la", "pt", "pt-br"], + "baseUrl": "https://mangafire.to", + "apiUrl": "", + "iconUrl": "https://mangafire.to/assets/sites/mangafire/favicon.png?v3", + "typeSource": "single", + "isManga": true, + "version": "0.1.2", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "manga/src/all/mangafire.js" +}]; + +class DefaultExtension extends MProvider { + mangaListFromPage(res) { + const doc = new Document(res.body); + const elements = doc.select("div.unit"); + const list = []; + + for (const element of elements){ + const name = element.selectFirst("div.info > a").text; + const imageUrl = element.selectFirst("img").getSrc; + const link = element.selectFirst("a").getHref; + list.push({name, imageUrl, link}); + } + + const hasNextPage = doc.selectFirst("li.page-item.active + li").text != ""; + return { "list": list, "hasNextPage": hasNextPage }; + } + + statusFromString(status){ + return { + "Releasing": 0, + "Completed": 1, + "On_Hiatus": 2, + "Discontinued": 3, + "Unrealeased": 4, + }[status] ?? 5; + } + + parseDate(date) { + const months = { + "jan": "01", "feb": "02", "mar": "03", "apr": "04", "may": "05", "jun": "06", "jul": "07", "aug": "08", "sep": "09", "oct": "10", "nov": "11", "dec": "12" + }; + date = date.toLowerCase().replace(",", "").split(" "); + + if (!(date[0] in months)) { + return String(new Date().valueOf()) + } + + date[0] = months[date[0]]; + date = [date[2], date[0], date[1]]; + date = date.join("-"); + return String(new Date(date).valueOf()); + } + + async getPopular(page) { + console.log(`${this.source.baseUrl}/filter?keyword=&language=${this.source.lang}&sort=trending&page=${page}`); + const res = await new Client().get(`${this.source.baseUrl}/filter?keyword=&language=${this.source.lang}&sort=trending&page=${page}`); + return this.mangaListFromPage(res); + } + + async getLatestUpdates(page) { + const res = await new Client().get(`${this.source.baseUrl}/filter?keyword=&language=${this.source.lang}&sort=recently_updated&page=${page}`); + return this.mangaListFromPage(res); + } + + async search(query, page, filters) { + query = query.trim().replaceAll(/\ +/g, "+"); + let url = `${this.source.baseUrl}/filter?keyword=${query}`; + + // Search sometimes failed because filters were empty. I experienced this mostly on android... + if (!filters || filters.length == 0) { + const res = await new Client().get(`${url}&language=${this.source.lang}&page=${page}`); + return this.mangaListFromPage(res); + } + + for (const filter of filters[0].state) { + if (filter.state == true) + url += `&type%5B%5D=${filter.value}`; + } + + for (const filter of filters[1].state) { + if (filter.state == 1) + url += `&genre%5B%5D=${filter.value}`; + else if (filter.state == 2) + url += `&genre%5B%5D=-${filter.value}`; + } + + // &genre_mode=and + + for (const filter of filters[2].state) { + if (filter.state == true) + url += `&status%5B%5D=${filter.value}`; + } + + url += `&language=${this.source.lang}`; + url += `&minchap=${filters[3].values[filters[3].state].value}`; + url += `&sort=${filters[4].values[filters[4].state].value}`; + + const res = await new Client().get(`${url}&page=${page}`); + return this.mangaListFromPage(res); + } + + async getDetail(url) { + // get urls + const id = url.split(".").pop(); + const infoUrl = this.source.baseUrl + url; + const chapterUrl = this.source.baseUrl + `/ajax/read/${id}/chapter/${this.source.lang}`; + const detail = {}; + + // request + const idRes = await new Client().get(chapterUrl); + const idDoc = new Document(JSON.parse(idRes.body).result.html); + const infoRes = await new Client().get(infoUrl); + const infoDoc = new Document(infoRes.body); + + // extract info + const info = infoDoc.selectFirst("div.info"); + const sidebar = infoDoc.select("aside.sidebar div.meta div"); + detail.name = info.selectFirst("h1").text; + detail.status = this.statusFromString(info.selectFirst("p").text); + detail.imageUrl = infoDoc.selectFirst("div.poster img").getSrc; + detail.author = sidebar[0].selectFirst("a").text; + detail.description = infoDoc.selectFirst("div#synopsis").text.trim(); + detail.genre = sidebar[2].select("a"); + detail.genre.forEach((e, i) => { + detail.genre[i] = e.text; + }); + + // get chapter + const ids = idDoc.select("a"); + const chapRes = await new Client().get(this.source.baseUrl + `/ajax/manga/${id}/chapter/${this.source.lang}`); + const chapDoc = new Document(JSON.parse(chapRes.body).result); + const chapElements = chapDoc.selectFirst(".scroll-sm").children; + detail.chapters = []; + for (let i = 0; i < ids.length; i++) { + const name = ids[i].text; + const id = ids[i].attr("data-id"); + const url = this.source.baseUrl + `/ajax/read/chapter/${id}`; + let dateUpload; + try { + dateUpload = this.parseDate(chapElements[i].selectFirst("span + span").text); + } catch (_) { + dateUpload = null + } + + detail.chapters.push({ name, url, dateUpload }); + } + return detail; + } + + // For manga chapter pages + async getPageList(url) { + const res = await new Client().get(url); + const data = JSON.parse(res.body); + const pages = []; + data.result.images.forEach(img => { + pages.push(img[0]); + }); + return pages; + } + + getFilterList() { + return [ + { + type_name: "GroupFilter", + name: "Type", + state: [ + { + type_name: "CheckBox", + name: "Manga", + value: "manga" + }, + { + type_name: "CheckBox", + name: "One-Shot", + value: "one_shot" + }, + { + type_name: "CheckBox", + name: "Doujinshi", + value: "doujinshi" + }, + { + type_name: "CheckBox", + name: "Novel", + value: "novel" + }, + { + type_name: "CheckBox", + name: "Manhwa", + value: "manhwa" + }, + { + type_name: "CheckBox", + name: "Manhua", + value: "manhua" + } + ] + }, + { + type_name: "GroupFilter", + name: "Genre", + state: [ + { + type_name: "TriState", + name: "Action", + value: "1" + }, + { + type_name: "TriState", + name: "Adventure", + value: "78" + }, + { + type_name: "TriState", + name: "Avant Garde", + value: "3" + }, + { + type_name: "TriState", + name: "Boys Love", + value: "4" + }, + { + type_name: "TriState", + name: "Comedy", + value: "5" + }, + { + type_name: "TriState", + name: "Demons", + value: "77" + }, + { + type_name: "TriState", + name: "Drama", + value: "6" + }, + { + type_name: "TriState", + name: "Ecchi", + value: "7" + }, + { + type_name: "TriState", + name: "Fantasy", + value: "79" + }, + { + type_name: "TriState", + name: "Girls Love", + value: "9" + }, + { + type_name: "TriState", + name: "Gourmet", + value: "10" + }, + { + type_name: "TriState", + name: "Harem", + value: "11" + }, + { + type_name: "TriState", + name: "Horror", + value: "530" + }, + { + type_name: "TriState", + name: "Isekai", + value: "13" + }, + { + type_name: "TriState", + name: "Iyashikei", + value: "531" + }, + { + type_name: "TriState", + name: "Josei", + value: "15" + }, + { + type_name: "TriState", + name: "Kids", + value: "532" + }, + { + type_name: "TriState", + name: "Magic", + value: "539" + }, + { + type_name: "TriState", + name: "Mahou Shoujo", + value: "533" + }, + { + type_name: "TriState", + name: "Martial Arts", + value: "534" + }, + { + type_name: "TriState", + name: "Mecha", + value: "19" + }, + { + type_name: "TriState", + name: "Military", + value: "535" + }, + { + type_name: "TriState", + name: "Music", + value: "21" + }, + { + type_name: "TriState", + name: "Mystery", + value: "22" + }, + { + type_name: "TriState", + name: "Parody", + value: "23" + }, + { + type_name: "TriState", + name: "Psychological", + value: "536" + }, + { + type_name: "TriState", + name: "Reverse Harem", + value: "25" + }, + { + type_name: "TriState", + name: "Romance", + value: "26" + }, + { + type_name: "TriState", + name: "School", + value: "73" + }, + { + type_name: "TriState", + name: "Sci-Fi", + value: "28" + }, + { + type_name: "TriState", + name: "Seinen", + value: "537" + }, + { + type_name: "TriState", + name: "Shoujo", + value: "30" + }, + { + type_name: "TriState", + name: "Shounen", + value: "31" + }, + { + type_name: "TriState", + name: "Slice of Life", + value: "538" + }, + { + type_name: "TriState", + name: "Space", + value: "33" + }, + { + type_name: "TriState", + name: "Sports", + value: "34" + }, + { + type_name: "TriState", + name: "SuperPower", + value: "75" + }, + { + type_name: "TriState", + name: "Supernatural", + value: "76" + }, + { + type_name: "TriState", + name: "Suspense", + value: "37" + }, + { + type_name: "TriState", + name: "Thriller", + value: "38" + }, + { + type_name: "TriState", + name: "Vampire", + value: "39" + } + ] + }, + { + type_name: "GroupFilter", + name: "Status", + state: [ + { + type_name: "CheckBox", + name: "Releasing", + value: "releasing" + }, + { + type_name: "CheckBox", + name: "Completed", + value: "completed" + }, + { + type_name: "CheckBox", + name: "Hiatus", + value: "on_hiatus" + }, + { + type_name: "CheckBox", + name: "Discontinued", + value: "discontinued" + }, + { + type_name: "CheckBox", + name: "Not Yet Published", + value: "info" + } + ] + }, + { + type_name: "SelectFilter", + type: "length", + name: "Length", + values: [ + { + type_name: "SelectOption", + name: ">= 1 chapters", + value: "1" + }, + { + type_name: "SelectOption", + name: ">= 3 chapters", + value: "3" + }, + { + type_name: "SelectOption", + name: ">= 5 chapters", + value: "5" + }, + { + type_name: "SelectOption", + name: ">= 10 chapters", + value: "10" + }, + { + type_name: "SelectOption", + name: ">= 20 chapters", + value: "20" + }, + { + type_name: "SelectOption", + name: ">= 30 chapters", + value: "30" + }, + { + type_name: "SelectOption", + name: ">= 50 chapters", + value: "50" + } + ], + }, + { + type_name: "SelectFilter", + type: "sort", + name: "Sort", + state: 3, + values: [ + { + type_name: "SelectOption", + name: "Added", + value: "recently_added" + }, + { + type_name: "SelectOption", + name: "Updated", + value: "recently_updated" + }, + { + type_name: "SelectOption", + name: "Trending", + value: "trending" + }, + { + type_name: "SelectOption", + name: "Most Relevance", + value: "most_relevance" + }, + { + type_name: "SelectOption", + name: "Name", + value: "title_az" + } + ], + } + ]; + } + + getSourcePreferences() { + throw new Error("getSourcePreferences not implemented"); + } +} diff --git a/javascript/manga/src/en/asurascans.js b/javascript/manga/src/en/asurascans.js new file mode 100644 index 00000000..a95af2d5 --- /dev/null +++ b/javascript/manga/src/en/asurascans.js @@ -0,0 +1,149 @@ +const mangayomiSources = [{ + "id": 524070078, + "name": "Asura Scans", + "lang": "en", + "baseUrl": "https://asuracomic.net", + "apiUrl": "", + "iconUrl": "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/en.asurascans.png", + "typeSource": "single", + "isManga": true, + "version": "0.1.65", + "dateFormat": "", + "dateFormatLocale": "", + "pkgPath": "manga/src/en/asurascans.js" +}]; + +class DefaultExtension extends MProvider { + getHeaders(url) { + return { + Referer: this.source.baseUrl + }; + } + mangaListFromPage(res) { + const doc = new Document(res.body); + const mangaElements = doc.select("div.grid > a[href]"); + const list = []; + for (const element of mangaElements) { + const name = element.selectFirst("span.block").text; + const imageUrl = element.selectFirst("img").getSrc; + const link = element.getHref; + list.push({ name, imageUrl, link }); + } + const hasNextPage = doc.selectFirst("a.flex.bg-themecolor:contains(Next)").text != ""; + return { "list": list, hasNextPage }; + } + toStatus(status) { + if (status == "Ongoing") + return 0; + else if (status == "Completed") + return 1; + else if (status == "Hiatus") + return 2; + else if (status == "Dropped") + return 3; + else + return 5; + } + parseDate(date) { + const months = { + "january": "01", "february": "02", "march": "03", "april": "04", + "may": "05", "june": "06", "july": "07", "august": "08", + "september": "09", "october": "10", "november": "11", "december": "12" + }; + date = date.toLowerCase().replace(/(st|nd|rd|th)/g, "").split(" "); + if (!(date[0] in months)) { + return String(new Date().valueOf()); + } + date[0] = months[date[0]]; + const formattedDate = `${date[2]}-${date[0]}-${date[1].padStart(2, "0")}`; // Format YYYY-MM-DD + return String(new Date(formattedDate).valueOf()); + } + + async getPopular(page) { + const baseUrl = new SharedPreferences().get("overrideBaseUrl1"); + const res = await new Client().get(`${baseUrl}/series?name=&status=-1&types=-1&order=rating&page=${page}`); + return this.mangaListFromPage(res); + } + + async getLatestUpdates(page) { + const baseUrl = new SharedPreferences().get("overrideBaseUrl1"); + const res = await new Client().get(`${baseUrl}/series?genres=&status=-1&types=-1&order=update&page=${page}`); + return this.mangaListFromPage(res); + } + async search(query, page, filters) { + const baseUrl = new SharedPreferences().get("overrideBaseUrl1"); + const res = await new Client().get(`${baseUrl}/series?name=${query}&page=${page}`); + return this.mangaListFromPage(res); + } + + async getDetail(url) { + const baseUrl = new SharedPreferences().get("overrideBaseUrl1"); + const res = await new Client().get(baseUrl + "/" + url); + const doc = new Document(res.body); + const imageUrl = doc.selectFirst("img[alt=poster]")?.getSrc; + const description = doc.selectFirst("span.font-medium.text-sm")?.text.trim(); + const author = doc.selectFirst("h3:contains('Author')").nextElementSibling.text.trim(); + const artist = doc.selectFirst("h3:contains('Artist')").nextElementSibling.text.trim(); + const status = this.toStatus(doc.selectFirst("h3:contains('Status')").nextElementSibling.text.trim()); + const genre = doc.select("div[class^=space] > div.flex > button.text-white") + .map((el) => el.text.trim()); + const chapters = []; + const chapterElements = doc.select("div.scrollbar-thumb-themecolor > div.group"); + for (const element of chapterElements) { + const url = element.selectFirst("a").getHref; + const chNumber = element.selectFirst("h3 > a").text; + const chTitle = element.select("h3 > a > span").map((span) => span.text.trim()).join(" ").trim(); + const name = chTitle == "" ? chNumber : `${chNumber} - ${chTitle}`; + + let dateUpload; + try { + const dateText = element.selectFirst("h3 + h3").text.trim(); + const cleanDateText = dateText.replace(/(\d+)(st|nd|rd|th)/, "$1"); + dateUpload = this.parseDate(cleanDateText); + } catch (_) { + dateUpload = null + } + chapters.push({ name, url, dateUpload }); + } + return { + imageUrl, + description, + genre, + author, + artist, + status, + chapters + }; + } + + + async getPageList(url) { + const baseUrl = new SharedPreferences().get("overrideBaseUrl1"); + const res = await new Client().get(baseUrl + "/series/" + url); + const scriptData = new Document(res.body).select("script:contains(self.__next_f.push)").map((e) => e.text.substringAfter("\"").substringBeforeLast("\"")).join(""); + console.log(scriptData); + const match = scriptData.match(/\\"pages\\":(\[.*?])/); + if (!match) { + throw new Error("Failed to find chapter pages"); + } + const pagesData = match[1]; + + const pageList = JSON.parse(pagesData.replace(/\\(.)/g, "$1")) + .sort((a, b) => a.order - b.order); + return pageList; + } + + getSourcePreferences() { + return [{ + "key": "overrideBaseUrl1", + "editTextPreference": { + "title": "Override BaseUrl", + "summary": "https://asuracomic.net", + "value": "https://asuracomic.net", + "dialogTitle": "Override BaseUrl", + "dialogMessage": "", + } + }]; + } + +} \ No newline at end of file diff --git a/model/source.dart b/model/source.dart index 84d3a218..666469fa 100644 --- a/model/source.dart +++ b/model/source.dart @@ -63,9 +63,10 @@ class Source { dateFormatLocale = json['dateFormatLocale'] ?? ""; hasCloudflare = json['hasCloudflare'] ?? false; iconUrl = json['iconUrl'] ?? ""; - id = (json['id'] ?? sourceCodeLang == 0 - ? 'mangayomi-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"' - : 'mangayomi-js-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"') + id = (json['id'] ?? + (sourceCodeLang == 0 + ? 'mangayomi-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"' + : 'mangayomi-js-"${json['lang'] ?? ""}"."${json['name'] ?? ""}"')) .hashCode; isFullData = json['isFullData'] ?? false; itemType = json['itemType'] ?? ItemType.manga; diff --git a/source_generator.dart b/source_generator.dart index 1ee65660..21944e78 100644 --- a/source_generator.dart +++ b/source_generator.dart @@ -65,19 +65,31 @@ List _searchJsSources(Directory dir) { if (entity is Directory) { sourceList.addAll(_searchJsSources(entity)); } else if (entity is File && entity.path.endsWith('.js')) { - final RegExp regex = RegExp( - r'const\s+mangayomiSources\s*=\s*(\[.*?\]);', + final regex = RegExp(r'const\s+mangayomiSources\s*=\s*(\[.*?\]);', dotAll: true); final defaultSource = Source(); - Match? match = regex.firstMatch(entity.readAsStringSync()); + final match = regex.firstMatch(entity.readAsStringSync()); if (match != null) { - sourceList.addAll((jsonDecode(match.group(1)!) as List) - .map((e) => Source.fromJson(e) - ..sourceCodeLanguage = 1 - ..appMinVerReq = defaultSource.appMinVerReq - ..sourceCodeUrl = - "https://raw.githubusercontent.com/Schnitzel5/mangayomi-extensions/$branchName/javascript/${e["pkgPath"] ?? e["pkgName"]}") - .toList()); + for (var sourceJson in jsonDecode(match.group(1)!) as List) { + final langs = sourceJson["langs"] as List?; + Source source = Source.fromJson(sourceJson) + ..sourceCodeLanguage = 1 + ..appMinVerReq = defaultSource.appMinVerReq + ..sourceCodeUrl = + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/javascript/${sourceJson["pkgPath"] ?? sourceJson["pkgName"]}"; + if (sourceJson["id"] != null) { + source = source..id = int.tryParse("${sourceJson["id"]}"); + } + if (langs?.isNotEmpty ?? false) { + for (var lang in langs!) { + sourceList.add(Source.fromJson(source.toJson()) + ..lang = lang + ..id = 'mangayomi-js-"$lang"."${source.name}"'.hashCode); + } + } else { + sourceList.add(source); + } + } } } }