Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/hualiong/miru-repo
Browse files Browse the repository at this point in the history
  • Loading branch information
hualiong committed Sep 2, 2024
2 parents c2954c8 + dcd0cdc commit 2f8cc6c
Show file tree
Hide file tree
Showing 6 changed files with 111 additions and 18 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,14 @@ Miru extensions repository | [Miru App Download](https://github.com/miru-project
| FilmyCab | filmycab | v0.0.2 | OshekharO | hi | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/filmycab.js) |
| FilmyPunjab | filmypunjab.com | v0.0.3 | appdevelpo | hi | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/filmypunjab.com.js) |
| FlameComics | flamecomics.com | v0.0.1 | bethro | en | manga | [Source Code](https://github.com/miru-project/repo/blob/main/repo/flamecomics.com.js) |
| FlixHQ | flixhq | v0.0.1 | OshekharO | en | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/flixhq.js) |
| Funtoons | funtoons.online | v0.0.1 | funtoons | th | manga | [Source Code](https://github.com/miru-project/repo/blob/main/repo/funtoons.online.js) |
| GakiArchives | gakiarchives.com | v0.0.1 | bachig26 | en | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/gakiarchives.com.js) |
| gimy | gimy.su | v0.0.2 | appdevelpo | zh | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/gimy.su.js) |
| GoGoAnime | gogo.anime | v0.0.8 | OshekharO | en | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/gogo.anime.js) |
| HiAnime | hianime.to | v0.0.8 | OshekharO | en | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/hianime.to.js) |
| IDLIX | idlix | v0.0.2 | Nazz | id | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/idlix.js) |
| Invidious | invidious.io | v0.0.2 | OshekharO | all | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/invidious.io.js) |
| Invidious | invidious.io | v0.0.3 | OshekharO | all | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/invidious.io.js) |
| IPTV-ORG | iptv-org | v0.0.1 | vvsolo | all | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/iptv-org.js) |
| IsekaiScan | isekaiscan.to | v0.0.3 | bethro | en | manga | [Source Code](https://github.com/miru-project/repo/blob/main/repo/isekaiscan.to.js) |
| 极速资源 | jisuzy.com | v0.0.1 | SendHX | zh-cn | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/jisuzy.com.js) |
Expand All @@ -52,7 +53,7 @@ Miru extensions repository | [Miru App Download](https://github.com/miru-project
| Letv影院 | letv.im | v0.0.1 | appdevelpo | zh | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/letv.im.js) |
| libvio | libvio.pro | v0.0.2 | appdevelpo | zh | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/libvio.pro.js) |
| LilyManga | lilymanga.net | v0.0.1 | bethro | en | manga | [Source Code](https://github.com/miru-project/repo/blob/main/repo/lilymanga.net.js) |
| LayarKaca | lk21official | v0.0.1 | OshekharO | id | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/lk21official.js) |
| LayarKaca | lk21official | v0.0.2 | OshekharO | id | bangumi | [Source Code](https://github.com/miru-project/repo/blob/main/repo/lk21official.js) |
| MangaLife | manga4life.com | v0.0.1 | appdevelpo | en | manga | [Source Code](https://github.com/miru-project/repo/blob/main/repo/manga4life.com.js) |
| MangaBat | mangabat.com | v0.0.1 | bethro | en | manga | [Source Code](https://github.com/miru-project/repo/blob/main/repo/mangabat.com.js) |
| MangaClash | mangaclash.com | v0.0.1 | bethro | en | manga | [Source Code](https://github.com/miru-project/repo/blob/main/repo/mangaclash.com.js) |
Expand Down
20 changes: 16 additions & 4 deletions index.json
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,18 @@
"version": "v0.0.1",
"webSite": "https://flamecomics.com/"
},
{
"author": "OshekharO",
"icon": "https://flixhq.vip/wp-content/uploads/2024/04/flixhq-logo-2.png",
"lang": "en",
"license": "MIT",
"name": "FlixHQ",
"package": "flixhq",
"type": "bangumi",
"url": "flixhq.js",
"version": "v0.0.1",
"webSite": "https://consumet8.vercel.app/movies/flixhq"
},
{
"author": "funtoons",
"icon": "https://funtoons.online/wp-content/themes/mangareader/assets/images/android-chrome-192x192.png",
Expand Down Expand Up @@ -528,8 +540,8 @@
"package": "invidious.io",
"type": "bangumi",
"url": "invidious.io.js",
"version": "v0.0.2",
"webSite": "https://vid.puffyan.us/api/v1"
"version": "v0.0.3",
"webSite": "https://iv.ggtyler.dev/api/v1"
},
{
"author": "vvsolo",
Expand Down Expand Up @@ -705,7 +717,7 @@
"package": "lk21official",
"type": "bangumi",
"url": "lk21official.js",
"version": "v0.0.1",
"version": "v0.0.2",
"webSite": "https://tv3.lk21official.wiki"
},
{
Expand Down Expand Up @@ -943,7 +955,7 @@
"package": "nhentai.to",
"type": "manga",
"url": "nhentai.to.js",
"version": "v0.0.2",
"version": "v0.0.3",
"webSite": "https://nhentai.to"
},
{
Expand Down
81 changes: 81 additions & 0 deletions repo/flixhq.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
// ==MiruExtension==
// @name FlixHQ
// @version v0.0.1
// @author OshekharO
// @lang en
// @license MIT
// @icon https://flixhq.vip/wp-content/uploads/2024/04/flixhq-logo-2.png
// @package flixhq
// @type bangumi
// @webSite https://consumet8.vercel.app/movies/flixhq
// ==/MiruExtension==

export default class extends Extension {
async req(url) {
return this.request(url, {
headers: {
"Miru-Url": await this.getSetting("flixhq"),
},
});
}

async load() {
this.registerSetting({
title: "Flixhq API",
key: "flixhq",
type: "input",
description: "Flixhq Api Url",
defaultValue: "https://consumet8.vercel.app/movies/flixhq",
});
}

async latest() {
const res = await this.req(`/trending`);
return res.results.map((item) => ({
title: item.title != null ? item.title : "",
url: item.id.toString(),
cover: item.image != null ? item.image : "",
}));
}

async detail(url) {
const res = await this.req(`/info?id=${url}`);

return {
title: res.title != null ? res.title : "",
cover: res.cover != null ? res.cover : "",
desc: res.description != null ? res.description : "",
episodes: [
{
title: "Episodes",
urls: res.episodes.map((item) => ({
name: item.title,
url: `${item.id.toString()};${url}`,
})),
},
],
};
}

async search(kw, page) {
const res = await this.req(`/${kw}?page=${page}`);
return res.results.map((item) => ({
title: item.title,
url: item.id.toString(),
cover: item.image,
}));
}

async watch(url) {
const res = await this.req(`/watch?episodeId=${url.split(";")[0]}&mediaId=${url.split(";")[1]}`);
return {
type: "hls",
url: res.sources[0].url,
subtitles: res.subtitles.map((item) => ({
title: item.lang,
url: item.url,
language: item.lang,
})),
};
}
}
7 changes: 3 additions & 4 deletions repo/invidious.io.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
// ==MiruExtension==
// @name Invidious
// @version v0.0.2
// @version v0.0.3
// @author OshekharO
// @lang all
// @license MIT
// @icon https://invidious.io/apple-touch-icon.png
// @package invidious.io
// @type bangumi
// @webSite https://vid.puffyan.us/api/v1
// @webSite https://iv.ggtyler.dev/api/v1
// ==/MiruExtension==

export default class extends Extension {
async latest() {
const res = await this.request(`/trending?region=US`);

if (!Array.isArray(res)) {
// Handle the case when the response is not an array
return [];
}

Expand Down Expand Up @@ -66,7 +65,7 @@ export default class extends Extension {

return {
type: "hls",
url: res.formatStreams?.[1]?.url,
url: res.formatStreams?.[0]?.url,
};
}
}
10 changes: 5 additions & 5 deletions repo/lk21official.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// ==MiruExtension==
// @name LayarKaca
// @version v0.0.1
// @version v0.0.2
// @author OshekharO
// @lang id
// @license MIT
Expand Down Expand Up @@ -67,8 +67,8 @@ export default class extends Extension {
const desc = await this.querySelector(res, "div.content > blockquote").text;

const urlPatterns = [
/https:\/\/playeriframe\.shop\/\?url=https%3A%2F%2Femturbovid\.[^'"\s]+/,
/https:\/\/playeriframe.shop\/\?url=https%3A%2F%2Flayarkacaxxi\.[^'"\s]+/,
/https:\/\/playeriframe\.shop\/iframe\.php\?url=https%3A%2F%2Femturbovid\.[^'"\s]+/,
/https:\/\/playeriframe.shop\/iframe\.php\?url=https%3A%2F%2Flayarkacaxxi\.[^'"\s]+/,
/https:\/\/emturbovid\.[^\s'"]+/,
];

Expand Down Expand Up @@ -109,7 +109,7 @@ export default class extends Extension {

let directUrl = "";

if (url.startsWith("https://playeriframe.shop/?url=https%3A%2F%2Flayarkacaxxi.icu")) {
if (url.startsWith("https://playeriframe.shop/iframe.php?url=https%3A%2F%2Flayarkacaxxi.icu")) {

const mbedLink = res.match(/https:\/\/layarkacaxxi\.[^\s'"]+/);

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

const directUrlMatch = res.match(/(https:\/\/[^\s'"]*\.m3u8[^\s'"]*)/);
directUrl = directUrlMatch ? directUrlMatch[0] : "";
} else if (url.startsWith("https://playeriframe.shop/?url=https%3A%2F%2Femturbovid.com")) {
} else if (url.startsWith("https://playeriframe.shop/iframe.php?url=https%3A%2F%2Femturbovid.com")) {

const embedLink = res.match(/https:\/\/emturbovid\.[^\s'"]+/);

Expand Down
6 changes: 3 additions & 3 deletions repo/nhentai.to.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// ==MiruExtension==
// @name Nhentai
// @version v0.0.2
// @version v0.0.3
// @author OshekharO
// @lang all
// @license MIT
Expand Down Expand Up @@ -57,8 +57,8 @@ export default class extends Extension {
});

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 cover = res.match(/https:\/\/zorocdn\.xyz\/[^"]+/)[0];
const desc = await this.querySelector(res, "h3").text;

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

0 comments on commit 2f8cc6c

Please sign in to comment.