Thu, 22 Jan 2026 19:36:58 +0300
yes
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/changelog.7 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,15 @@ +.TH CHANGELOG 7 "2026-01-12" "unixfriends" "Project Documentation" + +.SH NAME +changelog \- site update history + +.SH DESCRIPTION +This document describes notable changes to the unixfriends website. + +.SH 28.12.25 +.IP \(bu 2 +\fBadded public keys\fR + +.SH 27.12.25 +.IP \(bu 2 +\fBinitial public release\fR
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/changelog.7 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,15 @@ +.TH CHANGELOG 7 "2026-01-12" "unixfriends" "Project Documentation" + +.SH NAME +changelog \- site update history + +.SH DESCRIPTION +This document describes notable changes to the unixfriends website. + +.SH 28.12.25 +.IP \(bu 2 +\fBadded public keys\fR + +.SH 27.12.25 +.IP \(bu 2 +\fBinitial public release\fR
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/changelog.html Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <link rel="stylesheet" href="style.css" type="text/css" media="all"/> + <title>CHANGELOG(7)</title> +</head> +<body> +<table class="head"> + <tr> + <td class="head-ltitle">CHANGELOG(7)</td> + <td class="head-vol">Project Documentation</td> + <td class="head-rtitle">CHANGELOG(7)</td> + </tr> +</table> +<div class="manual-text"> +<p class="Pp"></p> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp">changelog - site update history</p> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">This document describes notable changes to the unixfriends + website.</p> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="28.12.25"><a class="permalink" href="#28.12.25">28.12.25</a></h1> +<dl class="Bl-tag"> + <dt>•</dt> + <dd><b>added public keys</b> + <p class="Pp"></p> + </dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="27.12.25"><a class="permalink" href="#27.12.25">27.12.25</a></h1> +<dl class="Bl-tag"> + <dt>•</dt> + <dd><b>initial public release</b></dd> +</dl> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">2026-01-12</td> + <td class="foot-os">unixfriends</td> + </tr> +</table> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/email.7 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,49 @@ +.TH EMAIL 7 "2026" "unixfriends" "Miscellaneous Information" +.SH NAME +email \- contact information +.SH DESCRIPTION +this page contains the contact email address. +.UR index.html +back to main page +.PP +the address is intentionally not written in plain text. +to obtain it, you must decode the following payload. + +.SH PAYLOAD +.nf +\& ,--, +\& ____ ,---.'| +\& ,' , `. ,---, ,---,| | : +\& ,-+-,.' _ | ' .' \\ ,`--.' |: : | +\& ,-+-. ; , || / ; '. | : :| ' : +\& ,--.'|' | ;|: : \\ : | '; ; ' +\&| | ,', | ':: | /\\ \\ | : |' | |__ +\&| | / | | ||| : ' ;. :' ' ;| | :.'| +\&' | : | : |,| | ;/ \\ \\ | |' : ; +\&; . | ; |--' ' : | \\ \\ ,' : ;| | ./ +\&| : | | , | | ' '--' | | '; : ; +\&| : ' |/ | : : ' : || ,/ +\&; | |`-' | | ,' ; |.' '---' +\&| ;/ `--'' '---' +\&'---' +\& (powered by OpenBSD OpenSMTPd) +.fi + +.SH DECODE +run the following command in a POSIX shell: + +.nf +echo "H4sIALoYUGkAA8tJzMxzyEnNzc8rSU3Uy8nP4QIAjNU6PhIAAAA=" | base64 -d | gzip -d +.fi + +.SH NOTES +this method is used to avoid automated address harvesting. + +.PP +\fBif you cannot decode this, you probably do not need the address.\f + +.SH SEE ALSO +.Xr base32 1 , +.Xr gzip 1 , +.Xr base64 1 , +.Xr mandoc 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/email.html Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,77 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <link rel="stylesheet" href="style.css" type="text/css" media="all"/> + <title>EMAIL(7)</title> +</head> +<body> +<table class="head"> + <tr> + <td class="head-ltitle">EMAIL(7)</td> + <td class="head-vol">Miscellaneous Information</td> + <td class="head-rtitle">EMAIL(7)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp">email - contact information</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">this page contains the contact email address. + <a class="Lk" href="index.html">back to main page</a></p> +<p class="Pp">the address is intentionally not written in plain text. to obtain + it, you must decode the following payload.</p> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="PAYLOAD"><a class="permalink" href="#PAYLOAD">PAYLOAD</a></h1> +<pre> ,--, + ____ ,---.'| + ,' , `. ,---, ,---,| | : + ,-+-,.' _ | ' .' \ ,`--.' |: : | + ,-+-. ; , || / ; '. | : :| ' : + ,--.'|' | ;|: : \ : | '; ; ' +| | ,', | ':: | /\ \ | : |' | |__ +| | / | | ||| : ' ;. :' ' ;| | :.'| +' | : | : |,| | ;/ \ \ | |' : ; +; . | ; |--' ' : | \ \ ,' : ;| | ./ +| : | | , | | ' '--' | | '; : ; +| : ' |/ | : : ' : || ,/ +; | |`-' | | ,' ; |.' '---' +| ;/ `--'' '---' +'---' + (powered by OpenBSD OpenSMTPd)</pre> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DECODE"><a class="permalink" href="#DECODE">DECODE</a></h1> +<p class="Pp">run the following command in a POSIX shell:</p> +<p class="Pp"></p> +<pre>echo "H4sIALoYUGkAA8tJzMxzyEnNzc8rSU3Uy8nP4QIAjNU6PhIAAAA=" | base64 -d | gzip -d</pre> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="NOTES"><a class="permalink" href="#NOTES">NOTES</a></h1> +<p class="Pp">this method is used to avoid automated address harvesting.</p> +<p class="Pp"></p> +<p class="Pp"><b>if you cannot decode this, you probably do not need the + address.</b></p> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">2026</td> + <td class="foot-os">unixfriends</td> + </tr> +</table> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/id_key.pub Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINZKEd84TD0Nz7b7oeeKMvch1no/3dHm43uXBFo4uIll lain@Lains-MacBook-Air
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/index.1 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,53 @@ +.TH LAIN 1 "2026" "unixfriends" "User Pages" +.SH NAME +\fBlain\fR \- silly guy +.SH SYNOPSIS +.B lain +.RI [ options ] +.SH DESCRIPTION +some kind of developer interested in backend, sysadmin and security. + +.SH CONTACTS +.TP +mail +.UR email.html +click here +.UE +.TP +telegram +@pvlabs + +.SH DEVICES +thinkpad x230, pixel 3a, macbook air m3, iphone 14 pro. + +.SH KEYS +.nf +age: age1xsmj00a47qsuul4lw8sfsyqqve9rtxy4h72q0md3cajplj9cr46qtg2q3u +.fi +.nf +ssh: curl https://iwakura.page/ssh@keys +.fi +.nf +minisign: curl https://iwakura.page/minisign1.pub +minisign (trezor): curl https://iwakura.page/minisign2.pub +.fi +.SH SEE ALSO +man(1), plan9(7), nixos(8), 9front(7), +.UR changelog.html +changelog(7), +.UE +.UR https://text.iwakura.page +notes(7), +.UE +.UR https://git.iwakura.page +git(1) +.UE +.UR irc.html +catgirl(1) +.UE +.UR ssh.html +ssh(1) +.UE + +.PP +i believe the internet should remain simple.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/index.html Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,75 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <link rel="stylesheet" href="style.css" type="text/css" media="all"/> + <title>LAIN(1)</title> +</head> +<body> +<table class="head"> + <tr> + <td class="head-ltitle">LAIN(1)</td> + <td class="head-vol">User Pages</td> + <td class="head-rtitle">LAIN(1)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><b>lain</b> - silly guy</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> +<p class="Pp"><b>lain</b> [<i>options</i>]</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">some kind of developer interested in backend, sysadmin and + security.</p> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="CONTACTS"><a class="permalink" href="#CONTACTS">CONTACTS</a></h1> +<dl class="Bl-tag"> + <dt id="mail"><a class="permalink" href="#mail">mail</a></dt> + <dd><a class="Lk" href="email.html">click here</a></dd> + <dt id="telegram"><a class="permalink" href="#telegram">telegram</a></dt> + <dd>@pvlabs + <p class="Pp"></p> + </dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="DEVICES"><a class="permalink" href="#DEVICES">DEVICES</a></h1> +<p class="Pp">thinkpad x230, pixel 3a, macbook air m3, iphone 14 pro.</p> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="KEYS"><a class="permalink" href="#KEYS">KEYS</a></h1> +<pre>age: age1xsmj00a47qsuul4lw8sfsyqqve9rtxy4h72q0md3cajplj9cr46qtg2q3u</pre> +<pre>ssh: curl https://iwakura.page/ssh@keys</pre> +<pre>minisign: curl https://iwakura.page/minisign1.pub +minisign (trezor): curl https://iwakura.page/minisign2.pub</pre> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +<p class="Pp">man(1), plan9(7), nixos(8), 9front(7), + <a class="Lk" href="changelog.html">changelog(7),</a> + <a class="Lk" href="https://text.iwakura.page">notes(7),</a> + <a class="Lk" href="https://git.iwakura.page">git(1)</a> + <a class="Lk" href="irc.html">catgirl(1)</a> + <a class="Lk" href="ssh.html">ssh(1)</a></p> +<p class="Pp"></p> +<p class="Pp">i believe the internet should remain simple.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">2026</td> + <td class="foot-os">unixfriends</td> + </tr> +</table> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/irc.7 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,14 @@ +.TH "IRC" 7 "2026" "unixfriends" "Miscellaneous Information" +.SH NAME +irc \- Internet Relay Chat +.SH DESCRIPTION +here is a link to my IRC server, sometimes im online sometimes im not +.nf +chat.iwakura.page +.fi + +.SH NOTES +one rule - dont be a dick + +.SH SEE ALSO +.Xr ssh 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/irc.html Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <link rel="stylesheet" href="style.css" type="text/css" media="all"/> + <title>IRC(7)</title> +</head> +<body> +<table class="head"> + <tr> + <td class="head-ltitle">IRC(7)</td> + <td class="head-vol">Miscellaneous Information</td> + <td class="head-rtitle">IRC(7)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp">irc - Internet Relay Chat</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">here is a link to my IRC server, sometimes im online sometimes im + not</p> +<pre>chat.iwakura.page</pre> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="NOTES"><a class="permalink" href="#NOTES">NOTES</a></h1> +<p class="Pp">one rule - dont be a dick</p> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">2026</td> + <td class="foot-os">unixfriends</td> + </tr> +</table> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/minisign.pub Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,2 @@ +untrusted comment: minisign public key 504795B4B4A0A852 +RWRSqKC0tJVHUAa+TU7d/NozuAwBnrqEnnPZREh4Ihuw0AP54g4ToyFp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/minisign1.pub Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,2 @@ +untrusted comment: minisign public key 504795B4B4A0A852 +RWRSqKC0tJVHUAa+TU7d/NozuAwBnrqEnnPZREh4Ihuw0AP54g4ToyFp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/minisign2.pub Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,2 @@ +untrusted comment: identity <signify://lain@notes|ed25519> +RWRUfLQF6H2Jgr8IvFUeY5Zx8aAsfYxOHYI72FnWk5OBGfpsQdCOkPdT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/scheme.css Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,66 @@ +/* taken from https://causal.agency/ */ +:root { + --ansi0: #161510; + --ansi1: #A32810; + --ansi2: #727A18; + --ansi3: #A37720; + --ansi4: #3D6266; + --ansi5: #7A4955; + --ansi6: #557A55; + --ansi7: #998D6B; + --ansi8: #4C4635; + --ansi9: #CC3214; + --ansi10: #8E991E; + --ansi11: #CC9528; + --ansi12: #4C7B7F; + --ansi13: #995B6B; + --ansi14: #6B996B; + --ansi15: #CCBC8E; + --ansi16: #14130E; + --ansi17: #B7A980; + --ansi18: #CCBC8E; + --ansi19: #A34110; + --ansi20: #7A7155; +} +.fg0 { color: var(--ansi0); } +.bg0 { background-color: var(--ansi0); } +.fg1 { color: var(--ansi1); } +.bg1 { background-color: var(--ansi1); } +.fg2 { color: var(--ansi2); } +.bg2 { background-color: var(--ansi2); } +.fg3 { color: var(--ansi3); } +.bg3 { background-color: var(--ansi3); } +.fg4 { color: var(--ansi4); } +.bg4 { background-color: var(--ansi4); } +.fg5 { color: var(--ansi5); } +.bg5 { background-color: var(--ansi5); } +.fg6 { color: var(--ansi6); } +.bg6 { background-color: var(--ansi6); } +.fg7 { color: var(--ansi7); } +.bg7 { background-color: var(--ansi7); } +.fg8 { color: var(--ansi8); } +.bg8 { background-color: var(--ansi8); } +.fg9 { color: var(--ansi9); } +.bg9 { background-color: var(--ansi9); } +.fg10 { color: var(--ansi10); } +.bg10 { background-color: var(--ansi10); } +.fg11 { color: var(--ansi11); } +.bg11 { background-color: var(--ansi11); } +.fg12 { color: var(--ansi12); } +.bg12 { background-color: var(--ansi12); } +.fg13 { color: var(--ansi13); } +.bg13 { background-color: var(--ansi13); } +.fg14 { color: var(--ansi14); } +.bg14 { background-color: var(--ansi14); } +.fg15 { color: var(--ansi15); } +.bg15 { background-color: var(--ansi15); } +.fg16 { color: var(--ansi16); } +.bg16 { background-color: var(--ansi16); } +.fg17 { color: var(--ansi17); } +.bg17 { background-color: var(--ansi17); } +.fg18 { color: var(--ansi18); } +.bg18 { background-color: var(--ansi18); } +.fg19 { color: var(--ansi19); } +.bg19 { background-color: var(--ansi19); } +.fg20 { color: var(--ansi20); } +.bg20 { background-color: var(--ansi20); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/ssh.7 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,22 @@ +.TH "SSH" 7 "2026" "unixfriends" "Miscellaneous Information" +.SH NAME +irc \- Internet Relay Chat +.SH DESCRIPTION +here is a link to my torus and +.UR https://git.causal.agency/play +"play" +.UE +server +.nf +ssh torus@ssh.iwakura.page +.fi +or +.nf +ssh play@ssh.iwakura.page +.fi + +.SH NOTES +one rule - dont be a dick + +.SH SEE ALSO +.Xr ssh 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/ssh.html Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <link rel="stylesheet" href="style.css" type="text/css" media="all"/> + <title>SSH(7)</title> +</head> +<body> +<table class="head"> + <tr> + <td class="head-ltitle">SSH(7)</td> + <td class="head-vol">Miscellaneous Information</td> + <td class="head-rtitle">SSH(7)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp">irc - Internet Relay Chat</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">here is a link to my torus and + <a class="Lk" href="https://git.causal.agency/play">"play"</a> + server</p> +<pre>ssh torus@ssh.iwakura.page</pre> +<p class="Pp">or</p> +<pre>ssh play@ssh.iwakura.page</pre> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="NOTES"><a class="permalink" href="#NOTES">NOTES</a></h1> +<p class="Pp">one rule - dont be a dick</p> +<p class="Pp"></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">2026</td> + <td class="foot-os">unixfriends</td> + </tr> +</table> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/ssh@keys Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,2 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINZKEd84TD0Nz7b7oeeKMvch1no/3dHm43uXBFo4uIll lain@Lains-MacBook-Air +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBEv42WCiA40Ir1FJ6i/DZFJNScBwawJrrLfrouqlTk5E1hIyGPsMfsMXuXnDLIQQpfam4l+1Q0pnu8SfnfgIcU= <ssh://lain@notes|nist256p1>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/style.css Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,29 @@ +/* styles from https://causal.agency/ */ +@import url("scheme.css"); + +table.head, table.foot { width: 100%; } +td.head-rtitle, td.foot-os { text-align: right; } +td.head-vol { text-align: center; } +div.Pp { margin: 1ex 0ex; } +div.Nd, div.Bf, div.Op { display: inline; } +span.Pa, span.Ad { font-style: italic; } +span.Ms { font-weight: bold; } +dl.Bl-diag > dt { font-weight: bold; } +code.Nm, code.Fl, code.Cm, code.Ic, code.In, code.Fd, code.Fn, +code.Cd { font-weight: bold; font-family: inherit; } + +div.head, div.foot { display: flex; justify-content: space-between; } +.head-ltitle, .foot-date { flex: 1; } +.head-vol { flex: 0 1 auto; text-align: center; } +.head-rtitle, .foot-os { flex: 1; text-align: right; } + +html { font-family: monospace; line-height: 1.25em; } +body { max-width: 80ch; margin: 1em auto; padding: 0 1ch; } +table { border-collapse: collapse; } +table.Nm code.Nm { padding-right: 1ch; } +table.foot { margin-top: 1em; } + +html { background-color: var(--ansi16); color: var(--ansi17); } +a { color: var(--ansi4); } +a:visited { color: var(--ansi5); } +a.permalink { color: var(--ansi3); text-decoration: none; }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email.7 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,49 @@ +.TH EMAIL 7 "2026" "unixfriends" "Miscellaneous Information" +.SH NAME +email \- contact information +.SH DESCRIPTION +this page contains the contact email address. +.UR index.html +back to main page +.PP +the address is intentionally not written in plain text. +to obtain it, you must decode the following payload. + +.SH PAYLOAD +.nf +\& ,--, +\& ____ ,---.'| +\& ,' , `. ,---, ,---,| | : +\& ,-+-,.' _ | ' .' \\ ,`--.' |: : | +\& ,-+-. ; , || / ; '. | : :| ' : +\& ,--.'|' | ;|: : \\ : | '; ; ' +\&| | ,', | ':: | /\\ \\ | : |' | |__ +\&| | / | | ||| : ' ;. :' ' ;| | :.'| +\&' | : | : |,| | ;/ \\ \\ | |' : ; +\&; . | ; |--' ' : | \\ \\ ,' : ;| | ./ +\&| : | | , | | ' '--' | | '; : ; +\&| : ' |/ | : : ' : || ,/ +\&; | |`-' | | ,' ; |.' '---' +\&| ;/ `--'' '---' +\&'---' +\& (powered by OpenBSD OpenSMTPd) +.fi + +.SH DECODE +run the following command in a POSIX shell: + +.nf +echo "H4sIABx1amkAA8tJzMxzyCxPzC4tStQrSExP5QIARi3kiBIAAAA=" | base64 -d | gzip -d +.fi + +.SH NOTES +this method is used to avoid automated address harvesting. + +.PP +\fBif you cannot decode this, you probably do not need the address.\f + +.SH SEE ALSO +.Xr base32 1 , +.Xr gzip 1 , +.Xr base64 1 , +.Xr mandoc 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/index.1 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,53 @@ +.TH LAIN 1 "2026" "unixfriends" "User Pages" +.SH NAME +\fBlain\fR \- silly guy +.SH SYNOPSIS +.B lain +.RI [ options ] +.SH DESCRIPTION +some kind of developer interested in backend, sysadmin and security. + +.SH CONTACTS +.TP +mail +.UR email.html +click here +.UE +.TP +telegram +@pvlabs + +.SH DEVICES +thinkpad x230, pixel 3a, macbook air m3, iphone 14 pro. + +.SH KEYS +.nf +age: age1xsmj00a47qsuul4lw8sfsyqqve9rtxy4h72q0md3cajplj9cr46qtg2q3u +.fi +.nf +ssh: curl https://iwakura.page/ssh@keys +.fi +.nf +minisign: curl https://iwakura.page/minisign1.pub +minisign (trezor): curl https://iwakura.page/minisign2.pub +.fi +.SH SEE ALSO +man(1), plan9(7), nixos(8), 9front(7), +.UR changelog.html +changelog(7), +.UE +.UR https://text.iwakura.page +notes(7), +.UE +.UR https://git.iwakura.page +git(1) +.UE +.UR irc.html +catgirl(1) +.UE +.UR ssh.html +ssh(1) +.UE + +.PP +i believe the internet should remain simple.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/irc.7 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,14 @@ +.TH "IRC" 7 "2026" "unixfriends" "Miscellaneous Information" +.SH NAME +irc \- Internet Relay Chat +.SH DESCRIPTION +here is a link to my IRC server, sometimes im online sometimes im not +.nf +chat.iwakura.page +.fi + +.SH NOTES +one rule - dont be a dick + +.SH SEE ALSO +.Xr ssh 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/makefile Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,39 @@ +DIST= dist + +.PHONY: all clean + +all: $(DIST)/ssh.html $(DIST)/irc.html $(DIST)/index.html $(DIST)/email.html $(DIST)/style.css $(DIST)/scheme.css $(DIST)/changelog.html + +$(DIST): + mkdir -p $(DIST) + +$(DIST)/index.html: index.1 style.css $(DIST) + cp index.1 $(DIST)/index.1 + mandoc -Thtml -Ostyle=style.css index.1 > $@ + +$(DIST)/email.html: email.7 style.css $(DIST) + mandoc -Thtml -Ostyle=style.css email.7 > $@ + cp email.7 $(DIST)/email.7 + cp "ssh@keys" $(DIST)/ + cp minisign*.pub $(DIST) + +$(DIST)/changelog.html: changelog.7 style.css $(DIST) + mandoc -Thtml -Ostyle=style.css changelog.7 > $@ + cp changelog.7 $(DIST)/changelog.7 + +$(DIST)/irc.html: irc.7 style.css $(DIST) + mandoc -Thtml -Ostyle=style.css irc.7 > $@ + cp irc.7 $(DIST)/irc.7 + +$(DIST)/ssh.html: ssh.7 style.css $(DIST) + mandoc -Thtml -Ostyle=style.css ssh.7 > $@ + cp ssh.7 $(DIST)/ssh.7 + +$(DIST)/style.css: style.css $(DIST) + cp style.css $@ + +$(DIST)/scheme.css: scheme.css $(DIST) + cp scheme.css $@ + +clean: + rm -rf $(DIST)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/minisign1.pub Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,2 @@ +untrusted comment: minisign public key 504795B4B4A0A852 +RWRSqKC0tJVHUAa+TU7d/NozuAwBnrqEnnPZREh4Ihuw0AP54g4ToyFp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/minisign2.pub Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,2 @@ +untrusted comment: identity <signify://lain@notes|ed25519> +RWRUfLQF6H2Jgr8IvFUeY5Zx8aAsfYxOHYI72FnWk5OBGfpsQdCOkPdT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scheme.css Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,66 @@ +/* taken from https://causal.agency/ */ +:root { + --ansi0: #161510; + --ansi1: #A32810; + --ansi2: #727A18; + --ansi3: #A37720; + --ansi4: #3D6266; + --ansi5: #7A4955; + --ansi6: #557A55; + --ansi7: #998D6B; + --ansi8: #4C4635; + --ansi9: #CC3214; + --ansi10: #8E991E; + --ansi11: #CC9528; + --ansi12: #4C7B7F; + --ansi13: #995B6B; + --ansi14: #6B996B; + --ansi15: #CCBC8E; + --ansi16: #14130E; + --ansi17: #B7A980; + --ansi18: #CCBC8E; + --ansi19: #A34110; + --ansi20: #7A7155; +} +.fg0 { color: var(--ansi0); } +.bg0 { background-color: var(--ansi0); } +.fg1 { color: var(--ansi1); } +.bg1 { background-color: var(--ansi1); } +.fg2 { color: var(--ansi2); } +.bg2 { background-color: var(--ansi2); } +.fg3 { color: var(--ansi3); } +.bg3 { background-color: var(--ansi3); } +.fg4 { color: var(--ansi4); } +.bg4 { background-color: var(--ansi4); } +.fg5 { color: var(--ansi5); } +.bg5 { background-color: var(--ansi5); } +.fg6 { color: var(--ansi6); } +.bg6 { background-color: var(--ansi6); } +.fg7 { color: var(--ansi7); } +.bg7 { background-color: var(--ansi7); } +.fg8 { color: var(--ansi8); } +.bg8 { background-color: var(--ansi8); } +.fg9 { color: var(--ansi9); } +.bg9 { background-color: var(--ansi9); } +.fg10 { color: var(--ansi10); } +.bg10 { background-color: var(--ansi10); } +.fg11 { color: var(--ansi11); } +.bg11 { background-color: var(--ansi11); } +.fg12 { color: var(--ansi12); } +.bg12 { background-color: var(--ansi12); } +.fg13 { color: var(--ansi13); } +.bg13 { background-color: var(--ansi13); } +.fg14 { color: var(--ansi14); } +.bg14 { background-color: var(--ansi14); } +.fg15 { color: var(--ansi15); } +.bg15 { background-color: var(--ansi15); } +.fg16 { color: var(--ansi16); } +.bg16 { background-color: var(--ansi16); } +.fg17 { color: var(--ansi17); } +.bg17 { background-color: var(--ansi17); } +.fg18 { color: var(--ansi18); } +.bg18 { background-color: var(--ansi18); } +.fg19 { color: var(--ansi19); } +.bg19 { background-color: var(--ansi19); } +.fg20 { color: var(--ansi20); } +.bg20 { background-color: var(--ansi20); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ssh.7 Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,22 @@ +.TH "SSH" 7 "2026" "unixfriends" "Miscellaneous Information" +.SH NAME +irc \- Internet Relay Chat +.SH DESCRIPTION +here is a link to my torus and +.UR https://git.causal.agency/play +"play" +.UE +server +.nf +ssh torus@ssh.iwakura.page +.fi +or +.nf +ssh play@ssh.iwakura.page +.fi + +.SH NOTES +one rule - dont be a dick + +.SH SEE ALSO +.Xr ssh 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ssh@keys Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,2 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINZKEd84TD0Nz7b7oeeKMvch1no/3dHm43uXBFo4uIll lain@Lains-MacBook-Air +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBEv42WCiA40Ir1FJ6i/DZFJNScBwawJrrLfrouqlTk5E1hIyGPsMfsMXuXnDLIQQpfam4l+1Q0pnu8SfnfgIcU= <ssh://lain@notes|nist256p1>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/style.css Thu Jan 22 19:36:58 2026 +0300 @@ -0,0 +1,29 @@ +/* styles from https://causal.agency/ */ +@import url("scheme.css"); + +table.head, table.foot { width: 100%; } +td.head-rtitle, td.foot-os { text-align: right; } +td.head-vol { text-align: center; } +div.Pp { margin: 1ex 0ex; } +div.Nd, div.Bf, div.Op { display: inline; } +span.Pa, span.Ad { font-style: italic; } +span.Ms { font-weight: bold; } +dl.Bl-diag > dt { font-weight: bold; } +code.Nm, code.Fl, code.Cm, code.Ic, code.In, code.Fd, code.Fn, +code.Cd { font-weight: bold; font-family: inherit; } + +div.head, div.foot { display: flex; justify-content: space-between; } +.head-ltitle, .foot-date { flex: 1; } +.head-vol { flex: 0 1 auto; text-align: center; } +.head-rtitle, .foot-os { flex: 1; text-align: right; } + +html { font-family: monospace; line-height: 1.25em; } +body { max-width: 80ch; margin: 1em auto; padding: 0 1ch; } +table { border-collapse: collapse; } +table.Nm code.Nm { padding-right: 1ch; } +table.foot { margin-top: 1em; } + +html { background-color: var(--ansi16); color: var(--ansi17); } +a { color: var(--ansi4); } +a:visited { color: var(--ansi5); } +a.permalink { color: var(--ansi3); text-decoration: none; }