<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[wgb.me]]></title><description><![CDATA[wgb.me]]></description><link>https://wgb.me/</link><image><url>https://wgb.me/favicon.png</url><title>wgb.me</title><link>https://wgb.me/</link></image><generator>Ghost 5.107</generator><lastBuildDate>Tue, 19 May 2026 20:45:33 GMT</lastBuildDate><atom:link href="https://wgb.me/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Comic Wall Display]]></title><description><![CDATA[<p>I wanted some shelves to display comic books on my office wall. There were a few requirements that I had:</p><ul><li>No visible fasteners</li><li>Comics cannot fall off</li><li>Easy to switch out comics</li><li>Potential for future lighting</li></ul><p>The result is a French cleat system (no visible fasteners) with &quot;lips&quot;</p>]]></description><link>https://wgb.me/comic-wall-display/</link><guid isPermaLink="false">6582067b61339100015901eb</guid><category><![CDATA[comics]]></category><category><![CDATA[woodworking]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Sun, 12 Nov 2023 20:24:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/IMG_8969.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/IMG_8969.jpg" alt="Comic Wall Display"><p>I wanted some shelves to display comic books on my office wall. There were a few requirements that I had:</p><ul><li>No visible fasteners</li><li>Comics cannot fall off</li><li>Easy to switch out comics</li><li>Potential for future lighting</li></ul><p>The result is a French cleat system (no visible fasteners) with &quot;lips&quot; to keep comics secure similar to a hand plane till (no falling/easy switching) with 1/2&quot; channels routed in the cleats for possible lighting in the future. The results are as close to the picture in my mind as I&apos;ve ever come. Next steps will be to get the 3D printer working again so I can print spacers that will allow me to display CGC and <a href="https://www.gatorguardcomics.com/?ref=wgb.me">Gatorguard</a> slabs on the top row.</p>]]></content:encoded></item><item><title><![CDATA[Maple Scrap Pen Display]]></title><description><![CDATA[<p>This is starting to feel like <a href="https://www.youtube.com/watch?v=vx4aVdqrbWc&amp;list=PLuKoJWkcJCp4Kqw_bg6F73tQ5qpVm8YOf&amp;ref=wgb.me">Pask Makes&apos; scrapwood challenge</a>. Much like <a href="https://wgb.me/wand-stand/">the wands</a>, I had a bunch of turned pens scattered around. As any self-respecting woodworker does, I had a small offcut scrap that I just couldn&apos;t bring myself to throw away. I think I originally</p>]]></description><link>https://wgb.me/maple-scrap-pen-display/</link><guid isPermaLink="false">6582065861339100015901da</guid><category><![CDATA[woodworking]]></category><category><![CDATA[turning]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Fri, 17 Feb 2023 21:02:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/IMG_6518.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/IMG_6518.jpg" alt="Maple Scrap Pen Display"><p>This is starting to feel like <a href="https://www.youtube.com/watch?v=vx4aVdqrbWc&amp;list=PLuKoJWkcJCp4Kqw_bg6F73tQ5qpVm8YOf&amp;ref=wgb.me">Pask Makes&apos; scrapwood challenge</a>. Much like <a href="https://wgb.me/wand-stand/">the wands</a>, I had a bunch of turned pens scattered around. As any self-respecting woodworker does, I had a small offcut scrap that I just couldn&apos;t bring myself to throw away. I think I originally wanted to turn it into a small desk clock (which maybe I&apos;ll still do someday). Instead, it&apos;s also the perfect size for a pen holder/display. It can hold up to 17 pens in a 6-5-6 staggered row arrangement. Finished with a quick and simple <a href="https://amzn.to/3S5CdOX?ref=wgb.me">semi-gloss Varathane</a>.</p><p>Back row pens are (left to right): white oak, zebra wood, purple heart (can&apos;t really see in this pic), cherry, cherry, purple heart</p><p>Middle pen is &quot;cosmic&quot; maple -- just plain old maple died with red and blue and with glow-in-the-dark paint flecks</p>]]></content:encoded></item><item><title><![CDATA[Wand Stand]]></title><description><![CDATA[<p>I made a small handful of wands when I first got the ShopSmith as a lathe. Since then, the wands have just kinda been floating around the house on random surfaces. I finally had enough and decided to make some sort of display/stand for them. There&apos;s been</p>]]></description><link>https://wgb.me/wand-stand/</link><guid isPermaLink="false">6582063761339100015901cc</guid><category><![CDATA[woodworking]]></category><category><![CDATA[turning]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Fri, 17 Feb 2023 01:12:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/IMG_6505.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/IMG_6505.jpg" alt="Wand Stand"><p>I made a small handful of wands when I first got the ShopSmith as a lathe. Since then, the wands have just kinda been floating around the house on random surfaces. I finally had enough and decided to make some sort of display/stand for them. There&apos;s been a scrap of white oak that&apos;s been on the shelf but unused for a couple years now. It&apos;s a live edge but about 2&quot; at the narrowest so not good for much. I took that piece, cut it into 3 pieces, and stacked them for a 3D mountain-like effect. It&apos;s finished with 1 application of BLO (for color mostly) with shellac+BLO on top for finish. It was a fun project as a functional &quot;artistic&quot; piece with no planning.</p><p>The wands, left to right, are -- wood from a Christmas tree, dyed maple, purple heart, white oak, and padauk.</p>]]></content:encoded></item><item><title><![CDATA[Red Wings Logo]]></title><description><![CDATA[<p>This is a gift for a friend who sent us some stuff out of the blue after the tornado. The red wood in the logo is padauk (naturally red) on a maple background. Frame is walnut. Cut out using <a href="https://www.etsy.com/shop/ShopHelloDisco?ref=wgb.me">Hello Disco&apos;s</a> laser cutter.</p><p>[ <a href="https://imgur.com/a/Q9YMmy3?ref=wgb.me">wgb0.imgur.com</a> ]</p>]]></description><link>https://wgb.me/red-wings-logo/</link><guid isPermaLink="false">6582061061339100015901b9</guid><category><![CDATA[woodworking]]></category><category><![CDATA[laser]]></category><category><![CDATA[laser cutter]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Fri, 10 Feb 2023 00:11:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/Red-Wings-Logo---Imgur.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/Red-Wings-Logo---Imgur.jpg" alt="Red Wings Logo"><p>This is a gift for a friend who sent us some stuff out of the blue after the tornado. The red wood in the logo is padauk (naturally red) on a maple background. Frame is walnut. Cut out using <a href="https://www.etsy.com/shop/ShopHelloDisco?ref=wgb.me">Hello Disco&apos;s</a> laser cutter.</p><p>[ <a href="https://imgur.com/a/Q9YMmy3?ref=wgb.me">wgb0.imgur.com</a> ]</p>]]></content:encoded></item><item><title><![CDATA[Comic Book Holders]]></title><description><![CDATA[<p>With my ever-growing comic collection, I needed some extra holders to keep my &quot;loose&quot; comics safe. The spines are made primarily from pallet wood (maple, red oak, and ash?). Sides are cherry ply. Made 12 holders but apparently have 2 extra &quot;spines&quot; so I need to</p>]]></description><link>https://wgb.me/comic-book-holders/</link><guid isPermaLink="false">658205f061339100015901ab</guid><category><![CDATA[woodworking]]></category><category><![CDATA[comics]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Sat, 04 Feb 2023 00:01:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/Comic-Book-Holders---Imgur.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/Comic-Book-Holders---Imgur.jpg" alt="Comic Book Holders"><p>With my ever-growing comic collection, I needed some extra holders to keep my &quot;loose&quot; comics safe. The spines are made primarily from pallet wood (maple, red oak, and ash?). Sides are cherry ply. Made 12 holders but apparently have 2 extra &quot;spines&quot; so I need to cut some more sides.</p><p>The holders don&apos;t have any finish applied to the outsides yet in this picture, but it was the best close-up picture I have.</p><p>The comics in this shot have links to some amazingly talented local artists and friends.<br>Comics left-to-right are:</p><ul><li>Amazing Spider-Man #65 - Cover by <a href="https://www.instagram.com/alexogle/?ref=wgb.me">Alex Ogle</a></li><li>Irea 51 - Characters, cover, and art all by <a href="https://www.instagram.com/jennyflemingart/?ref=wgb.me">Jenny Fleming</a></li><li>Star Wars Hyperspace Stories #3 Variant - Interior art by <a href="https://www.instagram.com/andy_duggan_art/?ref=wgb.me">Andy Duggan</a></li></ul><p>See more at [ <a href="https://imgur.com/a/fxliUjJ?ref=wgb.me">wgb0.imgur.com</a> ]</p>]]></content:encoded></item><item><title><![CDATA[Bandsaw Box]]></title><description><![CDATA[<p>My first real bandsaw box. Designed to fit underneath my middle monitor and around its stand. Made with alternating cherry and maple. Drawers are flocked (first time flocking). I cut off the cherry face of the drawers and routed new maple faces using a template bit. Drawer pulls are made</p>]]></description><link>https://wgb.me/bandsaw-box/</link><guid isPermaLink="false">658205c0613391000159019a</guid><category><![CDATA[woodworking]]></category><category><![CDATA[clocks]]></category><category><![CDATA[particle]]></category><category><![CDATA[iot]]></category><category><![CDATA[bandsaw-box]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Fri, 13 Jan 2023 10:01:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/bandsaw-box.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/bandsaw-box.jpg" alt="Bandsaw Box"><p>My first real bandsaw box. Designed to fit underneath my middle monitor and around its stand. Made with alternating cherry and maple. Drawers are flocked (first time flocking). I cut off the cherry face of the drawers and routed new maple faces using a template bit. Drawer pulls are made with scrap cherry. Clock in the center is internet-powered and also collects temperature + humidity data for my office.</p><p>[ <a href="https://imgur.com/a/4KopMgg?ref=wgb.me">wgb0.imgur.com</a> ]</p>]]></content:encoded></item><item><title><![CDATA[Fosters - Kim, Ron, Shego, and Drakken]]></title><description><![CDATA[<p>Left to right: Ron Stoppable, Shego, Drakken, and Kim Possible</p>]]></description><link>https://wgb.me/fosters-kim-ron-shego-and-drakken/</link><guid isPermaLink="false">6582059c613391000159018c</guid><category><![CDATA[foster]]></category><category><![CDATA[kitten]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Sat, 31 Dec 2022 21:16:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/IMG_6173.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/IMG_6173.jpg" alt="Fosters - Kim, Ron, Shego, and Drakken"><p>Left to right: Ron Stoppable, Shego, Drakken, and Kim Possible</p>]]></content:encoded></item><item><title><![CDATA[Fosters - Chase, Cassie, and Kyle]]></title><description><![CDATA[<p>Left to right: Chase, Cassie, and Kyle</p>]]></description><link>https://wgb.me/fosters-chase-cassie-and-kyle/</link><guid isPermaLink="false">6582057b613391000159017e</guid><category><![CDATA[foster]]></category><category><![CDATA[kitten]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Mon, 05 Dec 2022 20:42:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/chase-cassie-kyle.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/chase-cassie-kyle.jpg" alt="Fosters - Chase, Cassie, and Kyle"><p>Left to right: Chase, Cassie, and Kyle</p>]]></content:encoded></item><item><title><![CDATA[White Oak Mantle]]></title><description><![CDATA[<p>Just a simple, live edge white oak mantle. Started from a couple pieces of 8/4 stock. One piece was used for the majority of the mantle and the live edge, and the other piece was jointed to give an extra couple of inches for depth. Finished with semi-gloss, water-based</p>]]></description><link>https://wgb.me/white-oak-mantle/</link><guid isPermaLink="false">6582055b6133910001590170</guid><category><![CDATA[woodworking]]></category><category><![CDATA[house]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Sun, 20 Nov 2022 01:59:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2023/12/White-Oak-Mantle---Imgur.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2023/12/White-Oak-Mantle---Imgur.jpg" alt="White Oak Mantle"><p>Just a simple, live edge white oak mantle. Started from a couple pieces of 8/4 stock. One piece was used for the majority of the mantle and the live edge, and the other piece was jointed to give an extra couple of inches for depth. Finished with semi-gloss, water-based polyurethane. What actually makes this project special is that it&apos;s the last piece of furniture needed to complete the new house as well as being the first project to come out of my new workshop!</p><p>[ <a href="https://imgur.com/a/EiSkDFT?ref=wgb.me">wgb0.imgur.com</a>]</p>]]></content:encoded></item><item><title><![CDATA[Foster - Kotaro]]></title><link>https://wgb.me/foster-kotaro/</link><guid isPermaLink="false">658205376133910001590160</guid><category><![CDATA[foster]]></category><category><![CDATA[kitten]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Wed, 16 Nov 2022 20:17:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2025/09/IMG_9555.jpg" medium="image"/><content:encoded/></item><item><title><![CDATA[u-r-grounded]]></title><description><![CDATA[<h1 id="u-r-grounded">u-r-grounded</h1><p>A NodeJS web app for easily blocking internet access for devices via pfSense NAT rules</p><h2 id="caveats">Caveats</h2><p>I only have access to iOS devices, so this will render best on an iOS device. It should still look reasonable in just about any modern web browser.</p><h2 id="prerequisites">Prerequisites</h2><p>You must install and</p>]]></description><link>https://wgb.me/u-r-grounded/</link><guid isPermaLink="false">6582050d613391000159014e</guid><category><![CDATA[code]]></category><category><![CDATA[nodejs]]></category><category><![CDATA[javascript]]></category><category><![CDATA[parenting]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Thu, 18 Feb 2021 10:17:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2025/09/u-r-grounded-screenshot.png" medium="image"/><content:encoded><![CDATA[<h1 id="u-r-grounded">u-r-grounded</h1><img src="https://wgb.me/content/images/2025/09/u-r-grounded-screenshot.png" alt="u-r-grounded"><p>A NodeJS web app for easily blocking internet access for devices via pfSense NAT rules</p><h2 id="caveats">Caveats</h2><p>I only have access to iOS devices, so this will render best on an iOS device. It should still look reasonable in just about any modern web browser.</p><h2 id="prerequisites">Prerequisites</h2><p>You must install and configure the API for pfSense (see <a href="https://github.com/jaredhendrickson13/pfsense-api?ref=wgb.me">https://github.com/jaredhendrickson13/pfsense-api</a>).</p><h2 id="pfsense-setup">pfSense Setup</h2><ol><li>Create an alias (Firewall &#x2192; Aliases) for each device to be blocked.</li><li>Create firewall rules on the LAN adapter to block each alias. Be sure to create the rules before/above the final &quot;Default allow LAN to any rule&quot; rule.<br>a. Action: <code>Reject</code> b. Disabled: <code>Disable this rule</code> (checked) c. Interface: <code>LAN</code> d. Address Family: <code>IPv4+IPv6</code> e. Protocol: <code>Any</code> f. Source: <code>Single host or alias</code> and enter/select the alias</li></ol><h2 id="config">Config</h2><p>Copy <code>config.js.example</code> to <code>config.js</code> and set the options below.</p><ul><li>devices:</li><li><code>alias_name</code> : <code>friendly device name</code></li><li>http_port: HTTP port to listen on</li><li>pfsense:</li><li><code>address</code> - The DNS or IP address of pfSense</li><li><code>protocol</code> - The procotol (HTTP or HTTPS) used to access pfSense</li><li><code>port</code> - The TCP port pfSense is listening on</li><li><code>client_id</code> - The client ID for the pfSense API</li><li><code>client_token</code> - The client token for the pfSense API</li></ul><p>See more at [ <a href="https://github.com/wgbartley/u-r-grounded?ref=wgb.me">github.com</a> ]</p>]]></content:encoded></item><item><title><![CDATA[dhcp-to-dns]]></title><description><![CDATA[<h1 id="dhcp-to-dns">dhcp-to-dns</h1><p>Get list of DHCP static reservations from pfSense and create corresponding DNS records in pi-hole.</p><h2 id="prerequisites">Prerequisites</h2><p>You must install and configure the API for pfSense (see <a href="https://github.com/jaredhendrickson13/pfsense-api?ref=wgb.me">https://github.com/jaredhendrickson13/pfsense-api</a>).</p><h2 id="caveats">Caveats</h2><p>I couldn&apos;t find a documented pi-hole API for creating local DNS records, so this script</p>]]></description><link>https://wgb.me/dhcp-to-dns/</link><guid isPermaLink="false">658204e2613391000159013f</guid><category><![CDATA[code]]></category><category><![CDATA[nodejs]]></category><category><![CDATA[javascript]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Thu, 18 Feb 2021 10:15:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2025/09/dhcp-to-dns-code.png" medium="image"/><content:encoded><![CDATA[<h1 id="dhcp-to-dns">dhcp-to-dns</h1><img src="https://wgb.me/content/images/2025/09/dhcp-to-dns-code.png" alt="dhcp-to-dns"><p>Get list of DHCP static reservations from pfSense and create corresponding DNS records in pi-hole.</p><h2 id="prerequisites">Prerequisites</h2><p>You must install and configure the API for pfSense (see <a href="https://github.com/jaredhendrickson13/pfsense-api?ref=wgb.me">https://github.com/jaredhendrickson13/pfsense-api</a>).</p><h2 id="caveats">Caveats</h2><p>I couldn&apos;t find a documented pi-hole API for creating local DNS records, so this script relies on logging in via the pi-hole web interface using a cleartext password. I don&apos;t like it, but &quot;it is what it is&quot;.</p><h2 id="configuration">Configuration</h2><p>Copy <code>config.js.example</code> to <code>config.js</code> and set the options below. Read any mention of &quot;pi-hole&quot; as &quot;pi-hole web interface&quot; and &quot;pfsense&quot; as &quot;pfsense web interface&quot;.</p><ul><li><code>pihole_address</code> - The DNS or IP address of pi-hole</li><li><code>pihole_protocol</code> - The protocol (HTTP or HTTPS) used to access pi-hole</li><li><code>pihole_port</code> - The TCP port pi-hole is listening on</li><li><code>pihole_password</code> - Cleartext password you use to log in to pi-hole</li><li><code>pfsense_address</code> - The DNS or IP address of pfSense</li><li><code>pfsense_protocol</code> - The procotol (HTTP or HTTPS) used to access pfSense</li><li><code>pfsense_port</code> - The TCP port pfSense is listening on</li><li><code>pfsense_client_id</code> - The client ID for the pfSense API</li><li><code>pfsense_client_token</code> - The client token for the pfSense API</li><li><code>domain</code> - The top-level domain to append to DNS records. For example <code>.lan</code> will create records such as <code>example.lan</code> or <code>myserver.lan</code></li></ul><p>See more at [ <a href="https://github.com/wgbartley/dhcp-to-dns?ref=wgb.me">github.com</a> ]</p>]]></content:encoded></item><item><title><![CDATA[nnpm]]></title><description><![CDATA[<h1 id="nnpm">nnpm</h1><p>Checks <code>docker-compose.yml</code> for the NodeJS version being used in a container and runs the NPM command inside a Docker container for the specified NodeJS version. This is useful if you have the NodeJS script/app in a local directory on the host but run it with a different</p>]]></description><link>https://wgb.me/nnpm/</link><guid isPermaLink="false">658204b76133910001590132</guid><category><![CDATA[nodejs]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Sun, 14 Feb 2021 10:13:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2025/09/nnpm-code.png" medium="image"/><content:encoded><![CDATA[<h1 id="nnpm">nnpm</h1><img src="https://wgb.me/content/images/2025/09/nnpm-code.png" alt="nnpm"><p>Checks <code>docker-compose.yml</code> for the NodeJS version being used in a container and runs the NPM command inside a Docker container for the specified NodeJS version. This is useful if you have the NodeJS script/app in a local directory on the host but run it with a different version of NodeJS in the Docker container.</p><h2 id="installation">Installation</h2><ol><li>Copy the script to <code>/usr/local/bin</code>: <code>cp nnpm.sh /usr/local/bin/nnpm</code></li><li>Make the script executable: <code>chmod +x /usr/local/bin/nnpm</code></li></ol><p>See more at [ <a href="https://github.com/wgbartley/nnpm?ref=wgb.me">github.com</a> ]</p>]]></content:encoded></item><item><title><![CDATA[mdns-resolver-forwarder]]></title><description><![CDATA[<h1 id="mdns-resolver-forwarder">mdns-resolver-forwarder</h1><p>NodeJS script that acts as a DNS resolver/forwarder but checks mDNS first. This was written to act as a DNS resolver for Docker containers that can&apos;t resolve mDNS addresses (<code>*.local</code>) on their own.</p><h2 id="config">Config</h2><p>Edit <code>config.js</code>:</p><ul><li><code>listen_ip</code> - IP address on the host to</li></ul>]]></description><link>https://wgb.me/mdns-resolver-forwarder/</link><guid isPermaLink="false">65820483613391000159011c</guid><category><![CDATA[nodejs]]></category><category><![CDATA[javascript]]></category><category><![CDATA[code]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Thu, 11 Feb 2021 10:11:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2025/09/mdns-resolver-forwarder-code.png" medium="image"/><content:encoded><![CDATA[<h1 id="mdns-resolver-forwarder">mdns-resolver-forwarder</h1><img src="https://wgb.me/content/images/2025/09/mdns-resolver-forwarder-code.png" alt="mdns-resolver-forwarder"><p>NodeJS script that acts as a DNS resolver/forwarder but checks mDNS first. This was written to act as a DNS resolver for Docker containers that can&apos;t resolve mDNS addresses (<code>*.local</code>) on their own.</p><h2 id="config">Config</h2><p>Edit <code>config.js</code>:</p><ul><li><code>listen_ip</code> - IP address on the host to bind to</li><li><code>listen_port</code> - Port number on the host to bind to (probably port <code>53</code> for most cases)</li><li><code>authority_ip</code> - IP address of the resolver to use if local mDNS lookup fails</li><li><code>authority_port</code> - Port number of the <code>authority_ip</code> above</li><li><code>authority_type</code> - The DNS query type to use (probably <code>udp</code> for most cases)</li><li><code>authority_timeout</code> - Timeout to wait on the authority to respond</li><li><code>mdns_timeout</code> - Time to wait for mDNS to response before forwarding the query to the authority/resolver</li><li><code>local_only</code> - Only listen for <code>*.local</code> domains. Setting this to <code>true</code> will instantly forward any request that contains non-<code>.local</code> domains to the resolver (for faster response)</li></ul><p>See more at [ <a href="https://github.com/wgbartley/mdns-resolver-forwarder?ref=wgb.me">github.com</a> ]</p>]]></content:encoded></item><item><title><![CDATA[nodejs-word-clock]]></title><description><![CDATA[<p>Rough port of Arduino Wiring to JavaScript (see <a href="http://wordclock.gallery/?ref=wgb.me">wordclock.gallery</a>) to NodeJS on Raspberry Pi.</p><p>See more at [ <a href="https://github.com/wgbartley/nodejs-word-clock?ref=wgb.me">github.com</a> ]</p>]]></description><link>https://wgb.me/nodejs-word-clock/</link><guid isPermaLink="false">65820455613391000159010b</guid><category><![CDATA[clocks]]></category><category><![CDATA[nodejs]]></category><category><![CDATA[raspberrypi]]></category><category><![CDATA[javascript]]></category><category><![CDATA[code]]></category><dc:creator><![CDATA[Garrett]]></dc:creator><pubDate>Wed, 10 Feb 2021 10:05:00 GMT</pubDate><media:content url="https://wgb.me/content/images/2025/09/wordclock-code.png" medium="image"/><content:encoded><![CDATA[<img src="https://wgb.me/content/images/2025/09/wordclock-code.png" alt="nodejs-word-clock"><p>Rough port of Arduino Wiring to JavaScript (see <a href="http://wordclock.gallery/?ref=wgb.me">wordclock.gallery</a>) to NodeJS on Raspberry Pi.</p><p>See more at [ <a href="https://github.com/wgbartley/nodejs-word-clock?ref=wgb.me">github.com</a> ]</p>]]></content:encoded></item></channel></rss>