mirror of
https://codeberg.org/keyoxide/keyoxide-web.git
synced 2024-12-22 23:09:29 -07:00
Add guides
This commit is contained in:
parent
271091a0d8
commit
caa43ce8af
19 changed files with 319 additions and 1 deletions
|
@ -72,6 +72,13 @@ a {
|
||||||
a.bigBtn {
|
a.bigBtn {
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
}
|
}
|
||||||
|
code {
|
||||||
|
display: block;
|
||||||
|
padding: 8px;
|
||||||
|
background-color: #eee;
|
||||||
|
border: solid 1px #ddd;
|
||||||
|
user-select: all;
|
||||||
|
}
|
||||||
textarea {
|
textarea {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 128px;
|
height: 128px;
|
||||||
|
|
18
index.php
18
index.php
|
@ -14,6 +14,8 @@ $router->map('GET', '/proofs', function() {}, 'proofs');
|
||||||
$router->map('GET', '/verify/[:uid]', function() {}, 'verifyUid');
|
$router->map('GET', '/verify/[:uid]', function() {}, 'verifyUid');
|
||||||
$router->map('GET', '/encrypt/[:uid]', function() {}, 'encryptUid');
|
$router->map('GET', '/encrypt/[:uid]', function() {}, 'encryptUid');
|
||||||
$router->map('GET', '/proofs/[:uid]', function() {}, 'proofsUid');
|
$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', '/faq', function() {}, 'faq');
|
||||||
$router->map('GET', '/[:uid]', function() {}, 'profile');
|
$router->map('GET', '/[:uid]', function() {}, 'profile');
|
||||||
|
|
||||||
|
@ -58,6 +60,22 @@ if(is_array($match) && is_callable($match['target'])) {
|
||||||
echo($content);
|
echo($content);
|
||||||
break;
|
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':
|
case 'faq':
|
||||||
readfile('pages/faq.html');
|
readfile('pages/faq.html');
|
||||||
break;
|
break;
|
||||||
|
|
51
pages/guides.html
Normal file
51
pages/guides.html
Normal 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>
|
29
pages/guides/dns.content.html
Normal file
29
pages/guides/dns.content.html
Normal 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>
|
1
pages/guides/dns.title.html
Normal file
1
pages/guides/dns.title.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Adding a DNS proof
|
33
pages/guides/github.content.html
Normal file
33
pages/guides/github.content.html
Normal 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>
|
1
pages/guides/github.title.html
Normal file
1
pages/guides/github.title.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Adding a Github proof
|
31
pages/guides/hackernews.content.html
Normal file
31
pages/guides/hackernews.content.html
Normal 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>
|
1
pages/guides/hackernews.title.html
Normal file
1
pages/guides/hackernews.title.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Adding a Hackernews proof
|
25
pages/guides/mastodon.content.html
Normal file
25
pages/guides/mastodon.content.html
Normal 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>
|
1
pages/guides/mastodon.title.html
Normal file
1
pages/guides/mastodon.title.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Adding a Mastodon proof
|
9
pages/guides/migrating-from-keybase.content.html
Normal file
9
pages/guides/migrating-from-keybase.content.html
Normal 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>
|
1
pages/guides/migrating-from-keybase.title.html
Normal file
1
pages/guides/migrating-from-keybase.title.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Migrating from Keybase
|
31
pages/guides/reddit.content.html
Normal file
31
pages/guides/reddit.content.html
Normal 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>
|
1
pages/guides/reddit.title.html
Normal file
1
pages/guides/reddit.title.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Adding a Reddit proof
|
31
pages/guides/twitter.content.html
Normal file
31
pages/guides/twitter.content.html
Normal 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>
|
1
pages/guides/twitter.title.html
Normal file
1
pages/guides/twitter.title.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Adding a Twitter proof
|
|
@ -29,9 +29,13 @@
|
||||||
<a class="bigBtn" href="/encrypt">encrypt message</a>
|
<a class="bigBtn" href="/encrypt">encrypt message</a>
|
||||||
<a class="bigBtn" href="/proofs">verify proofs</a>
|
<a class="bigBtn" href="/proofs">verify proofs</a>
|
||||||
</p>
|
</p>
|
||||||
|
<h2>Getting started</h2>
|
||||||
|
<p>
|
||||||
|
<a class="bigBtn" href="/guides">guides</a>
|
||||||
|
<a class="bigBtn" href="/faq">FAQ</a>
|
||||||
|
</p>
|
||||||
<h2>About</h2>
|
<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><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>
|
<p>
|
||||||
Made by <a href="https://yarmo.eu">Yarmo Mackenbach</a>.
|
Made by <a href="https://yarmo.eu">Yarmo Mackenbach</a>.
|
||||||
<br>
|
<br>
|
||||||
|
|
42
pages/template.html
Normal file
42
pages/template.html
Normal 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>
|
Loading…
Reference in a new issue