This commit is contained in:
Kayal Sido 2025-12-22 14:43:01 +01:00
parent 2508a024de
commit cd54a8935f
167 changed files with 6220 additions and 2866 deletions

View file

@ -1,19 +1,21 @@
{
"sourceName": "HiAnime",
"iconUrl": "https://git.luna-app.eu/50n50/sources/raw/branch/main/hianime/iconapp.png",
"author": {
"name": "50/50",
"icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ3122kQwublLkZ6rf1fEpUP79BxZOFmH9BSA&s"
},
"version": "4.0.1",
"language": "English (DUB/SUB)",
"streamType": "HLS",
"quality": "1080p",
"baseUrl": "https://megacloud.blog/",
"searchBaseUrl": "https://bshar1865-hianime.vercel.app/api/v2/hianime/search?q=%s",
"scriptUrl": "https://git.luna-app.eu/50n50/sources/raw/branch/main/hianime/hianime.js",
"type": "anime",
"asyncJS": true,
"softsub": true,
"downloadSupport": true
"sourceName": "HiAnime",
"iconUrl": "https://git.luna-app.eu/50n50/sources/raw/branch/main/hianime/iconapp.png",
"author": {
"name": "50/50",
"icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ3122kQwublLkZ6rf1fEpUP79BxZOFmH9BSA&s"
},
"version": "4.0.1",
"language": "English (DUB/SUB)",
"streamType": "HLS",
"quality": "1080p",
"baseUrl": "https://megacloud.blog/",
"searchBaseUrl": "https://bshar1865-hianime.vercel.app/api/v2/hianime/search?q=%s",
"scriptUrl": "https://git.luna-app.eu/50n50/sources/raw/branch/main/hianime/hianime.js",
"type": "anime",
"asyncJS": true,
"softsub": true,
"downloadSupport": true,
"supportsMojuru": true,
"supportsSora": true
}

View file

@ -1,98 +0,0 @@
async function searchResults(keyword) {
try {
const encodedKeyword = encodeURIComponent(keyword);
const responseText = await fetch(`https://bshar1865-hianime.vercel.app/api/v2/hianime/search?q=${encodedKeyword}&language=dub`);
const data = JSON.parse(responseText);
const filteredAnimes = data.data.animes.filter(anime => anime.episodes.dub !== null);
const transformedResults = data.data.animes.map(anime => ({
title: anime.name,
image: anime.poster,
href: `https://hianime.to/watch/${anime.id}`
}));
return JSON.stringify(transformedResults);
} catch (error) {
console.log('Fetch error:', error);
return JSON.stringify([{ title: 'Error', image: '', href: '' }]);
}
}
async function extractDetails(url) {
try {
const match = url.match(/https:\/\/hianime\.to\/watch\/(.+)$/);
const encodedID = match[1];
const response = await fetch(`https://bshar1865-hianime.vercel.app/api/v2/hianime/anime/${encodedID}`);
const data = JSON.parse(response);
const animeInfo = data.data.anime.info;
const moreInfo = data.data.anime.moreInfo;
const transformedResults = [{
description: animeInfo.description || 'No description available',
aliases: `Duration: ${animeInfo.stats?.duration || 'Unknown'}`,
airdate: `Aired: ${moreInfo?.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(url) {
try {
const match = url.match(/https:\/\/hianime\.to\/watch\/(.+)$/);
const encodedID = match[1];
const response = await fetch(`https://bshar1865-hianime.vercel.app/api/v2/hianime/anime/${encodedID}/episodes`);
const data = JSON.parse(response);
const transformedResults = data.data.episodes.map(episode => ({
href: `https://hianime.to/watch/${encodedID}?ep=${episode.episodeId.split('?ep=')[1]}`,
number: episode.number
}));
return JSON.stringify(transformedResults);
} catch (error) {
console.log('Fetch error:', error);
}
}
async function extractStreamUrl(url) {
try {
const match = url.match(/https:\/\/hianime\.to\/watch\/(.+)$/);
if (!match) throw new Error("Invalid URL format");
const encodedID = match[1];
const response = await fetch(`https://bshar1865-hianime.vercel.app/api/v2/hianime/episode/sources?animeEpisodeId=${encodedID}&category=dub`);
const responseTwo = await fetch(`https://bshar1865-hianime.vercel.app/api/v2/hianime/episode/sources?animeEpisodeId=${encodedID}&category=sub`);
const data = JSON.parse(response);
const dataTwo = JSON.parse(responseTwo);
const hlsSource = data.data.sources.find(source => source.type === 'hls');
const subtitleTrack = dataTwo.data.tracks?.find(track => track.label === 'English');
const result = {
stream: hlsSource ? hlsSource.url : null,
subtitles: subtitleTrack ? subtitleTrack.file : null
};
return JSON.stringify(result);
} catch (error) {
console.error('Fetch error:', error);
return null;
}
}

View file

@ -1,18 +0,0 @@
{
"sourceName": "HiAnimeTemp",
"iconUrl": "https://git.luna-app.eu/50n50/sources/raw/branch/main/hianime/iconapp.png",
"author": {
"name": "50/50",
"icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ3122kQwublLkZ6rf1fEpUP79BxZOFmH9BSA&s"
},
"version": "1.0.4",
"language": "English (DUB + SUB)",
"streamType": "HLS",
"quality": "720p",
"baseUrl": "https://megacloud.blog/",
"searchBaseUrl": "https://bshar1865-hianime.vercel.app/api/v2/hianime/search?q=%s",
"scriptUrl": "https://git.luna-app.eu/50n50/sources/raw/branch/main/hianime/hianimetemp.js",
"asyncJS": true,
"softsub": true,
"type": "anime"
}