celzero / rethink-app

DNS over HTTPS / DNS over Tor / DNSCrypt client, WireGuard proxifier, firewall, and connection tracker for Android.
https://rethinkfirewall.com/
Apache License 2.0
2.82k stars 143 forks source link

Integrate Tailscale #1047

Open ignoramous opened 1 year ago

ignoramous commented 1 year ago

May be possible to run tailscale in its "usermode" setting. tsnet.go and userspace.go may have some pointers on initializing the tunnel approp.

Also: tailscale-android/pull/122

Ask from users here and elsewhere.

northmendo commented 9 months ago

I too would love to see this integration.

ignoramous commented 9 months ago

It turned out a bit more complicated than I had imagined. It looks possible but tailscale offers so many configuration options that a full integration would be a mammoth undertaking... unless Tailscale is willing to sponsor the integration ;)

ElijahHW commented 5 months ago

I second such a implementation/integration between Tailscale and RethinkDNS.

milesmcclane commented 3 months ago

@ignoramous if you could possibly review the conversation in my linked post above, and give your thoughts?

ignoramous commented 3 months ago

The Tailscale engs are right that it doesn't make sense for them to "integrate with Rethink".

I am sure, the Tailscale clients will have LittleSnitch-like functionality eventually, but not necessarily implemented like Rethink does.

Running Tailscale in usermode is something do-able within Rethink. Though, I am unsure how many usecases a "usermode" Tailscale covers, as it is very limited in functionality (as compared to running a full-blown Tailscale client/daemon).

Integrating the entirety of Tailscale within Rethink is also possible but it is its own 6 month project.

milesmcclane commented 3 months ago

OK thanks for your insight. So for now it looks like a one or the other situation. Thats a shame! I wish I could be useful and help but I'm neither financially nor technically able.

hegdenischay commented 2 months ago

I've kinda sorta gotten this to work by using tailscale in userspace mode (on Termux) and tunnelling all traffic through the socks5 proxy that it creates. It works if I exclude Termux from RethinkDNS (otherwise it'd create a loop lol), but it would be much better to have some level of official support for this, since running full-blown Termux for this is quite a battery drain.