<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='xsl'?>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <meta name="generator" content="HTML Tidy for HTML5 for FreeBSD version 5.8.0" />
  <link href="css" rel="stylesheet" type="text/css" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="generator" content="Seppo.mro.name" />
  <meta name="keywords" content="RFC7033 Webfinger AcrivityPub ActivityStreams Fediverse #Seppo" />
  <title>Resolve WebFinger RFC7033 etc.</title>
</head>
<body>
  <h2 id="rfc7033"><a href="#rfc7033">WebFinger RFC7033</a></h2>
  <ol>
    <li>Resolve names like @alice@example.org, alice@example.org or acct:alice@example.org
    (<a href="https://www.rfc-editor.org/rfc/rfc7033#section-4.5">WebFinger URIs</a>),</li>
    <li>http GET the <a href="https://www.rfc-editor.org/rfc/rfc7033#section-4.4">JSON Resource
    Descriptor</a>,</li>
    <li>parse as understood by <a href="https://seppo.mro.name/">#Seppo</a>,</li>
    <li>re-encode and return as json. Usually a subset of the input.</li>
  </ol>
  <form name="webfinger" action="webfinger" method="get" enctype=
  "application/x-www-form-urlencoded" id="webfinger">
    Redirect automatically to<br />
    <input type="radio" name="redirect-rel" id="none" value="none" /><label for=
    "none">none</label><br />
    <input type="radio" name="redirect-rel" id="self" value="self" checked="checked" /><label for=
    "self">rel=self</label><br />
    <input type="radio" name="redirect-rel" id="profpag" value=
    "http://webfinger.net/rel/profile-page" /><label for=
    "profpag">rel=http://webfinger.net/rel/profile-page</label><br />
    <input type="text" name="resource" placeholder="alice@example.org" pattern=
    "^([a-z]+:|@)?[^@ ]+@[^@ ]+$" size="45" minlength="5" autofocus="autofocus" required=
    "required" /><input type="submit" />
  </form>
  <h2 id="actor"><a href="#actor">AP actor profile</a></h2>
  <ol>
    <li>Http GET the <a href="https://www.w3.org/TR/activitypub/#actor-objects">ActivityPub Actor
    Profile</a>,</li>
    <li>parse as understood by <a href="https://seppo.mro.name/">#Seppo</a>,</li>
    <li>re-encode and return as json. Usually a subset of the input.</li>
  </ol>
  <p>Signs the GET request with
  https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12#appendix-C as key of
  <a href="actor.jsa">actor.jsa</a>.</p>
  <form name="actor" action="actor" method="get" enctype="application/x-www-form-urlencoded" id=
  "actor">
    <input type="url" name="id" placeholder="https://example.org/actor/alice" size="45" minlength=
    "5" required="required" /><input type="submit" />
  </form>
  <h2 id="about"><a href="#about">About <code>apchk.cgi</code></a></h2>
  <p>This is an ephemeral (stateless), single-file <a href=
  "https://www.ietf.org/rfc/rfc3875.html">cgi</a> program. Operate it yourself on commodity shared
  webspace: <a href="https://seppo.mro.name/downloads/?f=apchk.cgi">Download apchk.cgi</a>, copy it
  to a cgi-capable webserver, make it executable (chmod 555) and you're set. To style it to your
  liking, redirect <a href="css">./css</a> or <a href="xsl">./xsl</a> to yours. The <a href=
  "https://seppo.mro.name/development/">source</a> is free and open.</p>
  <p><a id="version" href="version" name="version">Version</a>, <a href=
  "http://seppo.mro.name/issues?labels=apchk.cgi">Issues &amp; Improvements</a>.</p>
  <p>Generously supported by 🇪🇺 <a href=
  "webfinger?redirect-rel=http://webfinger.net/rel/profile-page&amp;resource=acct:EC_NGI@ec.mro.name-network.europa.eu">
  @EC_NGI@ec.mro.name-network.europa.eu</a> under <a href="https://nlnet.nl/">NLnet</a> grant
  <a href="https://nlnet.nl/project/Seppo/">#Seppo</a>.</p>
</body>
</html>
