-
Notifications
You must be signed in to change notification settings - Fork 160
Networking
Your computer can have multiple IPv4/IPv6 addresses assigned across one of more network interfaces. You can view the ones that BiglyBT detects by going to the Configuration and selecting Connection->Advanced Network Settings (note that setting your Mode to intermediate/advanced is advisable in order to see more options).
If you have a simple network setup then generally nothing needs to be configured here. However, if you need to restrict the addresses used by BiglyBT then you can use the "Bind to local address or interface" setting here to do so.
Examples include selecting a specific IPv6 address to use (in the presence of one or more "temporary" ones) and restricting traffic to a VPN adapter.
Generally speaking VPNs come with some advice on how to configure them for use with applications such as BiglyBT so use that documentation and their support as much as possible.
What follows is a selection of VPN related issues that you might encounter.
BiglyBT attempts to recognise when you have a VPN running and if so it will suggest that you bind to the VPN interface. If you accept then the configuration will be updated as required. This works well until, say, the VPN changes the network interfaces that it uses, or perhaps you switch VPNs. In this case you can be left with an incorrect binding that can prevent BiglyBT from working correctly. If nothing seems to be working then check the "Routing" icon in the BiglyBT status bar - this shows as yellow or red if binding issues are detected.
Java can support dual stack or separate stacks for IPv4/IPv6 support. Some VPNs (e.g. ProtonVPN) can fail with bind errors if the dual stack is selected. The solution is to set the IPv4 stack as preferred, see below.
Java versions up to 17 supported setting this from within BiglyBT (see Options->Connection->Advanced Network Settings: Prefer IPv4 stack) . Unfortunately beyond this version this may not be possible, if the option above is missing you need to do this by setting a system property on startup. The property setting is
-Djava.net.preferIPv4Stack=true
See Command-Line-Options for how to do this.
Some OS (Windows for example) have an option to create multiple global IPv6 addresses to support a level of privacy for the user. These can be seen as 'temporary' addresses when you invoke the ipconfig /all command. Unfortunately this can cause issues with BiglyBT IPv6 routing when there is an IPv6 firewall in place - you may well have configured it to accept incoming connections to BiglyBT but if the OS decides to route the BiglyBT traffic through an alternative temporary IPv6 address then this routing will not work.
BiglyBT will attempt to detect this situation from version 2101_B18 onwards and raise an alert. To resolve the issue you can either explicitly bind BiglyBT to the IPv6 address that you want it to use or alternatively disable the temporary IPv6 address generation within the OS itself.
You can disable the detection of this in BiglyBT via the 'Advanced Network Settings' options.
Java versions up to 17 supported setting this from within BiglyBT (see Options->Connection->Advanced Network Settings: Prefer IPv6 addresses when both IPv6 and IPv4 are available) . Unfortunately beyond this version this may not be possible, if the option above is missing in BiglyBT you need to do this by setting a system property on startup. The property setting is
-Djava.net.preferIPv6Addresses=true
See Command-Line-Options for how to do this.
https://en.wikipedia.org/wiki/Port_forwarding
One of the most common issues reported with peer-to-peer software, not just BiglyBT, is to do with incoming connections (i.e. when a peer attempts to connect to your computer to upload/download data).
Various terms are used when incoming connections don't work, common ones being "I'm firewalled", "I have a NAT problem", "I can't open my port".
There are many possible reasons for things not working. Your ISP might not allow it. Your router might not be configured to allow it. Your computer's firewall/antivirus software might be blocking it. If you are using a VPN then it might not support incoming connections or might require configuration to do so...
For two peers to communicate at least one of them needs to be able to receive an incoming connection (ignoring hole punching covered below) - even if a peer can't connect to you, you will still be able to connect to it. Given that peer connections are bi-directional (they allow both upload and download). then generally speaking things still work, you just end up making outgoing connections to other peers. It is possible your downloads will be slower and you may not seed as effectively, but things will work.
The port number used for incoming connections is configured under "Options->Connection: Incoming TCP / UDP listen port", or "Options->Connection: Incoming TCP listen port" for more advanced users.
https://en.wikipedia.org/wiki/Universal_Plug_and_Play
UPnP can be used to automatically open the required incoming port, as long as you have a router that supports it. Most modern routers do have this as an option but it is most likely disabled by default so you need to enable it. In the early days of support routers often had it enabled by default but various security concerns have led to this no longer being the case. Before enabling it you should research the feature and ensure you are happy with the consequences of doing so.
Connect to your router and configure it - you will need manufacturer specific instructions on how to do this.
bigly help