ivpn / desktop-app

Official IVPN Desktop app
https://www.ivpn.net/apps/
GNU General Public License v3.0
368 stars 50 forks source link

IPv6 connection information #25

Closed gorkapernas closed 3 years ago

gorkapernas commented 3 years ago

Description

IVPN apps load connection information from IVPN API server (https://api.ivpn.net/v4/geo-lookup), in several cases:

Current apps only load IPv4 information.

New version of apps will call /geo-lookup API with both IPv4 and IPv6 IP addresses by default.

Control panel IPv4/IPv6 tabs

When both IPv4 and IPv6 connection info is available, results needs to be visible in the Control panel. A toggle is used to show IPv4 or IPv6 connection information.

Map IPv4/IPv6 tabs

When both IPv4 and IPv6 connection info is available, but location (city) is different, apps need to show "IPv4/IPv6" tabs on the map view with label "Location does not match".

API access with IP addresses

Our app are using a range of IPv4 addresses used as a fallback if API server cannot be reached with api.ivpn.net hostname.

When app is loading both IPv4 and IPv6 connection information from IVPN API server, app should use provided IPv4 and IPv6 IP address ranges, and not using hostname.

gorkapernas commented 3 years ago

Verified on version 3.3.16-17 staging and production. Platforms -> Windows 10, macOS Catalina 10.15.7/BigSur 11.4 M1 Chip, Linux Ubuntu 20.04, Fedora 32.

Tested the following scenarios with all servers which support IPv6 and the disconnected IPv6 info with a private VPN (staging):

Current behaviour -> When connecting to the VPN with IPv6 enabled for WireGuard, the app shows a switcher with both IPv4 and IPv6 connection info (IP, location and IS), the information can be found in the map or main window when the map is closed. Furthermore, if the device network supports IPv6, the app also displays both IPv4 and IPv6 information from the user's real geolocation when the app is not connected to the VPN. If the IPv4 and IPv6 locations don't match, the text "Location does not match" is displayed (only when disconnected)

The IPv6 connection info can also be found in the system tray menu, as well in the CLI client.

stenya commented 3 years ago

v3.3.20 is released. Changelog