49 lines
4.8 KiB
HTML
49 lines
4.8 KiB
HTML
<!doctype html>
|
|
<html lang='en'>
|
|
<head>
|
|
<title>Dotplan Online</title>
|
|
<meta charset='utf-8'>
|
|
<link rel='stylesheet' href='style.css'>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<header>
|
|
<h1>Dotplan Online</h1>
|
|
</header>
|
|
<h2>What is Dotplan?</h2>
|
|
<p>Dotplan is an API specification through which the technically capable can express their personalities (or lack thereof) with one another. A modern, decentralized re-imagining of the Unix <a href='https://unix.stackexchange.com/questions/122782/what-is-plan-for-users'>plan</a> file. It uses <a href='https://jedisct1.github.io/minisign/'>minisign</a> to verify authenticity.</p>
|
|
<h2>What is Dotplan Online?</h2>
|
|
<p>This site is a free Dotplan provider and relay running the <a href='https://github.com/rudism/dotplan-online'>Dotplan reference implementation</a>. If you're incapable of hosting your own (or too lazy), you can point your email domain here via a <code>SRV</code> record and use it as your Dotplan provider.</p>
|
|
<h2>How does it work?</h2>
|
|
<h3>Dotplan API</h3>
|
|
<p>Fetch the plan for <code>example@dotplan.online</code> as plain text:</p>
|
|
<pre><code> curl https://dotplan.online/example@dotplan.online</pre>
|
|
<p>Fetch the plan for <code>example@dotplan.online</code> as JSON:</p>
|
|
<pre><code> curl -H 'Accept: application/json' \
|
|
https://dotplan.online/example@dotplan.online</code></pre>
|
|
<p>See the <a href='https://github.com/rudism/dotplan-online'>GitHub</a> for more details, such as how to verify signed plans.</p>
|
|
<h3>Dotplan Online</h3>
|
|
<p>Register the email address <code>test@example.com</code> with password <code>my-password-123</code> (an email with further instructions will be sent):</p>
|
|
<pre><code> curl -H 'Content-Type: application/json' \
|
|
-XPOST -d '{"password":"my-password-123"}' \
|
|
https://dotplan.online/users/test@example.com</code></pre>
|
|
<p>Retrieve an authentication token for the account created above:</p>
|
|
<pre><code> curl -H 'Accept: application/json' \
|
|
-u 'test@example.com:my-password-123' \
|
|
https://dotplan.online/token</code></pre>
|
|
<p>Update the plan for <code>test@example.com</code> with the authentication token retrieved above:</p>
|
|
<pre><code> curl -H 'Content-Type: application/json' \
|
|
-XPUT -d '{"auth":"AUTH_TOKEN","plan":"This is my first plan!"}' \
|
|
https://dotplan.online/plan/test@example.com</code></pre>
|
|
<p>See the <a href='https://github.com/rudism/dotplan-online'>GitHub</a> for more details, such as how to sign plans for authenticity and how to support service discovery via domain <a href='https://en.wikipedia.org/wiki/SRV_record'>SRV records</a>.</p>
|
|
<h2>What's the point?</h2>
|
|
<p>I like the idea of plan files, and wanted one that I could easily update and inject into my static website using javascript. This was the result.</p>
|
|
<footer>
|
|
<p>The Dotplan Online source code is licensed under the <a href='http://www.wtfpl.net/'>WTFPL</a>.</p>
|
|
<p>Privacy policy: Dotplan Online collects whatever you send it via the API. Dotplan Online shares your plan contents with anyone who requests it via the API. It does not share any other data, personally identifiable or otherwise, with anyone else.</p>
|
|
<p>Terms: This was a silly weekend idea and I can't guarantee this site or the associated service will stick around. If I'm made aware of inappropriate content in a plan I reserve the right to remove it and terminate the associated accounts. If you like this idea and don't want to worry about any of that, you could (and should!) host your own.</p>
|
|
</footer>
|
|
</main>
|
|
<a href="https://github.com/rudism/dotplan-online" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#88b8f6; color:#151513; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>
|
|
</body>
|
|
</html>
|