update
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
function preprocessHtml(html) {
|
||||
//Module specefic, ignore
|
||||
return html.replace(/\\2605/g, '★');
|
||||
}
|
||||
|
||||
function searchResults(html) {
|
||||
html = preprocessHtml(html);
|
||||
const results = [];
|
||||
const baseUrl = "https://animebalkan.org/";
|
||||
|
||||
const filmListRegex = /<article class="bs"[\s\S]*?<\/article>/g;
|
||||
const items = html.match(filmListRegex) || [];
|
||||
|
||||
items.forEach((itemHtml) => {
|
||||
const titleMatch = itemHtml.match(/<h2 itemprop="headline">([^<]+)<\/h2>/);
|
||||
const hrefMatch = itemHtml.match(/<a[^>]+href="([^"]+)"[^>]*>/);
|
||||
const imgMatch = itemHtml.match(/<img[^>]+src="([^"]+)"[^>]*>/);
|
||||
|
||||
let title = titleMatch ? titleMatch[1].trim().replace(/–/g, '–') : '';
|
||||
const href = hrefMatch ? hrefMatch[1].trim() : '';
|
||||
const imageUrl = imgMatch ? imgMatch[1].trim() : '';
|
||||
|
||||
if (title && href) {
|
||||
results.push({
|
||||
title,
|
||||
image: imageUrl.startsWith('http') ? imageUrl : baseUrl + imageUrl,
|
||||
href
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
|
||||
function extractDetails(html) {
|
||||
const details = [];
|
||||
const descriptionMatch = html.match(/<span class="Y2IQFc"[^>]*>([\s\S]*?)<\/span>/);
|
||||
const airdateMatch = html.match(/<time[^>]*datetime="([^"]+)"/);
|
||||
|
||||
if (descriptionMatch) {
|
||||
let description = descriptionMatch[1].trim()
|
||||
.replace(/–/g, '-')
|
||||
.replace(/—/g, '—')
|
||||
.replace(/“/g, '"')
|
||||
.replace(/”/g, '"')
|
||||
.replace(/…/g, '...')
|
||||
.replace(/″/g, '"')
|
||||
.replace(/′/g, "'");
|
||||
|
||||
let airdate = airdateMatch ? airdateMatch[1].split('T')[0] : '';
|
||||
|
||||
if (description && airdate) {
|
||||
details.push({
|
||||
description: description,
|
||||
aliases: 'N/A',
|
||||
airdate: airdate
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return details;
|
||||
}
|
||||
|
||||
function extractEpisodes(html) {
|
||||
const episodes = [];
|
||||
const episodeRegex = /<a href="([^"]+)">[^<]*<div class="epl-num">([^<]+)<\/div>/g;
|
||||
|
||||
let match;
|
||||
while ((match = episodeRegex.exec(html)) !== null) {
|
||||
const href = match[1];
|
||||
let number = match[2];
|
||||
|
||||
const isMovie = href.includes('film') ||
|
||||
href.includes('movie') ||
|
||||
number.toLowerCase() === 'film';
|
||||
|
||||
if (isMovie) {
|
||||
number = '1';
|
||||
}
|
||||
|
||||
if (href.includes('epizoda-') ||
|
||||
href.includes('specijalna-epizoda') ||
|
||||
href.includes('-epizoda/') ||
|
||||
href.includes('film') ||
|
||||
href.includes('movie')) {
|
||||
|
||||
episodes.push({
|
||||
href: href,
|
||||
number: number
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
episodes.reverse();
|
||||
console.log(episodes);
|
||||
return episodes;
|
||||
}
|
||||
|
||||
function extractStreamUrl(html) {
|
||||
const sourceRegex = /<source\s+[^>]*src="([^"]+)"/;
|
||||
const match = html.match(sourceRegex);
|
||||
|
||||
if (match) {
|
||||
console.log(match[1]);
|
||||
return match[1];
|
||||
} else {
|
||||
console.log("No stream URL found.");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"sourceName": "AnimeBalkan",
|
||||
"iconUrl": "https://i.ibb.co/7tRnVMqY/favicon.png",
|
||||
"author": {
|
||||
"name": "50/50",
|
||||
"icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ3122kQwublLkZ6rf1fEpUP79BxZOFmH9BSA&s"
|
||||
},
|
||||
"version": "1.0.0",
|
||||
"language": "Croatian",
|
||||
"streamType": "MP4",
|
||||
"quality": "720p",
|
||||
"baseUrl": "https://animebalkan.org//",
|
||||
"searchBaseUrl": "https://animebalkan.org/?s=%s",
|
||||
"scriptUrl": "https://git.luna-app.eu/50n50/sources/raw/branch/main/animebalkan/animebalkan.js",
|
||||
"type": "anime",
|
||||
"supportsMojuru": true,
|
||||
"supportsDartotsu": true,
|
||||
"supportsSora": true,
|
||||
"supportsLuna": true,
|
||||
"supportsAnymex": true,
|
||||
"supportsTsumi": true,
|
||||
"supportsHiyoku": true
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 110 KiB |
Reference in New Issue
Block a user