instances/index.js

50 lines
1.3 KiB
JavaScript
Raw Normal View History

2023-08-16 10:12:14 +03:00
const fs = require("fs");
const instances = JSON.parse(fs.readFileSync("instances.json", "utf8"));
2024-05-22 17:44:40 +03:00
function badge(url, label, path) {
return `![${label}](https://img.shields.io/badge/dynamic/json?url=${encodeURIComponent(
url
)}&query=${encodeURIComponent(path)}&label=${encodeURIComponent(label)})`;
}
2023-08-16 10:12:14 +03:00
2024-05-22 17:44:40 +03:00
function static(label, text) {
return `![${label}](https://img.shields.io/badge/${label}-${text}-blue)`;
}
2023-08-16 10:12:14 +03:00
2024-05-22 17:44:40 +03:00
async function run() {
fs.writeFileSync(
"README.md",
2024-07-18 09:54:45 +03:00
`# Instances of TXTDot proxies\n\n${(
2024-05-22 17:44:40 +03:00
await Promise.all(
instances.map(async (instance) => {
if (typeof instance === "string") {
const config_url = instance + "/configuration/json";
return `- <${instance}> ${badge(
config_url,
"version",
"version"
)} ${badge(config_url, "protocol", "protocol")} ${badge(
config_url,
"searx",
"third_party.searx_url"
)} ${badge(
config_url,
"webder",
"third_party.webder_url"
)} ${badge(
config_url,
"image compression",
"proxy.img_compress"
)}`;
2024-05-22 17:44:40 +03:00
}
})
)
).join("\n")}
`
);
}
run();