A while ago I saw a link to https://github.com/StreisandEffect/streisand (probably here in HN) and I have it in the list of things-to-do to try it.
In the meantime I have a OpenVPN server at home just so I can log into my internal network from everywhere and use it when on public wifi... For the moment it's more than enough for me.