#AutoEncryptLocalhost

2025-05-26

šŸ‘‹šŸ¤“ Goodbye Site.js, Hello Kitten!

I started working on creating a Small Web¹ server (a peer-to-peer Web server) six years ago² with Site.js.

Building Site.js was my first attempt. And it resulted in:

• Auto Encrypt (automatic Let’s Encrypt certificates): codeberg.org/small-tech/auto-e

• Auto Encrypt Localhost (automatic localhost TLS certificates): codeberg.org/small-tech/auto-e

• @small-tech/https (drop-in Node.js https module replacement with automatic TLS certs everywhere): codeberg.org/small-tech/https

• JSDB: In-process, in-memory JavaScript database that persists to append-only JavaScript logs: codeberg.org/small-tech/jsdb

As Site.js reached an evolutionary dead-end, and as I learned from my experiements with replicated data types that replicated data types are *not* a prerequisite for a decentralised web (actual topological decentralisation and ease of use are), I started writing a new server/platform called Kitten from scratch while still making use of the tried and tested modules listed above.

Last week, I switched over our last site using Site.js to Kitten and, with that, today I’ve sunset³ Site.js:

sitejs.org

For its successor, please see Kitten:

kitten.small-web.org

If you want to support our work at the Small Technology Foundation, please consider becoming a patron:

small-tech.org/fund-us

:kitten:šŸ’•

¹ ar.al/2024/06/24/small-web-com
² ar.al/2019/08/26/introducing-s
³ Using our instance of Look Over There!: look-over-there.small-web.org

#SiteJS #SmallWeb #SmallTech #peerToPeerWeb #SmallTechnologyFoundation #AutoEncrypt #AutoEncryptLocalhost #JSDB #JavaScriptDatabase #https #TLS

Detail of Site.js web site:
Illustation of woman lying down with laptop. On screen is a twig with two green leaves.

Site.js
Small Web construction set.
Site.js is deprecated and no longer being actively maintained. Much of it lives on in Kitten.
2025-02-04

So I guess Let’s Encrypt has decided what I’ll be working on today then…

letsencrypt.org/2024/12/05/end

(They’re ending OCSP stapling support. I’ll be updating Auto Encrypt¹ to remove OCSP support and then update @small-tech/https, which uses it, along with Auto Encrypt Localhost² to provide seamless TLS support regardless of whether you’re working in development or in production, and then update Site.js³ – deprecated but still used to serve some of our own sites at Small Technology Foundation⁓ – and Kitten⁵, with the latest @small-tech/https.)

¹ codeberg.org/small-tech/auto-e
² codeberg.org/small-tech/auto-e
³ codeberg.org/small-tech/https
⁓ small-tech.org
⁵ kitten.small-web.org

#SmallWeb #SmallTech #TLS #SSL #HTTPS #LetsEncrypt #OCSP #AutoEncrypt #AutoEncryptLocalhost #SiteJS #Kitten

2024-03-10

Quick update: the failing tests were apparently because I had my VPN on on macOS (that was creating an additional IPv4 interface that was getting picked up by the tests that check that your server is accessible via a valid TLS certificate from all available local IPs).

So no patch necessary :)

#AutoEncryptLocalhost #https #mkcert #certutil #JavaScript #js #nodeJS #macOS

2024-03-09

Hey folks, I just released Auto Encrypt Localhost* v8.4.0 with better async support and updated dependencies.

npmjs.com/package/@small-tech/

* My pure JavaScript module (no mkcert, certutil, etc., required) that automatically provisions and installs locally-trusted TLS certificates for Node.js https servers.

(There seems to be an issue with tests failing on macOS, will debug that tomorrow and likely post a patch release.)

#AutoEncryptLocalhost #https #mkcert #certutil #JavaScript #js #nodeJS

2023-04-26

Right, well, first the good news: It doesn’t look like anything has changed in how Chrom(ium) handles certificates installed in the system trust store.

Now the bad news: I have no idea why the certificate authority that was previously trusted on my main development machine is now showing up as untrusted. Could a Fedora Silverblue update have broken it? Will keep looking into it.

šŸ¤”

#Kitten #AutoEncryptLocalhost #SmallWeb #Chrome #Chromium #tls #web #dev

2023-04-25

Great, it looks like whatever they changed in Chrome no longer trusts Kitten’s¹ local certificate authority (installed and trusted by the system trust store, as you’d do in a *spit* enterprise).

