spotsnel / cockpit-tailscale

[WIP] Cockpit application to manage Tailscale
GNU Lesser General Public License v2.1
67 stars 5 forks source link

Peer overview: support folding by tailnet and/or regional locations #43

Open gbraad opened 1 year ago

gbraad commented 1 year ago

Related to #12

With the announcement of the Mullvad partnership, when this add-on is enabled for a node, it will be able to access shared nodes in the tailnet: .mullvad.ts.net, such as

100.113.254.1   sg-sin-wg-102.mullvad.ts.net tagged-devices         idle; offers exit node
100.112.134.132 sk-bts-wg-001.mullvad.ts.net tagged-devices         idle; offers exit node

and are tagged:

"nodekey:...": {
      "ID": "nHc89d3CNTRL",
      "PublicKey": "nodekey:...",
      "HostName": "ch-zrh-wg-001",
      "DNSName": "ch-zrh-wg-001.mullvad.ts.net.",
      "OS": "",
      "UserID": 26059037925131574,
      "TailscaleIPs": [
        "...",
        "..."
      ],
      "Tags": [
        "tag:mullvad-exit-node"
      ],
      "Addrs": null,
      "CurAddr": "",
      "Relay": "",
      "RxBytes": 0,
      "TxBytes": 0,
      "Created": "2023-05-17T01:32:58.739093963Z",
      "LastWrite": "0001-01-01T00:00:00Z",
      "LastSeen": "0001-01-01T00:00:00Z",
      "LastHandshake": "0001-01-01T00:00:00Z",
      "Online": true,
      "ExitNode": false,
      "ExitNodeOption": true,
      "Active": false,
      "PeerAPIURL": null,
      "InNetworkMap": true,
      "InMagicSock": true,
      "InEngine": false
    },

as "tag:mullvad-exit-node"

Note: this is the response from a 1.46 node. For versions from 1.48.1 the result is as follows:

   "nodekey:...": {
      "ID": "nThpuE4CNTRL",
      "PublicKey": "nodekey:...",
      "HostName": "us-atl-wg-108",
      "DNSName": "us-atl-wg-108.mullvad.ts.net.",
      "OS": "",
      "UserID": 26059037925131574,
      "TailscaleIPs": [
        "...",
        "..."
      ],
      "Tags": [
        "tag:mullvad-exit-node"
      ],
      "Addrs": null,
      "CurAddr": "",
      "Relay": "",
      "RxBytes": 0,
      "TxBytes": 0,
      "Created": "2023-05-17T01:32:58.739093963Z",
      "LastWrite": "0001-01-01T00:00:00Z",
      "LastSeen": "0001-01-01T00:00:00Z",
      "LastHandshake": "0001-01-01T00:00:00Z",
      "Online": true,
      "ExitNode": false,
      "ExitNodeOption": true,
      "Active": false,
      "PeerAPIURL": null,
      "InNetworkMap": true,
      "InMagicSock": true,
      "InEngine": false,
      "Location": {
        "Country": "USA",
        "CountryCode": "US",
        "City": "Atlanta, GA",
        "CityCode": "ATL",
        "Priority": 1
      }
    }

As you can see this includes a Location block:

      "Location": {
        "Country": "USA",
        "CountryCode": "US",
        "City": "Atlanta, GA",
        "CityCode": "ATL",
        "Priority": 1
      }
gbraad commented 1 year ago

image

gbraad commented 12 months ago

The new exit-node command does not provide a json option as the exit-nodes are part of the regular status --json output.

The list however is formatted as follows:

