By Asheesh Laroia - 18 May 2015
Sandstorm is open source server software that makes it easy to install web apps like Ethercalc or Let’s Chat. But that’s not much use if your server doesn’t have a name, and setting up DNS correctly for Sandstorm has until now been a complicated, fiddly process.
That’s why today I’m announcing sandcats.io, a free dynamic DNS service for Sandstorm users. It now takes 120 seconds to go from an empty Linux virtual machine to a working personal server, DNS and all.
The Sandstorm install script asks you what subdomain you want; if you type alice, then your server is online at alice.sandcats.io.
It’s as simple as that. Check out this 30 second ASCII screencast.
I say it solves DNS for Sandstorm users because the sandcats.io service handles all the following complications:
Domain provisioning. You type the name you want for your server while running the install script.
Wildcard DNS. Sandstorm needs wildcard DNS because, with its security model, each session of each app runs on a unique unguessable subdomain. This protects against most cross-site request forgery attacks, for example. Sandcats.io provides wildcard DNS; this also means that any time a user runs a new app on your personal Sandstorm server, DNS is already configured.
Automatic updates. Every 60 seconds, your Sandstorm server sends a small UDP message to the Sandcats.io service. If your IP address has changed, the service replies with another short message. Upon receipt of that, your server sends an authenticated message, and sandcats.io updates its records. Our DNS records have a 60 second TTL, so if your IP address changes, it will propagate out within two minutes, and you never had to lift a finger.
Domain recovery. If you lose your authentication keys, you can recover
the domain by typing help
into the Sandstorm installer.
I’d love to hear your feedback; I’m asheesh@sandstorm.io.
The code is open souce, and you can read more in the technical documentation, but what I really recommend you do is try it out.
The Sandcats service is optional. If you already have a domain of your own, you can join the many other people actively running Sandstorm on their own domain.
If you know you want to go it alone, the install script allows you to opt out and configure DNS yourself.
Moreover, if you start out with a
sandcats.io sudomain, and you decide you want a little more personality to
your server, you can reconfigure it at any time. Look for your server’s
sandstorm.conf
file.
Sandstorm exists to make it easy to run web apps like Etherpad, HackerSlides, Let’s Chat, and others as easily as you install apps on your phone. If that’s something you want on a server for you or your organization, I hope you install Sandstorm right now.