Add guides

This commit is contained in:
Yarmo Mackenbach 2020-06-28 20:14:31 +02:00
parent 271091a0d8
commit caa43ce8af
19 changed files with 319 additions and 1 deletions

View file

@ -72,6 +72,13 @@ a {
a.bigBtn {
margin-right: 8px;
}
code {
display: block;
padding: 8px;
background-color: #eee;
border: solid 1px #ddd;
user-select: all;
}
textarea {
width: 100%;
height: 128px;

View file

@ -14,6 +14,8 @@ $router->map('GET', '/proofs', function() {}, 'proofs');
$router->map('GET', '/verify/[:uid]', function() {}, 'verifyUid');
$router->map('GET', '/encrypt/[:uid]', function() {}, 'encryptUid');
$router->map('GET', '/proofs/[:uid]', function() {}, 'proofsUid');
$router->map('GET', '/guides', function() {}, 'guides');
$router->map('GET', '/guides/[:id]', function() {}, 'guideId');
$router->map('GET', '/faq', function() {}, 'faq');
$router->map('GET', '/[:uid]', function() {}, 'profile');
@ -58,6 +60,22 @@ if(is_array($match) && is_callable($match['target'])) {
echo($content);
break;
case 'guides':
readfile('pages/guides.html');
break;
case 'guideId':
$id = $match['params']['id'];
$content = file_get_contents("pages/template.html");
$guideTitle = file_get_contents("pages/guides/$id.title.html");
$guideContent = file_get_contents("pages/guides/$id.content.html");
$guideContent = "<p><a href='/guides'>Back to guides</a></p>".$guideContent;
$content = str_replace('%TITLE%', $guideTitle, $content);
$content = str_replace('%CONTENT%', $guideContent, $content);
header('Content-Type: text/html; charset=utf-8');
echo($content);
break;
case 'faq':
readfile('pages/faq.html');
break;

51
pages/guides.html Normal file
View file

@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="favicon.png">
<title>Guides - Keyoxide</title>
<link rel="stylesheet" href="/assets/styles.css">
</head>
<body>
<header>
<div class="container">
<a href="/">Keyoxide</a>
<div class="spacer"></div>
<nav>
<a href="/verify">verify</a>
<a href="/encrypt">encrypt</a>
<a href="/proofs">proofs</a>
</nav>
</div>
</header>
<div class="container">
<h1>Guides</h1>
<div class="content">
<h3>Using keyoxide.org</h3>
<a href="/guides/migrating-from-keybase">Migrating from Keybase</a><br>
<h3>Adding proofs</h3>
<a href="/guides/dns">Adding a DNS proof</a><br>
<a href="/guides/mastodon">Adding a Mastodon proof</a><br>
<a href="/guides/twitter">Adding a Twitter proof</a><br>
<a href="/guides/hackernews">Adding a Hackernews proof</a><br>
<a href="/guides/reddit">Adding a Reddit proof</a><br>
<a href="/guides/github">Adding a Github proof</a><br>
</div>
<footer>
<p>
Sitemap:
<a href="/">index</a> -
<a href="/encrypt">encrypt</a> -
<a href="/verify">verify</a> -
<a href="/proofs">proofs</a> -
<a href="/faq">faq</a>
</p>
</footer>
</div>
</body>
</html>

View file

@ -0,0 +1,29 @@
<p>Let's add a decentralized DNS proof to your OpenPGP keys.</p>
<h3>Update DNS records for your website</h3>
<p>Add the following TXT record to the DNS records of the (sub)domain you want to prove control over (make sure to replace FINGERPRINT):</p>
<code>
openpgp4fpr:FINGERPRINT
</code>
<p>No specific TTL value is required.</p>
<h3>Update the PGP key</h3>
<p>First, edit the key (make sure to replace FINGERPRINT):</p>
<code>gpg --edit-key FINGERPRINT</code>
<p>Add a new notation:</p>
<code>notation</code>
<p>Enter the notation (make sure to replace DOMAIN, don't include https://):</p>
<code>proof@metacode.biz=dns:DOMAIN?type=TXT</code>
<p>Save the key:</p>
<code>save</code>
<p>Upload the key to the HKP servers (make sure to replace FINGERPRINT):</p>
<code>gpg --send-keys FINGERPRINT</code>
<p>And you're done! Reload your profile page, it should now show a verified domain.</p>

View file

@ -0,0 +1 @@
Adding a DNS proof

View file

@ -0,0 +1,33 @@
<p>Let's add a decentralized Github proof to your OpenPGP keys.</p>
<h3>Post a Github proof message</h3>
<p>Log in to <a href="https://github.com">github.com</a> and click on <strong>New gist</strong>.</p>
<p>Name the file <strong>openpgp.md</strong> and copy the following content into it (make sure to replace FINGERPRINT and USERNAME):</p>
<code>
This is an OpenPGP proof that connects [my OpenPGP key](https://keyoxide.org/FINGERPRINT) to [this Github account](https://github.com/USERNAME).
For details check out https://keyoxide.org/guides/proofs
<br><br>[Verifying my OpenPGP key: openpgp4fpr:FINGERPRINT]
</code>
<p>After creating a public gist, copy the link to the gist.</p>
<h3>Update the PGP key</h3>
<p>First, edit the key (make sure to replace FINGERPRINT):</p>
<code>gpg --edit-key FINGERPRINT</code>
<p>Add a new notation:</p>
<code>notation</code>
<p>Enter the notation (make sure to update with the link to the post copied above):</p>
<code>proof@metacode.biz=https://gist.github.com/USERNAME/12345678912345678912345678912345</code>
<p>Save the key:</p>
<code>save</code>
<p>Upload the key to the HKP servers (make sure to replace FINGERPRINT):</p>
<code>gpg --send-keys FINGERPRINT</code>
<p>And you're done! Reload your profile page, it should now show a verified Github account.</p>

View file

@ -0,0 +1 @@
Adding a Github proof

View file

@ -0,0 +1,31 @@
<p>Let's add a decentralized Hackernews proof to your OpenPGP keys.</p>
<h3>Update the Hackernews account</h3>
<p>Log in to <a href="https://news.ycombinator.com">Hackernews</a> and click on your <strong>username</strong>.</p>
<p>Add the following lines to your <strong>about</strong> (make sure to replace FINGERPRINT):</p>
<code>
This is an OpenPGP proof that connects my OpenPGP key to this Hackernews account.
For details check out https://keyoxide.org/guides/proofs
<br><br>[Verifying my OpenPGP key: openpgp4fpr:FINGERPRINT]
</code>
<h3>Update the PGP key</h3>
<p>First, edit the key (make sure to replace FINGERPRINT):</p>
<code>gpg --edit-key FINGERPRINT</code>
<p>Add a new notation:</p>
<code>notation</code>
<p>Enter the notation (make sure to replace USERNAME):</p>
<code>proof@metacode.biz=https://news.ycombinator.com/user?id=USERNAME</code>
<p>Save the key:</p>
<code>save</code>
<p>Upload the key to the HKP servers (make sure to replace FINGERPRINT):</p>
<code>gpg --send-keys FINGERPRINT</code>
<p>And you're done! Reload your profile page, it should now show a verified Hackernews account.</p>

View file

@ -0,0 +1 @@
Adding a Hackernews proof

View file

@ -0,0 +1,25 @@
<p>Let's add a decentralized Mastodon proof to your OpenPGP keys.</p>
<h3>Update the Mastodon account</h3>
<p>Log in to your Mastodon instance and click on <strong>Edit profile</strong>.</p>
<p>Add a new item under <strong>Profile metadata</strong> with the label <strong>OpenPGP</strong> and your PGP fingerprint as the content.</p>
<h3>Update the PGP key</h3>
<p>First, edit the key (make sure to replace FINGERPRINT):</p>
<code>gpg --edit-key FINGERPRINT</code>
<p>Add a new notation:</p>
<code>notation</code>
<p>Enter the notation (make sure to update the link):</p>
<code>proof@metacode.biz=https://INSTANCE.ORG/@USERNAME</code>
<p>Save the key:</p>
<code>save</code>
<p>Upload the key to the HKP servers (make sure to replace FINGERPRINT):</p>
<code>gpg --send-keys FINGERPRINT</code>
<p>And you're done! Reload your profile page, it should now show a verified Mastodon account.</p>

View file

@ -0,0 +1 @@
Adding a Mastodon proof

View file

@ -0,0 +1,9 @@
<p>Let's see how easy it is to get a Keyoxide profile when you already have a Keybase account.</p>
<h3>Claim your Keyoxide profile</h3>
<p>Have you uploaded your public key to a HKP server like <a href="https://keys.openpgp.org/">keys.openpgp.org</a>? Well, then you are all set, you have a Keyoxide profile, congratulations!</p>
<h3>Link to your Keyoxide profile</h3>
<p>Append your OpenPGP key's fingerprint to the domain (like <strong>https://keyoxide.org/FINGERPRINT</strong>) and there's your profile page.</p>

View file

@ -0,0 +1 @@
Migrating from Keybase

View file

@ -0,0 +1,31 @@
<p>Let's add a decentralized Reddit proof to your OpenPGP keys.</p>
<h3>Post a Reddit proof message</h3>
<p>Log in to <a href="https://www.reddit.com">www.reddit.com</a> and compose a new tweet with the following text (make sure to replace FINGERPRINT):</p>
<code>
This is an OpenPGP proof that connects my OpenPGP key to this Reddit account.
For details check out https://keyoxide.org/guides/proofs
<br><br>[Verifying my OpenPGP key: openpgp4fpr:FINGERPRINT]
</code>
<p>After posting, copy the link to the post.</p>
<h3>Update the PGP key</h3>
<p>First, edit the key (make sure to replace FINGERPRINT):</p>
<code>gpg --edit-key FINGERPRINT</code>
<p>Add a new notation:</p>
<code>notation</code>
<p>Enter the notation (make sure to update with the link to the post copied above):</p>
<code>proof@metacode.biz=https://www.reddit.com/user/USERNAME/comments/123123/TITLE/</code>
<p>Save the key:</p>
<code>save</code>
<p>Upload the key to the HKP servers (make sure to replace FINGERPRINT):</p>
<code>gpg --send-keys FINGERPRINT</code>
<p>And you're done! Reload your profile page, it should now show a verified Reddit account.</p>

View file

@ -0,0 +1 @@
Adding a Reddit proof

View file

@ -0,0 +1,31 @@
<p>Let's add a decentralized Twitter proof to your OpenPGP keys.</p>
<h3>Post a Twitter proof message</h3>
<p>Log in to <a href="https://twitter.com">twitter.com</a> and compose a new tweet with the following text (make sure to replace FINGERPRINT):</p>
<code>
This is an OpenPGP proof that connects my OpenPGP key to this Twitter account.
For details check out https://keyoxide.org/guides/proofs
<br><br>[Verifying my OpenPGP key: openpgp4fpr:FINGERPRINT]
</code>
<p>After posting, copy the link to the tweet.</p>
<h3>Update the PGP key</h3>
<p>First, edit the key (make sure to replace FINGERPRINT):</p>
<code>gpg --edit-key FINGERPRINT</code>
<p>Add a new notation:</p>
<code>notation</code>
<p>Enter the notation (make sure to update with the link to the tweet copied above):</p>
<code>proof@metacode.biz=https://twitter.com/USERNAME/status/1234567891234567891</code>
<p>Save the key:</p>
<code>save</code>
<p>Upload the key to the HKP servers (make sure to replace FINGERPRINT):</p>
<code>gpg --send-keys FINGERPRINT</code>
<p>And you're done! Reload your profile page, it should now show a verified Twitter account.</p>

View file

@ -0,0 +1 @@
Adding a Twitter proof

View file

@ -29,9 +29,13 @@
<a class="bigBtn" href="/encrypt">encrypt message</a>
<a class="bigBtn" href="/proofs">verify proofs</a>
</p>
<h2>Getting started</h2>
<p>
<a class="bigBtn" href="/guides">guides</a>
<a class="bigBtn" href="/faq">FAQ</a>
</p>
<h2>About</h2>
<p><a href="/">Keyoxide</a> is a lightweight and FOSS solution to make basic cryptography operations accessible to regular humans.</p>
<p>Read more in the <a href="/faq">FAQ</a>.</p>
<p>
Made by <a href="https://yarmo.eu">Yarmo Mackenbach</a>.
<br>

42
pages/template.html Normal file
View file

@ -0,0 +1,42 @@
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="favicon.png">
<title>%TITLE% - Keyoxide</title>
<link rel="stylesheet" href="/assets/styles.css">
</head>
<body>
<header>
<div class="container">
<a href="/">Keyoxide</a>
<div class="spacer"></div>
<nav>
<a href="/verify">verify</a>
<a href="/encrypt">encrypt</a>
<a href="/proofs">proofs</a>
</nav>
</div>
</header>
<div class="container">
<h1>%TITLE%</h1>
<div class="content">
%CONTENT%
</div>
<footer>
<p>
Sitemap:
<a href="/">index</a> -
<a href="/encrypt">encrypt</a> -
<a href="/verify">verify</a> -
<a href="/proofs">proofs</a> -
<a href="/faq">faq</a>
</p>
</footer>
</div>
</body>
</html>