$ tailproxy exit-node list

 IP                  HOSTNAME                                COUNTRY             CITY                   STATUS

 100.........83      ncognito....-....ts.net          -                   -                      -

 100.........115     ndisguise....-....ts.net         -                   -                      -

 100.91.198.104      al-tia-wg-001.mullvad.ts.net            Albania             Tirana                 -

 100.126.157.101     au-adl-wg-302.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.113.211.103     au-per-wg-302.mullvad.ts.net            Australia           Perth                  -

 100.67.70.88        au-syd-wg-003.mullvad.ts.net            Australia           Sydney                 -

 100.86.113.126      at-vie-wg-002.mullvad.ts.net            Austria             Vienna                 -

 100.120.7.76        be-bru-wg-101.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.100.216.15      ca-tor-wg-101.mullvad.ts.net            Canada              Any                    -

 100.88.213.131      ca-yyc-wg-201.mullvad.ts.net            Canada              Calgary                -

 100.127.183.1       ca-mtr-wg-004.mullvad.ts.net            Canada              Montreal               -

 100.100.216.15      ca-tor-wg-101.mullvad.ts.net            Canada              Toronto                -

 100.68.111.59       ca-van-wg-202.mullvad.ts.net            Canada              Vancouver              -

 100.117.150.129     co-bog-wg-002.mullvad.ts.net            Colombia            Bogota                 -

 100.108.156.75      hr-zag-wg-002.mullvad.ts.net            Croatia             Zagreb                 -

 100.110.242.101     cz-prg-wg-201.mullvad.ts.net            Czech Republic      Prague                 -

 100.85.173.117      dk-cph-wg-402.mullvad.ts.net            Denmark             Copenhagen             -

 100.70.33.127       ee-tll-wg-003.mullvad.ts.net            Estonia             Tallinn                -

 100.117.20.25       fi-hel-wg-001.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.89.145.107      fr-par-wg-003.mullvad.ts.net            France              Paris                  -

 100.90.191.114      de-fra-wg-302.mullvad.ts.net            Germany             Any                    -

 100.69.133.87       de-ber-wg-003.mullvad.ts.net            Germany             Berlin                 -

 100.78.208.132      de-dus-wg-002.mullvad.ts.net            Germany             Dusseldorf             -

 100.90.191.114      de-fra-wg-302.mullvad.ts.net            Germany             Frankfurt              -

 100.103.211.94      gr-ath-wg-102.mullvad.ts.net            Greece              Athens                 -

 100.93.104.36       hk-hkg-wg-102.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.73.61.64        il-tlv-wg-103.mullvad.ts.net            Israel              Tel Aviv               -

 100.71.214.73       it-mil-wg-002.mullvad.ts.net            Italy               Milan                  -

 100.100.131.39      jp-tyo-wg-001.mullvad.ts.net            Japan               Any                    -

 100.81.28.91        jp-osa-wg-001.mullvad.ts.net            Japan               Osaka                  -

 100.100.131.39      jp-tyo-wg-001.mullvad.ts.net            Japan               Tokyo                  -

 100.115.18.49       jp-tyo-wg-203.mullvad.ts.net            Japan               Tokyo                  selected but offline
 100.116.130.20      lu-lux-wg-001.mullvad.ts.net            Luxembourg          Luxembourg             -

 100.122.5.111       md-kiv-wg-001.mullvad.ts.net            Moldova             Chisinau               -

 100.123.199.89      nl-ams-wg-201.mullvad.ts.net            Netherlands         Amsterdam              -

 100.85.73.117       nz-akl-wg-302.mullvad.ts.net            New Zealand         Auckland               -

 100.102.205.2       mk-skp-wg-001.mullvad.ts.net            North Macedonia     Skopje                 -

 100.118.155.102     no-svg-wg-001.mullvad.ts.net            Norway              Any                    -

 100.119.7.72        no-osl-wg-004.mullvad.ts.net            Norway              Oslo                   -

 100.118.155.102     no-svg-wg-001.mullvad.ts.net            Norway              Stavanger              -

 100.101.108.62      pl-waw-wg-102.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.110.81.114      sg-sin-wg-001.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.88.232.106      es-mad-wg-201.mullvad.ts.net            Spain               Madrid                 -

 100.81.136.85       se-mma-wg-103.mullvad.ts.net            Sweden              Any                    -

 100.120.166.132     se-got-wg-001.mullvad.ts.net            Sweden              Gothenburg             -

 100.81.136.85       se-mma-wg-103.mullvad.ts.net            Sweden              Malmö                  -

 100.66.53.95        se-sto-wg-012.mullvad.ts.net            Sweden              Stockholm              -

 100.84.250.60       ch-zrh-wg-504.mullvad.ts.net            Switzerland         Zurich                 -

 100.68.61.62        gb-lon-wg-001.mullvad.ts.net            UK                  Any                    -

 100.68.61.62        gb-lon-wg-001.mullvad.ts.net            UK                  London                 -

 100.123.92.21       gb-mnc-wg-002.mullvad.ts.net            UK                  Manchester             -

 100.83.154.123      us-hou-wg-002.mullvad.ts.net            USA                 Any                    -

 100.116.45.16       us-qas-wg-102.mullvad.ts.net            USA                 Ashburn, VA            -

 100.103.188.66      us-atl-wg-204.mullvad.ts.net            USA                 Atlanta, GA            -

 100.89.129.123      us-bos-wg-102.mullvad.ts.net            USA                 Boston, MA             -

 100.106.59.53       us-chi-wg-005-1.mullvad.ts.net          USA                 Chicago, IL            -

 100.102.19.76       us-dal-wg-402.mullvad.ts.net            USA                 Dallas, TX             -

 100.99.135.32       us-den-wg-101.mullvad.ts.net            USA                 Denver, CO             -

 100.83.154.123      us-hou-wg-002.mullvad.ts.net            USA                 Houston, TX            -

 100.68.225.89       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.125.186.109     us-nyc-wg-602.mullvad.ts.net            USA                 New York, NY           -

 100.64.17.114       us-phx-wg-103.mullvad.ts.net            USA                 Phoenix, AZ            -

 100.125.49.107      us-rag-wg-101.mullvad.ts.net            USA                 Raleigh, NC            -

 100.76.23.113       us-slc-wg-101.mullvad.ts.net            USA                 Salt Lake City, UT     -

 100.110.128.77      us-sjc-wg-302.mullvad.ts.net            USA                 San Jose, CA           -

 100.96.176.90       us-sea-wg-001.mullvad.ts.net            USA                 Seattle, WA            -

 100.99.152.121      us-uyk-wg-101.mullvad.ts.net            USA                 Secaucus, NJ           -

 100.83.57.44        ua-iev-wg-002.mullvad.ts.net            Ukraine             Kyiv                   -