I did a similar thing with a cheap VPS and Wireguard. I don't trust Tailscale, and prefer controlling all aspects of my VPN. Right now I'm only using a single node, but it would be trivial to start another in a different region, and automate the whole thing.<p>If someone's interested, this blog was very helpful: <a href="https://www.procustodibus.com/tags/wireguard/" rel="nofollow">https://www.procustodibus.com/tags/wireguard/</a>
TIL the `until` shell syntax: <a href="https://github.com/patte/fly-tailscale-exit/blob/main/start.sh">https://github.com/patte/fly-tailscale-exit/blob/main/start....</a>
I tried using this or a similar repo to set up a Tailscale exit node on Fly.io before.<p>The downside is that my traffic never went direct; it was always relayed via a Tailscale DERP node, as Fly.io machines were only accessible via anycast, and so a direct connection from Tailscale on my machine to the exit node on Fly.io couldn't be established.<p>So performance wasn't as great (and I felt bad about using up Tailscale's DERP bandwidth, as a free user).
This is cool, but you should really understand what you're in for if you choose to do this. In particular, running your own VPN does not enhance your privacy posture, and in fact makes it much worse, because your little cloud VPS is uniquely yours and yours only. You become much more fingerprintable, and any sufficiently determined sysadmin can easily manually trace your cloud instance's IP back to you.
Isn't the problem that the exit IPs will be flagged / blocked, meaning at best you'll get a ton of captchas etc.? I have set up personal Wireguard VPNs with Algo[1] before on DO, and while they work fine, they cause a lot of friction for that reason.<p>1: <a href="https://github.com/trailofbits/algo">https://github.com/trailofbits/algo</a>
I've recently built something similar [0], but the complete opposite. I wanted to forward traffic onto my homeserver without a public IPv4. I've tried Tailscale Funnel, but the inability to use custom domains made me look for other solutions. I ended up with a fly.io app acting as a TCP proxy over Tailscale. Considering how crappy the setup is, it's surprisingly reliable. Great job fly.io and Tailscale teams! I haven't had any issues in the month or so I've been using it.<p>[0]: <a href="https://github.com/vakabus/flyio-tailscale-gateway">https://github.com/vakabus/flyio-tailscale-gateway</a>
This seems like a bad idea for torrenting. Using a service with a billing account in your name seems like a really easy way to get subpoenaed and taken to court. The benefit of services like Mullvad is the “small fish in an ocean” aspect that you lose with running your own VPS.
I recently did the same thing with AWS, using the CDK to make it easy to add and remove regions [1]. I use it to hop my traffic around as required.<p>[1] <a href="https://blog.scottgerring.com/automating-tailscale-exit-nodes-on-aws/" rel="nofollow">https://blog.scottgerring.com/automating-tailscale-exit-node...</a>
It is unfortunate that many GeoIP providers will just use Fly.io's Chicago address even when the nodes are somewhere entirely different in the world.<p>You sometimes get lucky and get something that doesn't resolve to United States, and sometimes the IPv4 is US, while IPv6 is correctly the location, or vice versa.
TIL the complexity of VPN is still higher than my desire to self host. I've run OpenVPN in very complex configurations across multiple datacenters for companies, I've worked on distributed systems and networking tech for decades but honestly all of this is still very much in the, too painful to setup, state. I'm playing around with Tailscale Funnel now and the tsnet package in Go, that's pretty nice. Embedding headscale or running it separately seems like a huge effort but I like that I can programmatically build things on Tailscale.<p>More and more I'm just thinking stuff like what Signal did with a proxy server makes sense. Run a bunch of proxies, hide the complexity. Maybe default it in the browser. Maybe I'm old, who knows.
If you just want to run a simple wireguard vpn from fly.io, without tailscale, I wrote a script to spin one up[0]<p>[0]: <a href="https://github.com/magJ/fly-wireguard-vpn-proxy">https://github.com/magJ/fly-wireguard-vpn-proxy</a>
Outline[1] is significantly easier to use. They have out of the box support for AWS, GCP and Digital Ocean. You can have your own VPN setup on digital ocean for $5 a month, and you can generate keys and share the VPN with friends/family who then only need to download the Outline app on their device. I have zero affiliation with outline but it's an incredibly useful tool, I was looking to build something similar when I discovered it.<p>[1] <a href="http://getoutline.org" rel="nofollow">http://getoutline.org</a>
I added updates at <a href="https://github.com/spotsnel/tailscale-tailwings">https://github.com/spotsnel/tailscale-tailwings</a> to make this more 'practical' by adding Dante to allow slightly more control to just have a browser exit a node, etc.
I use a combination of Tailscale and Nord Meshnet on Raspberry Pis that I have set up at my home and family home in different countries as my personal VPN. Home country does not have a good relationship with VPNs and the commercial VPN services discontinued their servers there. So now I get a clean residential IP from my family home when I want to surf from that country.
Is anyone aware of a tailscale-supporting router?<p>In order to easily watch region-restricted content, I want to put all entertainment devices in my house on a separate wifi router, and run all traffic through a chosen tailscale exit node.
Disclosure: I run a commercial VPN service.<p>If all you need is to "change your IP" for some specific purpose, this and many other tutorials out there can accomplish this task for <$5/month. You are in complete control and have to trust no-one. However be aware of the following downsides:<p>1. You are mapping your traffic 1:1 to the VPN IP address, that you are the sole user of. This will do virtually nothing for pseudo-anonymity as your original ISP assigned IP will be quickly linked to your new VPN IP by every single shady data broker out there as you lose the benefit of "being lost in the crowd" when you share VPN exit IPs with hundreds/thousands of other people.<p>2. If you do anything shady that results in a LE subpoena or a DMCA, it's like you were not using a VPN at all. The cloud provider will hand over your details instantly.<p>3. Many sites block data-center ranges. You will not be able to use most streaming services, and random websites like Papa Johns, Home Depot, banks, gov websites, Ticketmaster, etc. Not all ASNs are banned, but many are. Commercial VPNs can (and do) re-route traffic using "residential looking" or actual residential IP addresses to combat this.<p>4. Performance MAY not be great. VPN providers do quite a bit of Linux kernel tuning in order to get high(er) throughput.<p>Depending on your use case, the above may not matter but if you plan to use this 24/7, be prepared to be annoyed.