A Split Tunneling Solution through Tailscale based on domain matching
tailscale up
. If you aren’t logged in, the CLI should provide a link, to login with your Tailscale account (or create one, if you haven’t already). You may or may not need a sudo
prefix to the command.tailscale status
and you should see the two devices listed along with their Tailscale IP and status.tailscale up --advertise-exit-node
, then allow the exit-node request of the device from the admin console, by clicking the ellipsis icon menu
of the exit node device, then open the Edit route
settings panel, and enable Use as exit node
. Refer to Advertise a device as an exit node section and Allow the exit node from the admin console for more info.git clone https://github.com/sannidhyaroy/SplitScale.git
pip install Flask
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
requirements.txt
:
pip install -r requirements.txt
pip list
python <directory to daemon.py>
. Or, you can run it as a proper daemon, detached from the console, by following this article. Since, this project isn’t stable for production, we’ll run the daemon temporarily inside our terminal, that can be stopped with Ctrl/Cmd + C
. You can deactivate Python Virtual Environment after stopping the daemon by running deactivate
.chrome://extensions
(browsers may rewrite the url as necessary, if it isn’t Chrome). Then turn on Developer Mode
toggle and click Load Unpacked
. Choose the extensions
directory inside this repository.SplitScale
Extension Settings Page and map required domains to an exit-node IP. You can obtain the exit-node IP address of a device by running tailscale status
and noting down the IP of the device advertising as exit node.SplitScale is licensed under the GNU Affero General Public License (AGPL) v3.0.