I can tell aria2c to listen on a particular interface with --bt-lpd-interface, but it would be helpful to allow it to listen to more than one.
I would like to create three or more seed instances running off a network-mapped drive on localhost discoverable only by aria instances running on that computer, but allow the downloading instance to discover on the external network as well.
The downloading instance should have access to those three guaranteed seeds, plus any that it can discover on the local network segment, thus, LPD discovery on both localhost and on the external interface would be helpful.
Something like --bt-lpd-interface= to listen on all interfaces, perhaps. Then I could tell my local seeds to --interface=127.0.0.1 --bt-lpd-interface=127.0.0.1 and my downloading instance to bind to the external interface and --bt-lpd-interface=.
As it stands, if I have 10 LAN computers participating in a download, there will be 30 "seeds" and 10 "downloading" instances, seeds that are actually pulling off a network drive. Ideally, I would like each host to see 3 seeds (off localhost) and 9 peers on the LAN segment.
The better solution would obviously be to have the central filer run a permanent torrent seed, but that is not currently politically expedient.
Maybe I could turn off LPD broadcast for the local seeds, specify a port number, and then manually point the downloading process to those ports somehow.
Actually, I tried 0.0.0.0 again, and it .. seems to be working. It didn't before..
Well, it's working reliably on one machine, but not another. Odd.. I guess this is my problem.
I'm not sure --bt-lpt-interface=0.0.0.0 works.
But I pushed the commit to enable multicast loopback.
So the multicast packet is going to the selected interface and loopback device.
For example:
Localhost seed:
aria2c --bt-lpd-interface=127.0.0.1 --enable-lpd ...
Localhost downloader:
aria2c --enable-lpd
Seed instance only listens loopback and its packet is sent to the loopback, so it can only be reached at local instance, including local downloader.
On the other hand, local downloader does not specify LPD interface (you can if it is necessary), so its packet is sent to the default interface and loopback. The packet sent to the loopback can be retrieved by localhost seeder.
Thank you, I appreciate the patch and will give it a shot as soon as I have some time to set up the build environment.