<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on UNIX Esoterica</title>
    <link>https://unix-esoterica.com/posts/</link>
    <description>Recent content in Posts on UNIX Esoterica</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 26 Dec 2025 18:49:47 +0100</lastBuildDate>
    <atom:link href="https://unix-esoterica.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>OpenBSD Wireguard Keygen Script</title>
      <link>https://unix-esoterica.com/posts/openbsd-wireguard/</link>
      <pubDate>Fri, 26 Dec 2025 18:49:47 +0100</pubDate>
      <guid>https://unix-esoterica.com/posts/openbsd-wireguard/</guid>
      <description>&lt;p&gt;WireGuard has been officially included in OpenBSD as a native, in-kernel implementation since OpenBSD 6.8 released in October 2020.&lt;/p&gt;&#xA;&lt;p&gt;It is quite simple to create a private WireGuard key using the &amp;ldquo;openssl&amp;rdquo; command. However, the process of key derivation from a known private key isn&amp;rsquo;t as simple.&lt;/p&gt;&#xA;&lt;p&gt;This is a simple little script that I wrote to solve the problem of generating a WireGuard keypair using only the tools from a base install without the need for any additional software:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your GPG Key In Minutes</title>
      <link>https://unix-esoterica.com/posts/gpg-key/</link>
      <pubDate>Thu, 25 Dec 2025 21:19:21 +0100</pubDate>
      <guid>https://unix-esoterica.com/posts/gpg-key/</guid>
      <description>&lt;p&gt;Step 1 - Create Your Public/Private Key Pair and Revocation Certificate&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;gpg --expert --full-gen-key&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;NOTE: If you are on a console without GUI use this instead:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;gpg --expert --pinentry-mode=loopback --full-gen-key&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When asked what kind of key you want you will be presented with 14 options. Choose the 9th option which should be ECC (Elliptic Curve Cryptography) public/private keypair and an ECC signing key. In most cases the default option will be the best choice.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Keeping OpenBSD Up To Date</title>
      <link>https://unix-esoterica.com/posts/openbsd-updating/</link>
      <pubDate>Wed, 24 Dec 2025 12:58:21 +0100</pubDate>
      <guid>https://unix-esoterica.com/posts/openbsd-updating/</guid>
      <description>&lt;h3 id=&#34;note-feel-free-to-skip-ahead&#34;&gt;NOTE: Feel Free To Skip Ahead&lt;/h3&gt;&#xA;&lt;h3 id=&#34;openbsd-release-model-explained&#34;&gt;OpenBSD Release Model Explained&lt;/h3&gt;&#xA;&lt;p&gt;OpenBSD uses a strict, time-based release model focused on predictability and continuous development. OpenBSD releases new versions on a fixed six-month cycle.&lt;/p&gt;&#xA;&lt;h2 id=&#34;flavors&#34;&gt;Flavors&lt;/h2&gt;&#xA;&lt;p&gt;OpenBSD maintains three distinct &amp;ldquo;flavors&amp;rdquo; of the operating system simultaneously:&lt;/p&gt;&#xA;&lt;p&gt;-release: The official, static version of the OS released every six months (e.g., 7.5, 7.6). It is intended for users who prioritize stability and do not need the absolute latest features.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flush DNS on macOS Tahoe</title>
      <link>https://unix-esoterica.com/posts/macos-dns-flush/</link>
      <pubDate>Tue, 23 Dec 2025 13:00:15 +0100</pubDate>
      <guid>https://unix-esoterica.com/posts/macos-dns-flush/</guid>
      <description>&lt;p&gt;While not normally required, you may in rare circumstances find it useful to flush the DNS cache on your Mac. For example, you might experience undesirable DNS settings which persist despite all efforts to remove them through conventional means.&lt;/p&gt;&#xA;&lt;h3 id=&#34;flush-dns&#34;&gt;Flush DNS&lt;/h3&gt;&#xA;&lt;p&gt;NOTE: An iPhone sharing cellular data via USB is being used as an example here. Replace &amp;ldquo;iPhone USB&amp;rdquo; as needed.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo networksetup -setdnsservers &amp;#34;iPhone USB&amp;#34; Empty&#xA;sudo dscacheutil -flushcache&#xA;sudo killall -HUP mDNSResponder&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;verify-dns&#34;&gt;Verify DNS&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;scutil --dns&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Useful Links</title>
      <link>https://unix-esoterica.com/posts/links/</link>
      <pubDate>Tue, 29 Apr 2025 10:35:02 +0200</pubDate>
      <guid>https://unix-esoterica.com/posts/links/</guid>
      <description>&lt;h3 id=&#34;an-eclectic-collection-of-useful-urls&#34;&gt;An eclectic collection of useful URLs&lt;/h3&gt;&#xA;&lt;p&gt;I highly recommend reading official documentation first. I have provided a curated list of websites which I personally consider useful.&lt;/p&gt;&#xA;&lt;h2 id=&#34;openbsd&#34;&gt;OpenBSD&lt;/h2&gt;&#xA;&lt;h3 id=&#34;main-openbsd-sites&#34;&gt;Main OpenBSD Sites&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OpenBSD Main Site &lt;a href=&#34;https://www.openbsd.org&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.openbsd.org&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;OpenBSD FAQs &lt;a href=&#34;https://www.openbsd.org/faq/index.html&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.openbsd.org/faq/index.html&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;OpenBSD Manpages &lt;a href=&#34;https://man.openbsd.org&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://man.openbsd.org&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;OpenBSD Patches &lt;a href=&#34;https://www.openbsd.org/errata76.html&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.openbsd.org/errata76.html&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;OpenBSD Download &lt;a href=&#34;https://www.openbsd.org/faq/faq4.html#Download&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.openbsd.org/faq/faq4.html#Download&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;openbsd-projects&#34;&gt;OpenBSD Projects&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OpenSSH &lt;a href=&#34;https://www.openssh.com&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.openssh.com&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;LibreSSL &lt;a href=&#34;https://www.libressl.org&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.libressl.org&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;OpenBGPD &lt;a href=&#34;https://www.openbgpd.org&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.openbgpd.org&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;OpenNTPD &lt;a href=&#34;https://www.openntpd.org&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.openntpd.org&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;OpenSMTPD &lt;a href=&#34;https://www.opensmtpd.org&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.opensmtpd.org&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;keeping-openbsd-alive&#34;&gt;Keeping OpenBSD Alive&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The OpenBSD Foundation &lt;a href=&#34;https://www.openbsdfoundation.org&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://www.openbsdfoundation.org&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;other-openbsd-related-sites&#34;&gt;Other OpenBSD Related Sites&lt;/h3&gt;&#xA;&lt;p&gt;Hosting&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sysctl Hardening</title>
      <link>https://unix-esoterica.com/posts/sysctl-hardening/</link>
      <pubDate>Tue, 29 Apr 2025 08:41:24 +0200</pubDate>
      <guid>https://unix-esoterica.com/posts/sysctl-hardening/</guid>
      <description>&lt;p&gt;/etc/sysctl.conf - hardening&lt;/p&gt;&#xA;&lt;p&gt;Official OpenBSD Documentation&lt;/p&gt;&#xA;&lt;p&gt;sysctl(8) manpage - &lt;a href=&#34;https://man.openbsd.org/sysctl.8&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://man.openbsd.org/sysctl.8&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;sysctl.conf(5) manpage - &lt;a href=&#34;https://man.openbsd.org/sysctl.conf.5&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://man.openbsd.org/sysctl.conf.5&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;malloc(3) manpage - &lt;a href=&#34;https://man.openbsd.org/free&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;https://man.openbsd.org/free&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Sysctl Parameter&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ddb.panic=0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Reboot on a panic, instead of dropping into the debugger.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ddb.console=0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Prevent entry into the kernel debugger.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;net.inet.ip.forwarding=0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Prevent inet4 forwarding for standalone workstations ( unless needed ).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;machdep.allowaperature=0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;For systems that don&amp;rsquo;t run X.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vm.malloc_conf=CFGU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Individual arguments explained below.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;C ( Cache disabled )&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Reduces the chance that sensitive data ( like passwords, keys, etc ) remains in memory after being freed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;F ( Free junking )&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Easier to detect user-after-free bugs ( access to freed memory ), and prevents old data from leaking if memory is later misused.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;G ( Guard pages )&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Helps catch buffer overflows immediately by causing a segmentation fault when memory writes go past their bounds.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;U ( Use junking )&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Helps catch bugs where programs wrongly assume newly allocated memory.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;server-example---etcsysctlconf&#34;&gt;Server Example - /etc/sysctl.conf&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ddb.panic=0&#xA;ddb.console=0&#xA;vm.malloc_conf=CFGU&#xA;net.inet.ip.forwarding=0&#xA;machdep.allowaperature=0&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;firewall-example---etcsysctlconf&#34;&gt;Firewall Example - /etc/sysctl.conf&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ddb.panic=0&#xA;ddb.console=0&#xA;vm.malloc_conf=CFGU&#xA;net.inet.ip.forwarding=1&#xA;machdep.allowaperature=0&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;workstation-example---etcsysctlconf&#34;&gt;Workstation Example - /etc/sysctl.conf&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ddb.panic=1&#xA;ddb.console=1&#xA;vm.malloc_conf=CFGU&#xA;net.inet.ip.forwarding=0&#xA;machdep.allowaperature=1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Thanks to the author of the following page for teaching me about the malloc stuff:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hosting a HUGO website with OpenBSD</title>
      <link>https://unix-esoterica.com/posts/site-howto/</link>
      <pubDate>Wed, 20 Nov 2024 17:09:20 +0100</pubDate>
      <guid>https://unix-esoterica.com/posts/site-howto/</guid>
      <description>&lt;h2 id=&#34;intended-audience&#34;&gt;Intended Audience&lt;/h2&gt;&#xA;&lt;p&gt;This guide is intended for anyone who wants to setup a HUGO website runing on OpenBSD using httpd and relayd.&lt;/p&gt;&#xA;&lt;h2 id=&#34;document-scope&#34;&gt;Document Scope&lt;/h2&gt;&#xA;&lt;p&gt;It is assumed that you have some basic UNIX administration skills and that you have already setup an OpenBSD server to your liking. General setup and administration is outside the scope of this document. Instead, we will focus on setting up OpenBSD&amp;rsquo;s httpd server, relayd, SSL certificates, and so on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Day One</title>
      <link>https://unix-esoterica.com/posts/first-post/</link>
      <pubDate>Sun, 10 Nov 2024 21:54:53 +0100</pubDate>
      <guid>https://unix-esoterica.com/posts/first-post/</guid>
      <description>&lt;h2 id=&#34;site-up-and-running&#34;&gt;Site up and running&lt;/h2&gt;&#xA;&lt;p&gt;Today marks the start of a new adventure. The site is up and running.&lt;/p&gt;&#xA;&lt;p&gt;I look forward to sharing content such as howtos, UNIX history, stories, and adventures. In my early years many people helped me to get started. They were there to light my path and get me pointed in the right direction. Their efforts enabled me to discover my passion for all things UNIX and to really discover what facets I enjoyed from such a broad range of possibilities. Over time I was able to perfect my craft and my hobbies and work were one.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
