I found myself wanting to host a private website that I could reliably update, but only serve it to users on my tailnet.

I didn't find anything obvious that could do the job, but I did realize that between the existence of s3fs, tsnet, and the batteries that come with Go, I could probably bodge together something that does the job for me.

This is it: offbyone/tailscale-s3-proxy.

It's not complicated, thanks to Go's tools to merge a custom network listener -- thanks, tailscale! -- and the adapter from fs.FS to http.FileSystem. I almost feel like I didn't really do the work, honestly, but I can't find any extant code that does this.

Now, I'm hoping someone can read this and recommend to me a viable release process; I can build it myself, and just toss the binary around (and I will!) but I really would love to have this better-packaged. Suggestions? Keep in mind, I am a total go newb.

Feedback

You can reply to this post via Mastodon:

Waiting to load comments

Reply to @offby1's post

With an account on the Fediverse or Mastodon, you can respond to this post. Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.

Copy and paste this URL into the search field of your favourite Fediverse app or the web interface of your Mastodon server.