How to make private git repositories open for public access

Some of my personal projects are tracked using private git repositories, hosted on this server. I can access these via ssh, but for a while I've had in mind to make at least a couple of them publicly accessible... somehow. After finally getting around to looking into it, this turns out to be deceptively simple using git-daemon (instructions for Debian distros):

  1. Install the git-daemon-sysvinit package.
  2. Enable the daemon by editing /etc/default/git-daemon. Reboot, or start the git-daemon service by hand.
  3. Add a symlink to each git repo you want to make public under /var/lib/git. These will then be accessible via git://<hostname>/git/<linkname>.
  4. Ensure the git protocol port (9418) forwards to the server.

Simple! The git protocol is faster than serving over http(s), and the standard configuration ensures that anonymous clients can pull, but not push, which is exactly what I was after.

Over the next little while I'll introduce the couple of projects that I'm opening up for public access.

Read this post

Accessing machines on a home network with sshuttle

You might have noticed that I'm running a little Raspberry Pi, acting as a server for my website as well as some other small server-ish tasks. This machine is actually on my home network and I also use it as the front-face to that network for incoming connections. There are other machines on this network, and while they are behind a NAT and so not addressible from the outside world, this is fine most of the time. But on the odd occasion where I'd like to directly address any other machine on that network, I have to do so through the Raspberry Pi. Depending on what it is I'm trying to do, exactly, that can be tricky.

I've just discovered sshuttle. It acts similarly to a VPN, using SSH under the hood to transport TCP packets through a server that you specify. The cool thing is that it doesn't require any complicated pre-configuration on the server—just Python. All you have to do is run it on the client machine you want to connect from. Nifty!

Debian has it packaged: run sudo aptitude install sshuttle. The binary itself apparently installs under /usr/sbin, which doesn't seem to be in a [...]

Read this post

A new beginning: Relaunching my website

Some time ago in a far off land, I kept a website. It was a cozy little website, housing a few bits and bobs that I had made and thought to share should other people find them at all useful. It was hosted with my ISP, accessible via a free domain, which made things cheap and easy for me, but also meant that if I were ever to move I'd have to find a new host, or lose my site.

Of course I moved and I lost my site. This was a couple of years ago, now. From then until now I've been meaning to get this thing back up and running at some point, but lack of time and real impetus meant that it didn't happen. Recently I got my butt into gear and began a focused effort to finally get it off the ground, getting myself some cheap hardware and a new domain name for the purpose.

What you see here is the result—welcome to Quantum Furball! Over the next little while I'll be reposting old things (backdated as accurately as I can guess), along with things I should've posted at the time, and I hope to [...]

Read this post


Page 1 of 1