diff options
Diffstat (limited to 'ci/invidiousCI.ts')
-rw-r--r-- | ci/invidiousCI.ts | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/ci/invidiousCI.ts b/ci/invidiousCI.ts index d27a3a4e..0782288d 100644 --- a/ci/invidiousCI.ts +++ b/ci/invidiousCI.ts @@ -3,25 +3,21 @@ import { InvidiousInstance, instanceMap } from "./invidiousType" import * as data from "../ci/invidious_instances.json"; // only https servers -const mapped: instanceMap = data - .filter((i: InvidiousInstance) => i[1]?.type === "https") - .map((instance: InvidiousInstance) => { +const mapped: instanceMap = (data as InvidiousInstance[]) + .filter((i) => i[1]?.type === "https") + .map((instance) => { return { name: instance[0], url: instance[1].uri, - dailyRatios: instance[1].monitor.dailyRatios, - thirtyDayUptime: instance[1]?.monitor["30dRatio"].ratio, + uptime: instance[1].monitor?.uptime || 0, + down: instance[1].monitor?.down ?? false } }); // reliability and sanity checks const reliableCheck = mapped .filter(instance => { - // 30d uptime >= 90% - const thirtyDayUptime = Number(instance.thirtyDayUptime) >= 90; - // available for at least 80/90 days - const dailyRatioCheck = instance.dailyRatios.filter(status => status.label !== "black"); - return thirtyDayUptime && dailyRatioCheck.length >= 80; + return instance.uptime > 80 && !instance.down; }) // url includes name .filter(instance => instance.url.includes(instance.name)); |