I want firefox on my laptop to only go through a VPN and the easiest solution I came up with is forcing firefox SOCKS5 Proxy Docker Container which goes through a Mullvad gluetun docker container. I connect to my home server via tailscale
Browser < -tailscale- > SOCKS5 Docker < — > gluetun Docker < — > Internet
Is that a good idea? It seems a little overengineered, but simpler than running two VPNs on one machine?
Thanks
I think I’m missing something…why bother with SOCKS5 if you’re using a gluten container? I’ve never done what you’re trying to do, but I’d assume gluten by itself is the solution
I want only the firefox browser to connect to my vpn. can firefox itself just connect to a vpn?
I do about the same with a prixoxy/VPN container and ts.
It works, it’s not noticeably different than running through the third party VPN on device, just more flexible.
- Start a container with: bash, with --net none, with the X socket.
- Start the vpn
- Move the vpn interface to the net namespace of the container
- Install firefox in the container
- Browse
Tailscale already has Mullvad integration. Why don’t you utilize that?
This sounds like it would work. As you said it seems a little over engineered, but I’m not sure how else you would go about only isolating Firefox without a local split tunnel VPN that has a fail-safe switch controlling your network adapter. Would Firefox rely solely on the proxy configuration, or will it make any attempts at using another route if the proxy fails (or it’s just programmed to for specific features/extensions/etc)?
If you want a fully isolated browser, you can install Firefox (or Mullvad browser) as a container behind Gluetun. You would then just enter the IP and HTTPS port of your Firefox container in your local instance of Firefox and connect via (web) VNC over Tailscale. All traffic to the container uses HTTPS, goes over Tailscale, and through your Gluetun. Then Firefox has no possibility of using anything but Gluetun, and your browsing (clipboard, audio, hardware info, etc) isn’t connected to your laptop at all by default.
This may not be ideal if you’re trying to watch a lot of high resolution or high framerate videos though, depending on how high your VNC quality is set and your network capabilities.
I already have two of those, but it’s not as snappy and the intermediate clipboard is also a little annoying. for some use cases they absolutely rock though, lke keeping a session alive or anonymously downloading large files.
I run my VPN and Firefox in a network namespace.
Docker introduces latency, but network namespaces do not.
i’m unfamiliar with mullvad; is the container hosted on your laptop? is it split tunnel?
I’m hosting a container on a my home server that I access via tailscale. mullvad is just the vpn provider I’m using with gluetun, which is a vpn docker container
and setting up the vpn on the server itself is not an option? how about using a browser plugin?
Why not just point Firefox at the proxy address in its Connection Settings, instead of trying to force it with containers?
Are you trying to prevent Firefox from ignoring its proxy setting to do something sneaky?