https://github.com/hughblackall/flit-vpn
Extend your Tailscale network to be an international VPN
https://github.com/hughblackall/flit-vpn
tailscale tailscale-exit-node tools vpn
Last synced: about 2 months ago
JSON representation
Extend your Tailscale network to be an international VPN
- Host: GitHub
- URL: https://github.com/hughblackall/flit-vpn
- Owner: hughblackall
- Created: 2024-11-10T03:57:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-05T01:28:02.000Z (over 1 year ago)
- Last Synced: 2025-04-09T17:12:21.151Z (about 1 year ago)
- Topics: tailscale, tailscale-exit-node, tools, vpn
- Language: Go
- Homepage:
- Size: 19.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# FlitVPN
FlitVPN is a simple, low-cost solution to extend your [Tailscale](https://tailscale.com/) network to operate as an international VPN.
By temporarily deploying Tailscale [exit nodes](https://tailscale.com/kb/1103/exit-nodes) on cloud infrastructure, FlitVPN allows you to route traffic through regions outside your local network. This setup is ideal for routing traffic through, and accessing content from, different geographic locations—without the commitment of a third-party VPN subscription.
For now, FlitVPN only supports deploying nodes to DigitalOcean.
## Usage
Routing traffic is as simple as running
```
flit up
```
and selecting the newly created exit node in your Tailscale client.
Once you're done, deselect the exit node in your Tailscale client and run
```
flit down
```
to remove the Tailscale node and avoid ongoing charges from your cloud provider. For many cases of light personal use, your usage may even fall within your provider's free tier limit, costing you nothing at all!
To get started, run
```
flit login
```
and enter a [DigitalOcean personal access token](https://docs.digitalocean.com/reference/api/create-personal-access-token/) and a [Tailscale auth key](https://tailscale.com/kb/1085/auth-keys) and you're ready to go!
## Completions
To load completions:
### Bash
```bash
source < (flit completion bash)
```
To load completions for each session, execute once:
```bash
# Linux
flit completion bash > /etc/bash_completion.d/flit-vpn
# macOS
flit completion bash > $(brew --prefix)/etc/bash_completion.d/flit-vpn
```
### Zsh
To load completions for each session, execute once:
```bash
flit completion zsh > "${fpath[1]}/_%[1]s"
```
### Fish
```fish
flit completion fish | source
```
To load completions for each session, execute once:
```fish
flit completion fish > ~/.config/fish/completions/flit-vpn.fish
```
### PowerShell
```powershell
PS> flit completion powershell | Out-String | Invoke-Expression
```
To load completions for every new session, run:
```
PS> flit completion powershell > flit-vpn.ps1
```
and source this file from your PowerShell profile.
## Possible Future Features
- Other cloud providers for node deployment
- Environment variables for authentication tokens, enabling use in scripting environments
- Support for more than one exit node
## A note on third party VPNs
High quality VPN providers absolutely have their advantages, and FlitVPN isn't necessarily designed as a replacement for these. However if you're already a Tailscale user and are looking for a simple, low cost way to occasionally route your traffic around the world, FlitVPN might be worth a try!