Applies to previously trusted and working certificates too.

(The directly related module is Auto Encrypt Localhost²)

Going to look into it today and see if I can’t find a workaround.

FFS…

¹ codeberg.org/kitten/app
² codeberg.org/small-tech/auto-e

#web #tls #Chrome #Kitten #AutoEncryptLocalhost #SmallWeb

2023-02-10

Just released version 8.3.0 of Auto Encrypt Localhost¹

npmjs.com/package/@small-tech/

Certificates now support IP addresses 127.0.0.2-127.0.0.4 and place1.localhost-place4.localhost.

Use these, for example, when testing the peer-to-peer features of your Small Web² apps locally in Kitten³.

¹ Think mkcert but written in Node.js with no native dependencies – i.e., it does not require you to install certutil.

² ar.al/2020/08/07/what-is-the-s

³ codeberg.org/kitten/app

#SmallWeb #Kitten #AutoEncryptLocalhost

2023-01-25

Just released version 8.2.0 of Auto-Encrypt Localhost

All status changes are now communicated via events instead of console messages.

Think I’m pretty much done with v8 now.

Next: update https (codeberg.org/small-tech/https) to use it and then update Kitten (codeberg.org/kitten/app) to use the updated https. (Which should make Kitten cross-platform, including on ARM.)

npmjs.com/package/@small-tech/

#SmallWeb #SmallTech #AutoEncryptLocalhost #cli #TLS #SSL #https #localhost #NodeJS #web #dev

2023-01-24

Auto-Encrypt Localhost version 8.1.0 released

Now with 100% more Command-Line Interface (CLI).

To create your local development certificates using the CLI:

npm install --global @small-tech/auto-encrypt-localhost
auto-encrypt-localhost

That’s it!

Enjoy :awesome:

npmjs.com/package/@small-tech/

#SmallWeb #SmallTech #AutoEncryptLocalhost #cli #TLS #SSL #https #localhost #NodeJS #web #dev

2023-01-18

Working on getting the rewrite of Auto Encrypt Localhost (think mkcert but in Node.js and now in 100% JavaScript without using mkcert or certutil) complete today so I have time to test and prepare a demonstration for our first #SmallIsBeautiful live steam this Thursday.

You can follow our #owncast steaming server from your #mastodon / #fediverse account to be notified when we go live.

owncast.small-web.org

#tls #ssl #web #dev #tools #SmallWeb #AutoEncryptLocalhost #nodeJS #js #JavaScript

2022-08-15

Auto-encrypt localhost version 7.1.0 released

(Automatically provisions valid localhost certificates for Node.js development servers.)

codeberg.org/small-tech/auto-e

Added: support for automatic NSS Tools (certutil) installation on Fedora (via dnf)

#smallTech #smallWeb #TLS #localhost #autoEncryptLocalhost #foss

2020-11-04

Auto-Encrypt Localhost version 6.1.0 released

- Upgrades bundled mkcert to version 1.4.2.
- Includes arm64 binary.

Release notes: github.com/small-tech/auto-enc

Learn more: github.com/small-tech/auto-enc

#AutoEncryptLocalhost #SmallTech

2020-07-07

Just released Auto Encrypt Localhost version 5.3.0

What’s new:

- Redirects HTTP to HTTPS (feature parity with Auto Encrypt).

- Serves the local root certificate authority’s public key at route /.ca (you can hit this route from a device like an iPhone on your local area network to install the key and trust it).

github.com/small-tech/auto-enc

#SmallTech #AutoEncryptLocalhost

2020-07-06

Just released Auto Encrypt Localhost version 5.2.2

You can now access your secure local server over HTTPS from any other device on your local area network using its IPv4 address.

This feature will make it into the next release of Site.js, allowing you to test with multiple devices over your LAN without need to expose your server over the Internet via a service like ngrok.

Enjoy!

github.com/small-tech/auto-enc

#SmallTech #TLS #HTTPS #AutoEncryptLocalhost

2020-07-03

And if you want the same functionality but for localhost, check out auto-encrypt-localhost:

github.com/small-tech/auto-enc

And if you want both those things and more in a higher-level tool that doesn’t even require you to install Node.js, check out Site.js:

sitejs.org

#SmallTech #LetsEncrypt #NodeJS #AutoEncryptLocalhost #SmallWeb #SiteJS

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst