apchk.xml 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type='text/xsl' href='xsl'?>
  3. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  4. <head>
  5. <link href="css" rel="stylesheet" type="text/css" />
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <meta name="generator" content="Seppo.Social" />
  8. <meta name="keywords" content="RFC7033 Webfinger AcrivityPub ActivityStreams Fediverse #Seppo" />
  9. <title>Resolve WebFinger RFC7033 etc.</title>
  10. </head>
  11. <body>
  12. <h2 id="rfc7033">WebFinger RFC7033</h2>
  13. <p>Resolve names like @alice@example.com (<a href="https://www.rfc-editor.org/rfc/rfc7033#section-4.5">WebFinger URIs</a>),
  14. http GET the <a href="https://www.rfc-editor.org/rfc/rfc7033#section-4.4">JSON Resource
  15. Descriptor</a>, parse as understood by <a href="https://seppo.social/">#Seppo</a>, re-encode and
  16. return as json. Usually a subset of the input.</p>
  17. <form name="webfinger" action="webfinger" method="get" enctype=
  18. "application/x-www-form-urlencoded" id="webfinger">
  19. Redirect automatically to<br />
  20. <input type="radio" name="redirect" id="none" value="none" /><label for=
  21. "none">none</label><br />
  22. <input type="radio" name="redirect" id="self" value='self' checked="checked" /><label for=
  23. "self">rel=self</label><br />
  24. <input type="radio" name="redirect" id="profpag" value=
  25. "http://webfinger.net/rel/profile-page" /><label for=
  26. "profpag">rel=http://webfinger.net/rel/profile-page</label><br />
  27. <input type="text" name="resource" placeholder="alice@example.com" pattern=
  28. "^([a-z]+:|@)?[^@ ]+@[^@ ]+$" size="45" minlength="5" autofocus="autofocus" required=
  29. "required" /> <input type="submit" />
  30. <!-- br/>
  31. <input type="text" name="priv_pem_url" value="private.pem" placeholder="optional private key pem url for actor profile GET signing" size="45" / -->
  32. </form>
  33. <h2 id="actor">AP actor profile</h2>
  34. <p>Http GET the <a href="https://www.w3.org/TR/activitypub/#actor-objects">ActivityPub Actor
  35. Profile</a>, parse as understood by <a href="https://seppo.social/">#Seppo</a>, re-encode and
  36. return as json. Usually a subset of the input.
  37. Signs the GET request with https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12#appendix-C as
  38. key of <a href="actor.jsa">actor.jsa</a>.
  39. </p>
  40. <form name="actor" action="actor" method="get" enctype="application/x-www-form-urlencoded" id=
  41. "actor">
  42. <input type="url" name="id" placeholder="https://example.com/actor/alice" size="45" minlength=
  43. "5" required="required" /> <input type="submit" />
  44. <!-- br/>
  45. <input type="text" name="priv_pem_url" value="private.pem" placeholder="optional private key pem url for actor profile GET signing" size="45" / -->
  46. </form>
  47. <h2 id="about">About <code>apchk.cgi</code></h2>
  48. <p>This is a stateless, single-file <a href="https://www.ietf.org/rfc/rfc3875.html">cgi</a> program. Operate it
  49. yourself on commodity shared webspace: <a href=
  50. "https://seppo.social/downloads/?f=apchk.cgi">Download apchk.cgi</a>,
  51. drop it on a cgi-capable webserver and you're set. To style it, redirect <a
  52. href="css">./css</a> or <a href="xsl">./xsl</a>. The <a href="https://seppo.social/development/">source</a>
  53. is free and open.</p> <p><a id="version" href="version" name="version">Version</a>,
  54. <a href="http://seppo.social/issues?labels=apchk.cgi">Issues &amp; Improvements</a>.</p>
  55. <p>Generously supported by 🇪🇺 <a href=
  56. "webfinger?redirect=http://webfinger.net/rel/profile-page&amp;resource=acct:EC_NGI@social.network.europa.eu">
  57. @EC_NGI@social.network.europa.eu</a> under <a href="https://nlnet.nl/">NLnet</a> grant <a href=
  58. "https://nlnet.nl/project/Seppo/">#Seppo</a>.</p>
  59. </body>
  60. </html>