Improve UI for Mullvad exit nodes
Mullvad exit nodes when enabled clutter the list of nodes & exit nodes.
I propose a few changes:
- remove Mullvad exit nodes from normal "nodes"
- group Mullvad exit nodes by country and/or city in "exit nodes"
- add search, if possible
For reference the UI used by tailscale web looks like this:
On iOS they have got this UI:
https://github.com/maxgallup/tailscale-status/assets/3314323/37a002b3-97dc-44c2-b8fa-2a34badd9444
Definitely a neat feature for those using Mullvad VPN, I like it! Unfortunately I don't currently use Mullvad which would complicate the implementation of this feature. Perhaps anyone using Mullvad would be interested in doing this?
The Mullvad exit nodes probably also shouldn't be listed under "Send Files".
Perhaps this list of all Mullvad exit nodes helps for the implementation, at least for filtering them out of the "Nodes" & "Send Files" lists:
❯ tailscale exit-node list
IP HOSTNAME COUNTRY CITY STATUS
100.103.207.98 al-tia-wg-002.mullvad.ts.net Albania Tirana -
100.100.169.122 au-syd-wg-001.mullvad.ts.net Australia Any -
100.126.157.101 au-adl-wg-302.mullvad.ts.net Australia Adelaide -
100.70.240.117 au-bne-wg-301.mullvad.ts.net Australia Brisbane -
100.117.126.96 au-mel-wg-301.mullvad.ts.net Australia Melbourne -
100.88.22.25 au-per-wg-301.mullvad.ts.net Australia Perth -
100.100.169.122 au-syd-wg-001.mullvad.ts.net Australia Sydney -
100.79.65.119 at-vie-wg-001.mullvad.ts.net Austria Vienna -
100.82.168.64 be-bru-wg-103.mullvad.ts.net Belgium Brussels -
100.66.247.50 br-sao-wg-201.mullvad.ts.net Brazil Sao Paulo -
100.98.0.17 bg-sof-wg-001.mullvad.ts.net Bulgaria Sofia -
100.72.67.30 ca-tor-wg-102.mullvad.ts.net Canada Any -
100.88.145.127 ca-yyc-wg-202.mullvad.ts.net Canada Calgary -
100.113.7.128 ca-mtr-wg-003.mullvad.ts.net Canada Montreal -
100.72.67.30 ca-tor-wg-102.mullvad.ts.net Canada Toronto -
100.68.111.59 ca-van-wg-202.mullvad.ts.net Canada Vancouver -
100.81.101.39 co-bog-wg-001.mullvad.ts.net Colombia Bogota -
100.99.12.129 hr-zag-wg-001.mullvad.ts.net Croatia Zagreb -
100.72.166.139 cz-prg-wg-102.mullvad.ts.net Czech Republic Prague -
100.80.98.14 dk-cph-wg-401.mullvad.ts.net Denmark Copenhagen -
100.64.207.23 ee-tll-wg-002.mullvad.ts.net Estonia Tallinn -
100.78.113.70 fi-hel-wg-103.mullvad.ts.net Finland Helsinki -
100.122.231.14 fr-mrs-wg-001.mullvad.ts.net France Any -
100.122.231.14 fr-mrs-wg-001.mullvad.ts.net France Marseille -
100.64.98.99 fr-par-wg-002.mullvad.ts.net France Paris -
100.110.29.110 de-fra-wg-403.mullvad.ts.net Germany Any -
100.78.161.88 de-ber-wg-006.mullvad.ts.net Germany Berlin -
100.78.208.132 de-dus-wg-002.mullvad.ts.net Germany Dusseldorf -
100.110.29.110 de-fra-wg-403.mullvad.ts.net Germany Frankfurt -
100.124.199.56 de-fra-wg-004.mullvad.ts.net Germany Frankfurt -
100.103.211.94 gr-ath-wg-102.mullvad.ts.net Greece Athens -
100.104.61.158 hk-hkg-wg-302.mullvad.ts.net Hong Kong Hong Kong -
100.114.248.11 hu-bud-wg-101.mullvad.ts.net Hungary Budapest -
100.117.68.90 ie-dub-wg-101.mullvad.ts.net Ireland Dublin -
100.112.80.91 il-tlv-wg-101.mullvad.ts.net Israel Tel Aviv -
100.80.105.87 it-mil-wg-003.mullvad.ts.net Italy Milan -
100.100.131.39 jp-tyo-wg-001.mullvad.ts.net Japan Any -
100.126.124.112 jp-osa-wg-003.mullvad.ts.net Japan Osaka -
100.100.131.39 jp-tyo-wg-001.mullvad.ts.net Japan Tokyo -
100.83.7.143 lv-rix-wg-001.mullvad.ts.net Latvia Riga -
100.109.204.162 mx-qro-wg-001.mullvad.ts.net Mexico Queretaro -
100.123.199.89 nl-ams-wg-201.mullvad.ts.net Netherlands Amsterdam -
100.123.7.85 nz-akl-wg-301.mullvad.ts.net New Zealand Auckland -
100.85.59.89 no-svg-wg-004.mullvad.ts.net Norway Any -
100.64.131.43 no-osl-wg-006.mullvad.ts.net Norway Oslo -
100.85.59.89 no-svg-wg-004.mullvad.ts.net Norway Stavanger -
100.103.142.113 pl-waw-wg-101.mullvad.ts.net Poland Warsaw -
100.81.170.137 pt-lis-wg-201.mullvad.ts.net Portugal Lisbon -
100.120.181.133 ro-buh-wg-001.mullvad.ts.net Romania Bucharest -
100.93.235.68 rs-beg-wg-102.mullvad.ts.net Serbia Belgrade -
100.113.254.1 sg-sin-wg-102.mullvad.ts.net Singapore Singapore -
100.77.53.85 sk-bts-wg-002.mullvad.ts.net Slovakia Bratislava -
100.120.39.100 za-jnb-wg-001.mullvad.ts.net South Africa Johannesburg -
100.104.247.57 es-mad-wg-202.mullvad.ts.net Spain Madrid -
100.120.166.95 se-got-wg-001.mullvad.ts.net Sweden Any -
100.120.166.95 se-got-wg-001.mullvad.ts.net Sweden Gothenburg -
100.108.99.28 se-mma-wg-101.mullvad.ts.net Sweden Malmö -
100.127.8.8 se-sto-wg-001.mullvad.ts.net Sweden Stockholm -
100.86.37.141 ch-zrh-wg-202.mullvad.ts.net Switzerland Zurich -
100.116.130.132 gb-lon-wg-002.mullvad.ts.net UK Any -
100.116.130.132 gb-lon-wg-002.mullvad.ts.net UK London -
100.116.89.23 gb-mnc-wg-003.mullvad.ts.net UK Manchester -
100.84.251.68 us-mia-wg-002.mullvad.ts.net USA Any -
100.116.45.16 us-qas-wg-102.mullvad.ts.net USA Ashburn, VA -
100.126.111.61 us-atl-wg-001.mullvad.ts.net USA Atlanta, GA -
100.89.129.123 us-bos-wg-102.mullvad.ts.net USA Boston, MA -
100.106.59.156 us-chi-wg-005-1.mullvad.ts.net USA Chicago, IL -
100.70.74.122 us-dal-wg-001.mullvad.ts.net USA Dallas, TX -
100.120.178.99 us-den-wg-103.mullvad.ts.net USA Denver, CO -
100.65.188.86 us-det-wg-002.mullvad.ts.net USA Detroit, MI -
100.115.104.41 us-hou-wg-004.mullvad.ts.net USA Houston, TX -
100.68.225.93 us-lax-wg-404.mullvad.ts.net USA Los Angeles, CA -
100.84.251.68 us-mia-wg-002.mullvad.ts.net USA Miami, FL -
100.95.87.6 us-nyc-wg-404.mullvad.ts.net USA New York, NY -
100.64.17.114 us-phx-wg-103.mullvad.ts.net USA Phoenix, AZ -
100.125.49.122 us-rag-wg-101.mullvad.ts.net USA Raleigh, NC -
100.64.95.19 us-slc-wg-104.mullvad.ts.net USA Salt Lake City, UT -
100.111.6.119 us-sjc-wg-303.mullvad.ts.net USA San Jose, CA -
100.108.10.106 us-sea-wg-103.mullvad.ts.net USA Seattle, WA -
100.99.152.115 us-uyk-wg-101.mullvad.ts.net USA Secaucus, NJ -
100.83.57.44 ua-iev-wg-002.mullvad.ts.net Ukraine Kyiv -
# To use an exit node, use `tailscale set --exit-node=` followed by the hostname or IP
All the Mullvad exit nodes are under the mullvad.ts.net domain.
tailscale-gnome-qs uses tag:mullvad-exit-node to detect Mullvad exit nodes:
https://github.com/joaophi/tailscale-gnome-qs/blob/a5ce530df7bfbd9067937645f7d47c5ff460b3f1/tailscale%40joaophi.github.com/tailscale.js#L148
It does not currently group them in the UI, however. There are a few open PRs for this: https://github.com/joaophi/tailscale-gnome-qs/pull/18 https://github.com/joaophi/tailscale-gnome-qs/pull/19 https://github.com/joaophi/tailscale-gnome-qs/pull/20
The grouping has to happen based on exitnode.location.Country which to me is now very Mullvad specific. I have the same problem for my Cockpit extension and hold of until this location is more generically available.
Alright, thanks for the info I'll look into it.
Just to throw my two cents into this. It would be nice if individual servers were still available to choose from under the country/city selector, as quite often I find myself targeting specific Mullvad exit nodes when certain nodes are having issues or are temporarily blocked by some website.
There's a couple of open issues on the official Tailscale repo requesting the same thing, allowing exact choice of Mullvad server: https://github.com/tailscale/tailscale/issues/9913