Large file storage for AT Protocol: an IPFS server & gateway with XRPC upload & admin. atfs.dev
ipfs atproto xrpc
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940<!doctype html><html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="theme-color" content="#f4fafa" media="(prefers-color-scheme: light)" /> <meta name="theme-color" content="#16302f" media="(prefers-color-scheme: dark)" /> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpolygon points='16,3 27,9.5 16,16 5,9.5' fill='%236acad1'/%3E%3Cpolygon points='5,9.5 16,16 16,29 5,22.5' fill='%23469ea2'/%3E%3Cpolygon points='27,9.5 16,16 16,29 27,22.5' fill='%23327478'/%3E%3C/svg%3E" /> <!-- Unhashed and outside the bundle on purpose: hack/bake-site-downloads.sh generates the raw-downloads page after this build and links the same stable URL. See web/static/atfs.css. --> <link rel="stylesheet" href="%sveltekit.assets%/atfs.css" /> <!-- Runs before the body is parsed, so any docs page's platform-block content (see CLAUDE.md's docs conventions) is already showing the right side by the time layout/paint happens — that's what lets a `?sbc#section-id` / `?docker#section-id` link land on the right heading via the browser's own native fragment scroll, with no scroll-handling code of our own, and avoids a flash of the wrong platform's content for a returning visitor. --> <script> (function () { var params = new URLSearchParams(location.search); var pref = params.has("docker") ? "docker" : params.has("sbc") ? "sbc" : localStorage.getItem("atfsDocsPlatform") || "sbc"; // sbc: the more common first-time visitor document.documentElement.setAttribute("data-platform-pref", pref); if (params.has("docker") || params.has("sbc")) { localStorage.setItem("atfsDocsPlatform", pref); // a shared link also becomes the new remembered default } })(); </script> %sveltekit.head% </head> <body data-sveltekit-preload-data="hover"> <div style="display: contents">%sveltekit.body%</div> </body></html>