This repository has no description
1const repo = "did:plc:qsctypxlsrippb5wculrsj7q";
2const host = "knot1.tangled.sh";
3const ref = "trunk";
4
5const candidates = [
6 `/xrpc/sh.tangled.repo.tree?repo=${repo}&ref=${ref}&path=`,
7 `/xrpc/sh.tangled.repo.getTree?repo=${repo}&ref=${ref}&path=`,
8 `/xrpc/sh.tangled.repo.index?repo=${repo}&ref=${ref}`,
9 `/xrpc/sh.tangled.repo.index?repo=${repo}`,
10 `/xrpc/sh.tangled.repo.readme?repo=${repo}&ref=${ref}`,
11 `/xrpc/sh.tangled.repo.getReadme?repo=${repo}&ref=${ref}`,
12 `/xrpc/sh.tangled.repo.tags?repo=${repo}&limit=100`,
13 `/xrpc/sh.tangled.repo.listFiles?repo=${repo}&ref=${ref}&path=`,
14 `/xrpc/sh.tangled.repo.files?repo=${repo}&ref=${ref}&path=`,
15 `/xrpc/sh.tangled.repo.blob?repo=${repo}&ref=${ref}&path=README.md`,
16 `/xrpc/sh.tangled.repo.getBlob?repo=${repo}&ref=${ref}&path=README.md`,
17 `/xrpc/sh.tangled.repo.entry?repo=${repo}&ref=${ref}&path=README.md`,
18];
19
20for (const path of candidates) {
21 const url = `https://${host}${path}`;
22 try {
23 const ctrl = new AbortController();
24 const t = setTimeout(() => ctrl.abort(), 10000);
25 const resp = await fetch(url, { signal: ctrl.signal, headers: { accept: "application/json" } });
26 clearTimeout(t);
27 const txt = await resp.text();
28 console.log(`[${resp.status}] ${path.split("?")[0].replace("/xrpc/", "")}`);
29 if (resp.ok) console.log(` -> ${txt.slice(0, 400).replace(/\n/g, " ")}`);
30 } catch (e) {
31 console.log(`[ERR] ${path} -> ${e.name}`);
32 }
33}