make update.js

This commit is contained in:
Obelous 2025-06-24 18:42:52 +01:00
parent f0f59a45ac
commit 70b749cc80
4 changed files with 5920 additions and 3 deletions

View file

@ -1,10 +1,7 @@
name: Node.js CI name: Node.js CI
on: [push] on: [push]
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4

File diff suppressed because it is too large Load diff

30
sources.txt Normal file
View file

@ -0,0 +1,30 @@
https://intro-skipper.org/manifest.json
https://raw.githubusercontent.com/bvolvy/CustomLogoPlugin/main/manifest.json
https://raw.githubusercontent.com/Namo2/InPlayerEpisodePreview/master/manifest.json
https://raw.githubusercontent.com/vosmiic/jellyfin-ani-sync/master/manifest.json
https://github.com/lachlandcp/jellyfin-editors-choice-plugin/raw/main/manifest.json
https://raw.githubusercontent.com/fdett/jellyfin-ignore/master/manifest.json
https://noonamer.github.io/Jellyfin.Plugin.LocalPosters/repository.json
https://raw.githubusercontent.com/Cloud9Developer/Jellyfin-Newsletter-Plugin/master/manifest.json
https://raw.githubusercontent.com/EusthEnoptEron/jellyfin-plugin-animethemes/main/manifest.json
https://raw.githubusercontent.com/CherryFloors/jellyfin-plugin-cinemamode/main/manifest.json
https://raw.githubusercontent.com/lostb1t/jellyfin-plugin-collection-import/main/manifest.json
https://www.iamparadox.dev/jellyfin/plugins/manifest.json
https://raw.githubusercontent.com/TheXaman/jellyfin-plugin-languageTags/main/manifest.json
https://raw.githubusercontent.com/danielveigasilva/jellyfin-plugin-letterboxd-sync/master/manifest.json
https://repo.xkrivo.net/jellyfin/manifest.json
https://www.iamparadox.dev/jellyfin/plugins/manifest.json
https://raw.githubusercontent.com/shemanaev/jellyfin-plugin-repo/master/manifest.json
https://raw.githubusercontent.com/arnesacnussem/jellyfin-plugin-meilisearch/refs/heads/master/manifest.json
https://raw.githubusercontent.com/jwueller/jellyfin-repository/master/manifest.json
https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json
https://raw.githubusercontent.com/RomainPierre7/jellyfin-plugin-TelegramNotifier/main/manifest.json
https://raw.githubusercontent.com/GrandguyJS/media-upload-plugin/main/manifest.json
https://raw.githubusercontent.com/iankiller77/MyAnimeSync/main/manifest.json
https://raw.githubusercontent.com/Eeeeelias/playlist-generator/refs/heads/main/manifest.json
https://raw.githubusercontent.com/ShokoAnime/Shokofin/metadata/stable/manifest.json
https://raw.githubusercontent.com/hexxone/TeleJelly/dist/manifest.json
https://repo.xkrivo.net/jellyfin/manifest.json
https://raw.githubusercontent.com/ryandash/jellyfin-plugin-myanimelist/main/manifest.json
https://raw.githubusercontent.com/DirtyRacer1337/Jellyfin.Plugin.PhoenixAdult/master/manifest.json
https://raw.githubusercontent.com/ThePornDatabase/Jellyfin.Plugin.ThePornDB/main/manifest.json

View file

@ -0,0 +1,55 @@
const fs = require('fs/promises');
const userAgent = "Jellyfin-Server/10.10.7"; // Required for some repositories
async function getSources(){
let sources = [];
try {
const fileContent = await fs.readFile('sources.txt', 'utf8');
sources = fileContent.split(/\r?\n/).filter(line => line.trim() !== '');
} catch (err) {
console.error("Error reading sources.txt:", err);
return [];
}
let mergedData = [];
for(const url of sources){
try {
console.log(`Fetching ${url}...`);
const response = await fetch(url, {
headers: { 'User-Agent': userAgent }
});
if (!response.ok) {
throw new Error(`Response status: ${response.status}`);
}
const json = await response.json();
mergedData.push(...json);
console.log(` -> Merged ${json.length} plugins.`);
} catch (error) {
console.error(`Error processing ${url}: ${error.message}`);
}
}
return mergedData;
}
async function writeManifest(dataToWrite){
if (!dataToWrite || dataToWrite.length === 0) {
console.log("No data to write to manifest. Aborting.");
return;
}
try {
const manifestJson = JSON.stringify(dataToWrite, null, 2);
await fs.writeFile('manifest.json', manifestJson);
} catch (err) {
console.error('Error writing manifest file:', err);
}
}
async function main() {
await writeManifest(await getSources());
}
main();