This commit is contained in:
50/50 2025-10-11 17:18:45 +02:00
commit 09c423e95a
276 changed files with 54396 additions and 0 deletions

70
anilibria/anilibria.js Normal file
View file

@ -0,0 +1,70 @@
async function searchResults(keyword) {
try {
const encodedKeyword = encodeURIComponent(keyword);
const responseText = await fetch(`https://api.anilibria.tv/v3/title/search?search=${encodedKeyword}&filter=id,names,posters`);
const data = JSON.parse(responseText);
const transformedResults = data.list.map(anime => ({
title: anime.names.en || anime.names.ru || 'Unknown Title',
image: `https://anilibria.tv${anime.posters.original.url}`,
href: `${anime.id}`
}));
return JSON.stringify(transformedResults);
} catch (error) {
console.log('Fetch error:', error);
return JSON.stringify([{ title: 'Error', image: '', href: '' }]);
}
}
async function extractDetails(id) {
try {
const response = await fetch(`https://api.anilibria.tv/v3/title?id=${id}&filter=description`);
const data = JSON.parse(response);
const animeInfo = data;
const transformedResults = [{
description: animeInfo.description || 'No description available',
aliases: `Alias: Unknown`,
airdate: `Aired: Unknown`
}];
return JSON.stringify(transformedResults);
} catch (error) {
console.log('Details error:', error);
return JSON.stringify([{
description: 'Error loading description',
aliases: 'Duration: Unknown',
airdate: 'Aired: Unknown'
}]);
}
}
async function extractEpisodes(id) {
try {
const response = await fetch(`https://api.anilibria.tv/v3/title?id=${id}`);
const data = JSON.parse(response);
const transformedResults = Object.values(data.player.list).map(episode => ({
href: `https://cache.libria.fun${episode.hls.hd}`,
number: episode.episode
}));
return JSON.stringify(transformedResults);
} catch (error) {
console.log('Fetch error:', error);
}
}
async function extractStreamUrl(url) {
try {
return url;
} catch (error) {
console.log('Fetch error:', error);
return null;
}
}

17
anilibria/anilibria.json Normal file
View file

@ -0,0 +1,17 @@
{
"sourceName": "AniLibria",
"iconUrl": "https://github.com/50n50/sources/blob/main/anilibria/icon.png?raw=true",
"author": {
"name": "50/50",
"icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ3122kQwublLkZ6rf1fEpUP79BxZOFmH9BSA&s"
},
"version": "1.0.0",
"language": "Russian",
"streamType": "HLS",
"quality": "720p",
"baseUrl": "https://api.anilibria.tv/",
"searchBaseUrl": "https://api.anilibria.tv/v3/title/search?search=%s",
"scriptUrl": "https://gitlab.com/50n50/sources/-/raw/main/anilibria/anilibria.js",
"asyncJS": true,
"type": "anime"
}

BIN
anilibria/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
anilibria/iconalt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB