qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
28.05k stars 3.96k forks source link

Cellular data usage, despite being connected to WiFi. #13809

Closed sirocyl closed 2 years ago

sirocyl commented 3 years ago

qBittorrent version and Operating System

qBittorrent 4.3.0.1, latest version as of this writing. Windows 10 v1809, 64-bit

What is the problem

When downloading a torrent using WiFi, a large amount of traffic goes to the LTE modem, which has an expensive metered data plan and a hard data usage cap.

What is the expected behavior

qBittorrent should be using the current primary network connection; and given the choice between a metered connection (say, Cellular or paid hotspot Wi-Fi) and an unrestricted one (say, Ethernet), should always use the unrestricted network.

Steps to reproduce

A cellular modem compatible with Windows 10 is required. In addition, a full "laptop", "notebook" or "tethered/tethering" data plan is necessary on that connection - not a "smartphone" or "multimedia" plan, for carriers which have that distinction.

Extra info

I can debug and provide further information and logs if needed, on request.

Important note: Logs seem to show the UPNP/NAT-PMP mapping into the cellular service's IPv6 range, and its CGNAT IPv4 IP, in addition to the WiFi network, and successfully returning a public IP for each. A full log, if absolutely necessary, can be provided privately; I don't wish to post my IP address publicly.

Attached: Screenshot showing data usage by qBittorrent, alongside network settings. qBittorrent, with 16.31GB of data in use this month.

Workaround:

If you expect to use qBittorrent on Windows with a cellular modem connected, or are experiencing this issue on Windows, you have two options:

Select your preferred network interface in the qBittorrent settings.

image

Disable standby cellular connection.

You will have slower wifi-to-cellular handoff, but qBittorrent will not use your data connection if you're on another network.

The-KarateKid commented 3 years ago

Go to Settings -> Advanced. What Network Interface is selected? If it is on "Any Interface" choose the one that specifically is used by the WiFi connection. If it is linked to the adapter rather than the specific network interface, this could be the same as the hotspot. (I am on macOS/Linux so I don't know how Windows network interfaces handles devices)

sirocyl commented 3 years ago

Thanks for the pointers - I see the options there for the interfaces on my machine, including Wi-Fi, Cellular, Ethernet and the local virtual machine networks.

image

I'll update my workaround to include that; however, the default use of other network interfaces than the primary, especially metered ones, remains an issue.

ghost commented 2 years ago

qbt by default will use all interfaces. It's the users responsibility to change it from settings.

sirocyl commented 2 years ago

I'll make the assumption that qbittorent is user-hostile, then. The mechanism is there to simply, not use certain network interfaces on a given machine - and sure enough, every other program complies, and is expected to comply. Maliciously running down people's pay-per-gig data connection just because their computer happens to have a modem, isn't acceptable.

To be clear - this isn't about use while away from home, where it would be appropriate to assume the responsibility of the user - the above example was while connected to a high-quality home network. qbt specifically chose to use a connection I hadn't authorized it to use.

It'd be the equivalent of an app like Netflix on your phone, ignoring your connected wifi and choosing to hit mobile data while streaming 4K video.

sirocyl commented 2 years ago

qbt by default will use all interfaces.

qbittorrent should bind primary interfaces only and first. (Use the Windows network adapter priority - seems to be in this documentation, code-wise - to determine which interfaces count as "primary", under Windows. Other platforms (NetworkManager/Ubuntu) seem to close the WWAN interface when WLAN is present and connected, but I cannot confirm that at present.)

It's the users responsibility to change it from settings.

The user should choose to bind other/all interfaces; and accept the risk and responsibility of doing so, if one is metered.