You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Incorrect device IP detection when multiple network interfaces are active (WiFi + Ethernet) or when using Clash Verge VPN TUN mode #4050
The application fails to correctly identify the device's IP address in scenarios where multiple network interfaces are present or when VPN tunneling is active. The detected IP may incorrectly resolve to:
TUN virtual network adapter (when using Clash Verge VPN in TUN mode)
WiFi network interface
Ethernet network interface
Instead of the expected physical network interface IP.
Stacktrace & log output
Can you reproduce the bug?
Always
Reproduction Steps
Device pairing succeeds but synchronization fails because of wrong device ip
As a workaround, you can manually select the correct network interface in Settings → Network Settings. Simply uncheck the virtual/TUN interface and check the physical one (e.g., your WiFi or Ethernet adapter). This should resolve the pairing and synchronization issue immediately.
That said, I do plan to improve the auto-selection logic in a future release — specifically by lowering the priority of known virtual interfaces (such as tun*, utun*, docker*, etc.) so that the application defaults to the correct physical adapter without requiring manual intervention.
Hi @zbl-jerry, good news — this has been fixed in the latest version (2.1.5).
The IP/device-identity handling has been reworked since you reported this:
Identity is now decoupled from IP. Trust is bound to the device's appInstanceId (established via the ECDH key exchange), not to its network address. When the active address changes — e.g. switching between WiFi/Ethernet or a TUN adapter coming and going — the connection now re-resolves and reconnects automatically instead of getting stuck on a stale/virtual address.
Network change self-healing. CrossPaste now detects network interface changes and rebuilds discovery accordingly, so cases like Clash Verge TUN mode toggling no longer leave it pinned to the wrong interface.
You can still explicitly pick the correct physical interface under Settings → Network Settings if you want to exclude virtual/TUN adapters entirely.
Please upgrade to 2.1.5 and let us know if the issue is fully resolved on your side. Thanks for the detailed report!
Activity
guiyanakuang commentedon Mar 15, 2026
@zbl-jerry Thanks for reporting this issue!
As a workaround, you can manually select the correct network interface in Settings → Network Settings. Simply uncheck the virtual/TUN interface and check the physical one (e.g., your WiFi or Ethernet adapter). This should resolve the pairing and synchronization issue immediately.
That said, I do plan to improve the auto-selection logic in a future release — specifically by lowering the priority of known virtual interfaces (such as
tun*,utun*,docker*, etc.) so that the application defaults to the correct physical adapter without requiring manual intervention.guiyanakuang commentedon Jun 21, 2026
Hi @zbl-jerry, good news — this has been fixed in the latest version (2.1.5).
The IP/device-identity handling has been reworked since you reported this:
appInstanceId(established via the ECDH key exchange), not to its network address. When the active address changes — e.g. switching between WiFi/Ethernet or a TUN adapter coming and going — the connection now re-resolves and reconnects automatically instead of getting stuck on a stale/virtual address.Please upgrade to 2.1.5 and let us know if the issue is fully resolved on your side. Thanks for the detailed report!