Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bind several addresses of different interfaces #19285

Open
billkewl opened this issue Jul 7, 2023 · 3 comments
Open

bind several addresses of different interfaces #19285

billkewl opened this issue Jul 7, 2023 · 3 comments

Comments

@billkewl
Copy link

billkewl commented Jul 7, 2023

Suggestion

qBittorrent & operating system versions

qBittorrent-nox v4.5.4 Linux Debian 12

Qt: | 6.5.1
Libtorrent: | 1.2.19.0
Boost: | 1.82.0
OpenSSL: | 3.1.1
zlib: | 1.2.13.zlib-ng

Use case

My self hosting server has several network interfaces.
Due to security reason, I don't want to expose some addresses to trackers but at the same time I need to bind to two IPv4 addresses from interface A and one IPv6 address from interface B.
Currently, qBittorrent can either bind to one address, all addresses or a whole address family (IPv4/IPv6) from one single interface or all interfaces but there's no granular setting.

Since there's no such settings on webUI, I tried to change bind setting of conf file but it didn't work.

Now that qBittorrent can bind to multiple addresses, I suppose it's not impossible to bind to specific addresses instead of unspecified address? Also I found this on libtorrent docs

name type default
listen_interfaces string 0.0.0.0:6881,[::]:6881

a comma-separated list of (IP or device name, port) pairs. These are the listen ports that will be opened for accepting incoming uTP and TCP peer connections. These are also used for outgoing uTP and UDP tracker connections and DHT nodes.

It is possible to listen on multiple interfaces and multiple ports. Binding to port 0 will make the operating system pick the port.

Extra info/examples/attachments

No response

@DanielZhang17
Copy link

It's great if this feature can be added to the webUI. I want to have qbittorrent bind to the ipv4 address of one interface and the ipv6 address of the other interface. Currently it appears that the only way to work around the limitations of qbittorrent is to create a virtual interface that binds to the addresses needed and then have qbittorrent bind to that interface, but this is kinda tricky to do.

@me-cfs
Copy link

me-cfs commented Dec 29, 2024

This would be great.

Sometimes VPN's change network interfaces and it would be nice to be able to bind to multiple.

@riobard
Copy link

riobard commented Jan 27, 2025

The flexibility of binding to arbitrary addresses/interfaces is also necessary to address issue #16783 where a network interface with IPv6 Privacy Extension enabled will have multiple temporary addresses (some valid but deprecated).

As of qBT 5.0.3 the conf file, webUI, and webUI API do not allow such configuration.

Additionally we need the ability to monitor changes in bound interfaces/addresses, but that's discussed in #21288 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants