~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/atlibs-fedproxy

fedproxy and ingress modules for atlibs: SSH public keys on your PDS, did:key ingress; pages and web tiles

0
0
main
55 lines · 2.1 KB Raw History
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.purple.min.css">
	<style>
		article { max-width: 100%; }
		.mono { font-family: monospace; overflow-wrap: anywhere; }
		#log { list-style: none; padding-left: 0; }
		#log li { list-style: none; }
	</style>
	<title>atlibs ingress</title>
	<!-- atlibs/ is a symlink to javascript/src, so this directory serves on its own (python3 -m http.server). -->
	<script type="importmap">
	{ "imports": { "atlibs/": "./atlibs/" } }
	</script>
	<script type="module" src="./main.js"></script>
</head>
<body>
	<main class="container">
		<header>
			<hgroup>
				<h1>ingress</h1>
				<p>This tab serves the ingress wasm module at a public did:key host on xrpc.fedproxy.com. The key lives in this browser.</p>
			</hgroup>
		</header>
		<article>
			<dl class="mono">
				<dt>did</dt><dd id="did">...</dd>
				<dt>public URL</dt><dd><a id="url" target="_blank" rel="noopener">...</a></dd>
				<dt>status</dt><dd id="status">loading</dd>
				<dt>served / relay drops</dt><dd><span id="served">0</span> / <span id="drops">0</span></dd>
			</dl>
			<p id="error" style="color: #E37474;"></p>
			<form id="serve-form">
				<div class="grid">
					<label>Requests to serve <input name="maxRequests" inputmode="numeric" placeholder="unlimited"></label>
					<label>Lifetime (ms) <input name="lifetimeMs" inputmode="numeric" placeholder="until stopped"></label>
					<label>Quiet (ms) <input name="quietMs" inputmode="numeric" placeholder="0: answer keepalives"></label>
				</div>
				<small>Quiet leaves the relay's keepalives unanswered on the first connection, so the relay evicts this tab after 90 s and the module re-registers.</small>
				<div class="grid">
					<button id="start">Serve</button>
					<button id="stop" type="button" class="secondary">Stop</button>
				</div>
			</form>
		</article>
		<article>
			<h4>Events</h4>
			<ul id="log" class="mono"></ul>
		</article>
	</main>
</body>
</html>