aboutsummaryrefslogtreecommitdiffhomepage
path: root/ci/invidiousCI.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ci/invidiousCI.ts')
-rw-r--r--ci/invidiousCI.ts16
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));