mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-14 15:37:12 +03:00
support piped instances in invidious list
This commit is contained in:
63
ci/generateList.ts
Normal file
63
ci/generateList.ts
Normal file
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
This file is only ran by GitHub Actions in order to populate the Invidious instances list
|
||||
|
||||
This file should not be shipped with the extension
|
||||
*/
|
||||
|
||||
/*
|
||||
Criteria for inclusion:
|
||||
Invidious
|
||||
- 30d uptime >= 90%
|
||||
- available for at least 80/90 days
|
||||
- must have been up for at least 90 days
|
||||
- HTTPS only
|
||||
- url includes name (this is to avoid redirects)
|
||||
|
||||
Piped
|
||||
- 30d uptime >= 90%
|
||||
- available for at least 80/90 days
|
||||
- must have been up for at least 90 days
|
||||
- must not be a wildcard redirect to piped.video
|
||||
- must be currently up
|
||||
- must have a functioning frontend
|
||||
- must have a functioning API
|
||||
*/
|
||||
|
||||
import { writeFile, existsSync } from "fs"
|
||||
import { join } from "path"
|
||||
import { getInvidiousList } from "./invidiousCI";
|
||||
// import { getPipedList } from "./pipedCI";
|
||||
|
||||
const checkPath = (path: string) => existsSync(path);
|
||||
const fixArray = (arr: string[]) => [...new Set(arr)].sort()
|
||||
|
||||
async function generateList() {
|
||||
// import file from https://api.invidious.io/instances.json
|
||||
const invidiousPath = join(__dirname, "invidious_instances.json");
|
||||
// import file from https://github.com/TeamPiped/piped-uptime/raw/master/history/summary.json
|
||||
const pipedPath = join(__dirname, "piped_instances.json");
|
||||
|
||||
// check if files exist
|
||||
if (!checkPath(invidiousPath) || !checkPath(pipedPath)) {
|
||||
console.log("Missing files")
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// static non-invidious instances
|
||||
const staticInstances = ["www.youtubekids.com"];
|
||||
// invidious instances
|
||||
const invidiousList = fixArray(getInvidiousList())
|
||||
// piped instnaces
|
||||
// const pipedList = fixArray(await getPipedList())
|
||||
|
||||
console.log([...staticInstances, ...invidiousList])
|
||||
|
||||
writeFile(
|
||||
join(__dirname, "./invidiouslist.json"),
|
||||
JSON.stringify([...staticInstances, ...invidiousList]),
|
||||
(err) => {
|
||||
if (err) return console.log(err);
|
||||
}
|
||||
);
|
||||
}
|
||||
generateList()
|
||||
Reference in New Issue
Block a user