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

johnandersen777.bsky.social/atlibs-socialweb-computer-requester

socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons

0
0
main
70 lines · 2.9 KB Raw History
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="referrer" content="origin-when-cross-origin">
	<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>
		webrtc-connect, webrtc-terminal, requester-actions {
			display: block;
		}
	</style>
	<title>webrtc guest</title>
<!-- atlibs/ and atlibs-webrtc/ are symlinks to the sibling checkouts ../atlibs/javascript/src and ../atlibs-webrtc/js, so this directory serves on its own (python3 -m http.server). @atproto/api imports tlds/index.json; esm.sh serves it without a JSON import attribute, which Chrome rejects. Map it to the JS build. -->
	<script type="importmap">
	{
		"imports": {
			"@atproto/oauth-client-browser": "https://esm.sh/@atproto/oauth-client-browser@0.5.14",
			"@atproto/api": "https://esm.sh/@atproto/api@0.30.3",
			"@noble/curves/secp256k1.js": "https://esm.sh/@noble/curves@2.4.0/secp256k1.js",
			"age-encryption": "https://esm.sh/age-encryption@0.3.1",
			"@microsoft/dev-tunnels-ssh": "https://esm.sh/@microsoft/dev-tunnels-ssh@3.12.42",
			"buffer": "https://esm.sh/buffer@5.7.1",
			"atlibs/webrtc/": "./atlibs-webrtc/",
			"atlibs/": "./atlibs/",
			"https://esm.sh/tlds@^1.234.0/index.json": "https://esm.sh/tlds@1.261.0?target=es2022"
		}
	}
	</script>
	<script type="module" src="./requester-actions.js"></script>
	<script type="module" src="./webrtc-connect.js"></script>
	<script type="module" src="./webrtc-terminal.js"></script>
	<script type="module" src="./main.js"></script>
</head>
<body>
	<main class="container">
		<header>
			<hgroup>
				<h1>webrtc guest</h1>
				<p>Request a socialweb.computer VM and reach it over a WebRTC datachannel, all from this page: the requester wasm module, your OAuth session, an attestation key kept in the browser, signals sealed with age.</p>
			</hgroup>
			<nav>
				<ul>
					<li><a href="https://knotless.dev/johnandersen777.bsky.social/atlibs-socialweb-computer-requester">Source</a></li>
					<li id="whoami" style="font-family: monospace;"></li>
					<li id="logout-nav" style="display: none;"><a href="#">Logout</a></li>
				</ul>
			</nav>
		</header>

		<article id="loading-error" style="display: none; background-color: #861D13;"></article>

		<!-- signed out, the page can still read guest events and print signal inputs for a host -->
		<article id="login-container" style="display: none;">
			<h3>Login with the Atmosphere</h3>
			<form id="login-form">
				<fieldset role="group">
					<input name="username" id="username" placeholder="alice.example.com" style="font-family: monospace;" required>
					<button id="login-button">Login</button>
				</fieldset>
			</form>
			<p id="login-form-error" style="color: #E37474;"></p>
		</article>

		<requester-actions></requester-actions>
		<webrtc-connect></webrtc-connect>
		<webrtc-terminal></webrtc-terminal>
	</main>
</body>
</html>