mirror of
https://github.com/0belous/universal-plugin-repo.git
synced 2025-12-20 03:31:18 -03:00
make update.js
This commit is contained in:
parent
f0f59a45ac
commit
70b749cc80
4 changed files with 5920 additions and 3 deletions
3
.github/workflows/node.js.yml
vendored
3
.github/workflows/node.js.yml
vendored
|
|
@ -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
|
||||||
|
|
|
||||||
5835
manifest.json
5835
manifest.json
File diff suppressed because it is too large
Load diff
30
sources.txt
Normal file
30
sources.txt
Normal 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
|
||||||
55
update.js
55
update.js
|
|
@ -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();
|
||||||
Loading…
Add table
Add a link
Reference in a new issue