Skip to content

Commit

Permalink
Merge branch 'miru-project:main' into patch-5
Browse files Browse the repository at this point in the history
  • Loading branch information
OshekharO authored Sep 29, 2023
2 parents ac68740 + 8d9beb3 commit 6456ad8
Show file tree
Hide file tree
Showing 9 changed files with 404 additions and 47 deletions.
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ Miru extensions repository | [Miru App Download](https://github.com/miru-project
## List
| Name | Package | Version | Author | Language | NSFW | Source |
| ---- | ---- | --- | --- | --- | --- | --- |
| AniGoGo | ani.gogo | v0.0.1 | OshekharO | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/ani.gogo.js) |
| AniGoGo | ani.gogo | v0.0.2 | OshekharO | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/ani.gogo.js) |
| Aniwatch | ani.watch | v0.0.2 | OshekharO | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/ani.watch.js) |
| AnimeFlv | anime.flv | v0.0.1 | (koikiss-dev) | es | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/anime.flv.js) |
| AnimeFlv | anime.flv | v0.0.2 | (koikiss-dev) | es | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/anime.flv.js) |
| BestLightNovel | best.light.novel | v0.0.1 | anishi7 | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/best.light.novel.js) |
| 咕咕影视 | cc.cooing | v0.0.3 | MiaoMint | zh-cn | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/cc.cooing.js) |
| 动漫之家 | com.dmzj.www | v0.0.2 | MiaoMint | zh-cn | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/com.dmzj.www.js) |
Expand All @@ -30,21 +30,24 @@ Miru extensions repository | [Miru App Download](https://github.com/miru-project
| Enime | moe.enime | v0.0.5 | MiaoMint | all | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/moe.enime.js) |
| 轻小说文库 | moe.wol.wenku8 | v0.0.1 | NPGamma | zh-cn | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/moe.wol.wenku8.js) |
| Mtlnation | mtlnation.com | v0.0.1 | OshekharO | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/mtlnation.com.js) |
| TYS.mx | mx.yts | v0.0.5 | MiaoMint | all | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/mx.yts.js) |
| YTS.mx | mx.yts | v0.0.6 | MiaoMint | all | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/mx.yts.js) |
| Nhentai | nhentai.to | v0.0.1 | OshekharO | all | true | [Source Code](https://github.com/miru-project/repo/blob/main/repo/nhentai.to.js) |
| OneJav | onejav.com | v0.0.1 | OshekharO | jp | true | [Source Code](https://github.com/miru-project/repo/blob/main/repo/onejav.com.js) |
| ReadLN | readlightnovels | v0.0.1 | OshekharO | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/readlightnovels.js) |
| 免费小说网 | ren.0u0.miru.mfxs | v0.0.1 | MiaoMint | zh-cn | true | [Source Code](https://github.com/miru-project/repo/blob/main/repo/ren.0u0.miru.mfxs.js) |
| ACG.RIP | rip.acg | v0.0.1 | MiaoMint | zh-cn | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/rip.acg.js) |
| 樱花动漫 | sakura | v0.0.1 | Monster | zh-cn | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/sakura.js) |
| SimplyHentai | simplyhentai.com | v0.0.1 | OshekharO | all | true | [Source Code](https://github.com/miru-project/repo/blob/main/repo/simplyhentai.com.js) |
| 好看的1号 | top.lkp2.www | v0.0.1 | zj | zh-cn | true | [Source Code](https://github.com/miru-project/repo/blob/main/repo/top.lkp2.www.js) |
| NetTruyen | truyen.net | v0.0.2 | OshekharO | vi | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/truyen.net.js) |
| Turkish123 | turkish123 | v0.0.1 | OshekharO | tr | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/turkish123.js) |
| Turkish123 | turkish123 | v0.0.2 | OshekharO | tr | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/turkish123.js) |
| Unimay | unimay.media | v0.0.1 | CakesTwix | uk | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/unimay.media.js) |
| viện | vn.tangthuvien | v0.0.1 | Moleys | vi | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/vn.tangthuvien.js) |
| 影视集合 | vod.api.json.collection | v0.0.2 | Horis | zh-cn | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/vod.api.json.collection.js) |
| 八戒影视 | vod.api.xml.bajie | v0.0.1 | Horis | zh-cn | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/vod.api.xml.bajie.js) |
| 风车动漫 | windmill | v0.0.1 | Monster | zh-cn | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/windmill.js) |
| Wnmtl | wnmtl.org | v0.0.1 | OshekharO | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/wnmtl.org.js) |
| WTR-LAB | wtr-lab.com | v0.0.1 | OshekharO | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/wtr-lab.com.js) |
| 好看的7号 | xyz.thrj66.www | v0.0.1 | zj | zh-cn | true | [Source Code](https://github.com/miru-project/repo/blob/main/repo/xyz.thrj66.www.js) |
| 好看的2号 | xyz.xdtv2 | v0.0.1 | zj | zh-cn | true | [Source Code](https://github.com/miru-project/repo/blob/main/repo/xyz.xdtv2.js) |
| ZeroScans | zeroscans.com | v0.0.1 | OshekharO | en | false | [Source Code](https://github.com/miru-project/repo/blob/main/repo/zeroscans.com.js) |
58 changes: 48 additions & 10 deletions index.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"package": "ani.gogo",
"type": "bangumi",
"url": "ani.gogo.js",
"version": "v0.0.1",
"webSite": "https://api-amvstrm.nyt92.eu.org/api/v2"
"version": "v0.0.2",
"webSite": "https://api.amvstr.me/api/v2"
},
{
"author": "OshekharO",
Expand All @@ -33,7 +33,7 @@
"package": "anime.flv",
"type": "bangumi",
"url": "anime.flv.js",
"version": "v0.0.1",
"version": "v0.0.2",
"webSite": "https://jimov-api.vercel.app/"
},
{
Expand Down Expand Up @@ -297,16 +297,42 @@
},
{
"author": "MiaoMint",
"description": "https://github.com/Enime-Project/api.enime.moe",
"description": "info",
"icon": "https://yts.mx/assets/images/website/apple-touch-icon-144x144.png",
"lang": "all",
"license": "MIT",
"name": "TYS.mx",
"name": "YTS.mx",
"package": "mx.yts",
"type": "bangumi",
"url": "mx.yts.js",
"version": "v0.0.5",
"webSite": "https://yts.mx/"
"version": "v0.0.6",
"webSite": "https://yts.mx"
},
{
"author": "OshekharO",
"icon": "https://nhentai.to/favicon.ico",
"lang": "all",
"license": "MIT",
"name": "Nhentai",
"nsfw": "true",
"package": "nhentai.to",
"type": "manga",
"url": "nhentai.to.js",
"version": "v0.0.1",
"webSite": "https://nhentai.to"
},
{
"author": "OshekharO",
"icon": "https://onejav.com/static/img/onejav.5468a5a7d373.png",
"lang": "jp",
"license": "MIT",
"name": "OneJav",
"nsfw": "true",
"package": "onejav.com",
"type": "bangumi",
"url": "onejav.com.js",
"version": "v0.0.1",
"webSite": "https://onejav.com"
},
{
"author": "OshekharO",
Expand Down Expand Up @@ -396,16 +422,16 @@
},
{
"author": "OshekharO",
"icon": "https://turkish123.com/wp-content/uploads/favicon.png",
"icon": "https://www2.turkish123.org/wp-content/uploads/favicon.png",
"lang": "tr",
"license": "MIT",
"name": "Turkish123",
"nsfw": "false",
"package": "turkish123",
"type": "bangumi",
"url": "turkish123.js",
"version": "v0.0.1",
"webSite": "https://turkish123.com"
"version": "v0.0.2",
"webSite": "https://www2.turkish123.org"
},
{
"author": "CakesTwix",
Expand Down Expand Up @@ -479,6 +505,18 @@
"version": "v0.0.1",
"webSite": "https://api.mystorywave.com/story-wave-backend/api/v1/content"
},
{
"author": "OshekharO",
"icon": "https://wtr-lab.com/images/favicon.png",
"lang": "en",
"license": "MIT",
"name": "WTR-LAB",
"package": "wtr-lab.com",
"type": "fikushon",
"url": "wtr-lab.com.js",
"version": "v0.0.1",
"webSite": "https://wtr-lab.com"
},
{
"author": "zj",
"icon": "https://xdtv2.xyz/template/xdtv/static/favicon.ico",
Expand Down
43 changes: 22 additions & 21 deletions repo/ani.gogo.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// ==MiruExtension==
// @name AniGoGo
// @version v0.0.1
// @version v0.0.2
// @author OshekharO
// @lang en
// @license MIT
// @icon https://anilist.co/img/icons/apple-touch-icon.png
// @package ani.gogo
// @type bangumi
// @webSite https://api-amvstrm.nyt92.eu.org/api/v2
// @webSite https://api.amvstr.me/api/v2
// ==/MiruExtension==

export default class extends Extension {
Expand All @@ -25,7 +25,7 @@ export default class extends Extension {
key: "amvstrm",
type: "input",
description: "Amvstrm Api Url",
defaultValue: "https://api-amvstrm.nyt92.eu.org/api/v2",
defaultValue: "https://api.amvstr.me/api/v2",
});
}

Expand All @@ -40,7 +40,8 @@ export default class extends Extension {

async detail(url) {
const res = await this.req(`/info/${url}`);
const epRes = await this.req(`/episode/${url}?dub=false`);
const epRes = await this.request(`/episode/${url}`);

return {
title: res.title.english,
cover: res.coverImage.large,
Expand All @@ -49,33 +50,33 @@ export default class extends Extension {
{
title: "Episodes",
urls: epRes.episodes.map((item) => ({
name: item.title,
url: item.id,
name: item.title != null ? item.title : `Episode ${item.number}`,
url: item.id != null ? item.id : "",
})),
},
],
};
}

async search(kw, page) {
const res = await this.req(`/search?q=${kw}&p=${page}&limit=10`);
return res.results.map((item) => {
const title = item.title && item.title.english ? item.title.english : "N/A";
const cover = item.coverImage && item.coverImage.large ? item.coverImage.large : "N/A";
return {
title,
url: item.id.toString(),
cover,
};
});
}
const res = await this.req(`/search?q=${kw}&p=${page}&limit=10`);
return res.results.map((item) => {
const title = item.title && item.title.english ? item.title.english : "N/A";
const cover = item.coverImage && item.coverImage.large ? item.coverImage.large : "N/A";

return {
title,
url: item.id.toString(),
cover,
};
});
}

async watch(url) {
const res = await this.req( `/stream/${url}`);
return {
const res = await this.req(`/stream/${url}`);
return {
type: "hls",
url: res.stream.multi.main.url,
};
}
}
}
6 changes: 3 additions & 3 deletions repo/anime.flv.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// ==MiruExtension==
// @name AnimeFlv
// @version v0.0.1
// @version v0.0.2
// @author Yako (koikiss-dev)
// @lang es
// @license MIT
Expand Down Expand Up @@ -37,7 +37,7 @@ export default class extends Extension {
return res.results.map((item) => ({
url: item.url,
title: item.name,
cover: item.image,
cover: item.image.replace("https://img.animeflv.bz", "https://img.animeflv.ws"),
}));
}

Expand All @@ -64,7 +64,7 @@ export default class extends Extension {
return res.results.map((item) => ({
title: item.name,
url: item.url,
cover: item.image,
cover: item.image.replace("https://img.animeflv.bz", "https://img.animeflv.ws"),
desc: item.type,
}));
}
Expand Down
10 changes: 4 additions & 6 deletions repo/mx.yts.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// ==MiruExtension==
// @name TYS.mx
// @version v0.0.5
// @name YTS.mx
// @version v0.0.6
// @author MiaoMint
// @lang all
// @license MIT
// @icon https://yts.mx/assets/images/website/apple-touch-icon-144x144.png
// @package mx.yts
// @type bangumi
// @webSite https://yts.mx/
// @description Enime API is an open source API service for developers to access anime info (as well as their video sources) https://github.com/Enime-Project/api.enime.moe
// @webSite https://yts.mx
// @description YTS.mx API is an open source API service for developers to access torrent info
// ==/MiruExtension==

export default class extends Extension {
Expand All @@ -18,7 +18,6 @@ export default class extends Extension {
title: item.title,
url: item.id.toString(),
cover: item.medium_cover_image,
desc: item.description_full,
}));
}

