returning to the project, and the capsul dispenser

returning to the project

It's been half a year since our last post, j3s has been busy moving to a different city, and I fell off the pattern of working on capsul regularly. Too many other things were taking up my attention, and I was struggling to muster up motivation. Initially, we had planned to rebuild all the current capsul.org features first before we started implementing anything new and exciting.

This approach may have gotten me into trouble with my own motivation; why build another "pay money, recieve VM" system when there are already so many? I've had some conflict about this with capsul since the very beginning; fueled by desire to build something that doesn't currently exist, transformational tech. It would be familiar ground with familiar issues. (centralization, etc.)

So from now on, my work will continue only as it can be fueled by dreams and desires. If not a clone of capsul.org, then what exactly are we building?

10 years ago

My original motivation to work on capsul came from an idea I had when I was a lot younger... Frustrations about the way the internet was built, and an urgent imperative to effectively paper it over, to try to make the frustrating reality disapper. Ideally, to eventually establish something permanent which could work for everyone forever.

But in my defense, all I wanted was a way to set up a computer so it can publish to the internet directly, just as easily as it can consume stuff from someone elses server on the internet.
Is that so much to ask? That's how it worked on the internet originally ¯\_(ツ)_/¯

The classic: Got a problem caused by tech? Ope. Ya better create more tech to solve it!

I had already started a project to try to do the "create more tech to solve it" thing mere months after I started working on capsul back in 2020. In a way, I think seeing how capsul had some success inspired me to move forward with that project as well (called greenhouse at the time)

At first, j3s wasn't interested in it. Probably at least in part because my plans at the time were so expansive, much more so than what I ever wrote about on my blog. But as we've returned to the capsul project, considered how it went and what that means for:

  • us,
  • for cyberia,
  • and for all the other folks who SSH into VMs running on rathouse...

We've both concluded that what capsul does today is great, but it's not quite enough for the interested parties: We want it to be easier to run at home, for it to be more than just a service powered by a server in a rack located far away from us. So we eventually settled on integrating greenhouse's TLS SNI routing and TCP reverse-tunneling to enable easier publishing to the internet through a gateway.

Now there's only one problem. What are we going to call this new feature?

the capsul dispenser

capsul-dispenser refers to this new network tunnel implementation. There are two main reasons for it. First, we want multiple capsuls to be able to share an IP address, because not everyone needs one, and they're only getting more expensive. This also enables capsul to be run on a home network which only gets one IP address. Further, it allows us to make capsul even easier to set up on a home network; port-forwarding and dynamic DNS become optional instead of required.

I created this comic strip to try to explain it:

-- forest