add 2FA totp article + sync - www.codemadness.org - www.codemadness.org saait content files
 (HTM) git clone git://git.codemadness.org/www.codemadness.org
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 1e225b6726d8761b381d0228708cab546da0e5aa
 (DIR) parent 3e6e7e90a23e84a219a76ccf5f3defaa0622e643
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Wed, 23 Mar 2022 09:33:52 +0100
       
       add 2FA totp article + sync
       
       Diffstat:
         M output/atom.xml                     |      12 ++++++++++++
         M output/atom_content.xml             |      60 +++++++++++++++++++++++++++++++
         M output/index                        |       1 +
         M output/index.html                   |       1 +
         M output/rss.xml                      |       8 ++++++++
         M output/rss_content.xml              |      55 +++++++++++++++++++++++++++++++
         M output/sitemap.xml                  |       4 ++++
         M output/twtxt.txt                    |       1 +
         M output/urllist.txt                  |       1 +
       
       9 files changed, 143 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/output/atom.xml b/output/atom.xml
       @@ -7,6 +7,18 @@
                <id>https://www.codemadness.org/atom.xml</id>
                <link rel="self" type="application/atom+xml" href="https://www.codemadness.org/atom.xml" />
        <entry>
       +        <title type="text">2FA TOTP without crappy authenticator apps</title>
       +        <link rel="alternate" type="text/html" href="https://www.codemadness.org/totp.html" />
       +        <id>https://www.codemadness.org/totp.html</id>
       +        <updated>2022-03-23T00:00:00Z</updated>
       +        <published>2022-03-23T00:00:00Z</published>
       +        <author>
       +                <name>Hiltjo</name>
       +                <uri>https://www.codemadness.org</uri>
       +        </author>
       +        <summary type="text">Using 2FA TOTP without crappy authenticator apps</summary>
       +</entry>
       +<entry>
                <title type="text">Setup an OpenBSD RISCV64 VM in QEMU</title>
                <link rel="alternate" type="text/html" href="https://www.codemadness.org/openbsd-riscv64-vm.html" />
                <id>https://www.codemadness.org/openbsd-riscv64-vm.html</id>
 (DIR) diff --git a/output/atom_content.xml b/output/atom_content.xml
       @@ -7,6 +7,66 @@
                <id>https://www.codemadness.org/atom.xml</id>
                <link rel="self" type="application/atom+xml" href="https://www.codemadness.org/atom.xml" />
        <entry>
       +        <title type="text">2FA TOTP without crappy authenticator apps</title>
       +        <link rel="alternate" type="text/html" href="https://www.codemadness.org/totp.html" />
       +        <id>https://www.codemadness.org/totp.html</id>
       +        <updated>2022-03-23T00:00:00Z</updated>
       +        <published>2022-03-23T00:00:00Z</published>
       +        <author>
       +                <name>Hiltjo</name>
       +                <uri>https://www.codemadness.org</uri>
       +        </author>
       +        <summary type="text">Using 2FA TOTP without crappy authenticator apps</summary>
       +        <content type="html"><![CDATA[<h1>2FA TOTP without crappy authenticator apps</h1>
       +        <p><strong>Last modification on </strong> <time>2022-03-23</time></p>
       +        <p>This describes how to use 2FA without using crappy authenticator "apps" or a
       +mobile device.</p>
       +<h2>Install</h2>
       +<p>On OpenBSD:</p>
       +<pre><code>pkg_add oath-toolkit zbar
       +</code></pre>
       +<ul>
       +<li>oath-toolkit is used to generate the digits based on the secret key.</li>
       +<li>zbar is used to scan the QR barcode text from the image.</li>
       +</ul>
       +<h2>Steps</h2>
       +<p>Save the QR code image from the authenticator app, website to an image file.
       +Scan the QR code text from the image:</p>
       +<pre><code>zbarimg image.png
       +</code></pre>
       +<p>An example QR code:</p>
       +<p><img src="downloads/2fa/qr.png" alt="QR code example" /></p>
       +<p>The output is typically something like:</p>
       +<pre><code>QR-Code:otpauth://totp/Example:someuser@codemadness.org?secret=SECRETKEY&amp;issuer=Codemadness
       +</code></pre>
       +<p>You only need to scan this QR-code for the secret key once.
       +Make sure to store the secret key in a private safe place and don't show it to
       +anyone else.</p>
       +<p>Using the secret key the following command outputs a 6-digit code by default.
       +In this example we also assume the key is base32-encoded.
       +There can be other parameters and options, this is documented in the Yubico URI
       +string format reference below.</p>
       +<p>Command:</p>
       +<pre><code>oathtool --totp -b SOMEKEY
       +</code></pre>
       +<ul>
       +<li>The --totp option uses the time-variant TOTP mode, by default it uses HMAC SHA1.</li>
       +<li>The -b option use base32 encoding of KEY instead of hex.</li>
       +</ul>
       +<p>Tip: you can create a script that automatically puts the digits in the
       +clipboard, for example:</p>
       +<pre><code>oathtool --totp -b SOMEKEY | xclip
       +</code></pre>
       +<h2>References</h2>
       +<ul>
       +<li><a href="https://linux.die.net/man/1/zbarimg">zbarimg(1) man page</a></li>
       +<li><a href="https://www.nongnu.org/oath-toolkit/man-oathtool.html">oathtool(1) man page</a></li>
       +<li><a href="https://datatracker.ietf.org/doc/html/rfc6238">RFC6238 - TOTP: Time-Based One-Time Password Algorithm</a></li>
       +<li><a href="https://docs.yubico.com/yesdk/users-manual/application-oath/uri-string-format.html">Yucibo.com - otpauth URI string format</a></li>
       +</ul>
       +]]></content>
       +</entry>
       +<entry>
                <title type="text">Setup an OpenBSD RISCV64 VM in QEMU</title>
                <link rel="alternate" type="text/html" href="https://www.codemadness.org/openbsd-riscv64-vm.html" />
                <id>https://www.codemadness.org/openbsd-riscv64-vm.html</id>
 (DIR) diff --git a/output/index b/output/index
       @@ -11,6 +11,7 @@ i                codemadness.org        70
        i                codemadness.org        70
        iPhlog posts                codemadness.org        70
        i                codemadness.org        70
       +12022-03-23 2FA TOTP without crappy authenticator apps        /phlog/totp        codemadness.org        70
        12021-10-23 Setup an OpenBSD RISCV64 VM in QEMU        /phlog/openbsd-riscv64-vm        codemadness.org        70
        12020-06-25 Sfeed_curses: a curses UI front-end for sfeed        /phlog/sfeed_curses        codemadness.org        70
        12019-11-10 hurl: HTTP, HTTPS and Gopher file grabber        /phlog/hurl        codemadness.org        70
 (DIR) diff --git a/output/index.html b/output/index.html
       @@ -39,6 +39,7 @@
                        <div id="main">
                                <h1>Posts</h1>
                                <table>
       +<tr><td><time>2022-03-23</time></td><td><a href="totp.html">2FA TOTP without crappy authenticator apps</a></td></tr>
        <tr><td><time>2021-10-23</time></td><td><a href="openbsd-riscv64-vm.html">Setup an OpenBSD RISCV64 VM in QEMU</a></td></tr>
        <tr><td><time>2020-06-25</time></td><td><a href="sfeed_curses-ui.html">Sfeed_curses: a curses UI front-end for sfeed</a></td></tr>
        <tr><td><time>2019-11-10</time></td><td><a href="hurl.html">hurl: HTTP, HTTPS and Gopher file grabber</a></td></tr>
 (DIR) diff --git a/output/rss.xml b/output/rss.xml
       @@ -7,6 +7,14 @@
                <description>blog with various projects and articles about computer-related things</description>
                <link>https://www.codemadness.org</link>
        <item>
       +        <title>2FA TOTP without crappy authenticator apps</title>
       +        <link>https://www.codemadness.org/totp.html</link>
       +        <guid>https://www.codemadness.org/totp.html</guid>
       +        <dc:date>2022-03-23T00:00:00Z</dc:date>
       +        <author>Hiltjo</author>
       +        <description>Using 2FA TOTP without crappy authenticator apps</description>
       +</item>
       +<item>
                <title>Setup an OpenBSD RISCV64 VM in QEMU</title>
                <link>https://www.codemadness.org/openbsd-riscv64-vm.html</link>
                <guid>https://www.codemadness.org/openbsd-riscv64-vm.html</guid>
 (DIR) diff --git a/output/rss_content.xml b/output/rss_content.xml
       @@ -7,6 +7,61 @@
                <description>blog with various projects and articles about computer-related things</description>
                <link>https://www.codemadness.org</link>
        <item>
       +        <title>2FA TOTP without crappy authenticator apps</title>
       +        <link>https://www.codemadness.org/totp.html</link>
       +        <guid>https://www.codemadness.org/totp.html</guid>
       +        <dc:date>2022-03-23T00:00:00Z</dc:date>
       +        <author>Hiltjo</author>
       +        <description><![CDATA[<h1>2FA TOTP without crappy authenticator apps</h1>
       +        <p><strong>Last modification on </strong> <time>2022-03-23</time></p>
       +        <p>This describes how to use 2FA without using crappy authenticator "apps" or a
       +mobile device.</p>
       +<h2>Install</h2>
       +<p>On OpenBSD:</p>
       +<pre><code>pkg_add oath-toolkit zbar
       +</code></pre>
       +<ul>
       +<li>oath-toolkit is used to generate the digits based on the secret key.</li>
       +<li>zbar is used to scan the QR barcode text from the image.</li>
       +</ul>
       +<h2>Steps</h2>
       +<p>Save the QR code image from the authenticator app, website to an image file.
       +Scan the QR code text from the image:</p>
       +<pre><code>zbarimg image.png
       +</code></pre>
       +<p>An example QR code:</p>
       +<p><img src="downloads/2fa/qr.png" alt="QR code example" /></p>
       +<p>The output is typically something like:</p>
       +<pre><code>QR-Code:otpauth://totp/Example:someuser@codemadness.org?secret=SECRETKEY&amp;issuer=Codemadness
       +</code></pre>
       +<p>You only need to scan this QR-code for the secret key once.
       +Make sure to store the secret key in a private safe place and don't show it to
       +anyone else.</p>
       +<p>Using the secret key the following command outputs a 6-digit code by default.
       +In this example we also assume the key is base32-encoded.
       +There can be other parameters and options, this is documented in the Yubico URI
       +string format reference below.</p>
       +<p>Command:</p>
       +<pre><code>oathtool --totp -b SOMEKEY
       +</code></pre>
       +<ul>
       +<li>The --totp option uses the time-variant TOTP mode, by default it uses HMAC SHA1.</li>
       +<li>The -b option use base32 encoding of KEY instead of hex.</li>
       +</ul>
       +<p>Tip: you can create a script that automatically puts the digits in the
       +clipboard, for example:</p>
       +<pre><code>oathtool --totp -b SOMEKEY | xclip
       +</code></pre>
       +<h2>References</h2>
       +<ul>
       +<li><a href="https://linux.die.net/man/1/zbarimg">zbarimg(1) man page</a></li>
       +<li><a href="https://www.nongnu.org/oath-toolkit/man-oathtool.html">oathtool(1) man page</a></li>
       +<li><a href="https://datatracker.ietf.org/doc/html/rfc6238">RFC6238 - TOTP: Time-Based One-Time Password Algorithm</a></li>
       +<li><a href="https://docs.yubico.com/yesdk/users-manual/application-oath/uri-string-format.html">Yucibo.com - otpauth URI string format</a></li>
       +</ul>
       +]]></description>
       +</item>
       +<item>
                <title>Setup an OpenBSD RISCV64 VM in QEMU</title>
                <link>https://www.codemadness.org/openbsd-riscv64-vm.html</link>
                <guid>https://www.codemadness.org/openbsd-riscv64-vm.html</guid>
 (DIR) diff --git a/output/sitemap.xml b/output/sitemap.xml
       @@ -1,6 +1,10 @@
        <?xml version="1.0" encoding="UTF-8"?>
        <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <url>
       +        <loc>https://www.codemadness.org/totp.html</loc>
       +        <lastmod>2022-03-23</lastmod>
       +</url>
       +<url>
                <loc>https://www.codemadness.org/openbsd-riscv64-vm.html</loc>
                <lastmod>2021-10-26</lastmod>
        </url>
 (DIR) diff --git a/output/twtxt.txt b/output/twtxt.txt
       @@ -1,3 +1,4 @@
       +2022-03-23T00:00:00Z        2FA TOTP without crappy authenticator apps: https://www.codemadness.org/totp.html
        2021-10-23T00:00:00Z        Setup an OpenBSD RISCV64 VM in QEMU: https://www.codemadness.org/openbsd-riscv64-vm.html
        2020-06-25T00:00:00Z        Sfeed_curses: a curses UI front-end for sfeed: https://www.codemadness.org/sfeed_curses-ui.html
        2019-11-10T00:00:00Z        hurl: HTTP, HTTPS and Gopher file grabber: https://www.codemadness.org/hurl.html
 (DIR) diff --git a/output/urllist.txt b/output/urllist.txt
       @@ -1,3 +1,4 @@
       +https://www.codemadness.org/totp.html
        https://www.codemadness.org/openbsd-riscv64-vm.html
        https://www.codemadness.org/sfeed_curses-ui.html
        https://www.codemadness.org/hurl.html