Expand Down Expand Up @@ -51,7 +50,6 @@ export default class extends Extension {
title: item.title,
url: item.id.toString(),
cover: item.medium_cover_image,
desc: item.description_full,
}));
}

Expand Down
101 changes: 101 additions & 0 deletions repo/nhentai.to.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
// ==MiruExtension==
// @name Nhentai
// @version v0.0.1
// @author OshekharO
// @lang all
// @license MIT
// @package nhentai.to
// @type manga
// @icon https://nhentai.to/favicon.ico
// @webSite https://nhentai.to
// @nsfw true
// ==/MiruExtension==

export default class extends Extension {
async latest() {
const res = await this.request("/");
const bsxList = await this.querySelectorAll(res, "div.gallery");
const novel = [];
for (const element of bsxList) {
const html = await element.content;
const url = await this.getAttributeText(html, "a", "href");
const title = await this.querySelector(html, "div.caption").text;
const cover = await this.querySelector(html, "img").getAttributeText("data-src");
novel.push({
title: title.trim(),
url,
cover,
});
}
return novel;
}

async search(kw, page) {
const res = await this.request(`/search?q=${kw}`);
const bsxList = await this.querySelectorAll(res, "div.gallery");
const novel = [];

for (const element of bsxList) {
const html = await element.content;
const url = await this.getAttributeText(html, "a", "href");
const title = await this.querySelector(html, "div.caption").text;
const cover = await this.querySelector(html, "img").getAttributeText("src");
novel.push({
title: title.trim(),
url,
cover,
});
}
return novel;
}

async detail(url) {
const res = await this.request(`${url}`, {
headers: {
"miru-referer": "https://nhentai.to/",
},
});

const title = await this.querySelector(res, "h1").text;
const cover = res.match(/https:\/\/cdn\.dogehls\.xyz\/[^"]+/)[0];
const desc = await this.querySelector(res, "h2").text;

const episodes = [];
const epiList = await this.querySelectorAll(res, "#info-block");

for (const element of epiList) {
const html = await element.content;
const name = await this.querySelector(html, "h1").text;
const url = await this.querySelector(html, "h3#gallery_id").text;

episodes.push({
name,
url: url.replace("#", ""),
});
}

return {
title,
cover,
desc,
episodes: [
{
title: "Chapters",
urls: episodes,
},
],
};
}

async watch(url) {
const res = await this.request(`/chapters/${url}`, {
headers: {
"Miru-Url": "https://jimov-api.vercel.app/manga/nhentai",
},
});

return {
urls: res[0].images.map((item) => item.replace(/t\.jpg$/, ".jpg")),
};
}
}
Loading

0 comments on commit 6456ad8

Please sign in to comment.