Is it possible to add a feature to support a client that connects to multiple hubs across multiple networks? I.E If a client wants to connect to a hub across the www, and then another across a wireless or vpn network?
I know its possible to set up and connect across two networks if your in passive mode, but really you need to be able to specifiy which active ip you want to set for each hub. I think this is a much needed feature as VPN p2p apps/messengers become more common, I wont advertise any but some are zero-config and easy to setup to give DC++ an extra level of security.
Multple network support?
Moderator: Moderators
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
Routing tables should work to get you logged in over the different NICs, but that doesn't allow you to be active. The client would have to figure out the IP seperatly for each hub.
A possible solution would be to store the local IP per hub and have a way to set it. Then the user could be active on any interface. (He would have to figure out the ip himself (or have a script do it) probably easiest to retrieve it from the hub)
A possible solution would be to store the local IP per hub and have a way to set it. Then the user could be active on any interface. (He would have to figure out the ip himself (or have a script do it) probably easiest to retrieve it from the hub)
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
At one point, there was this change made:Jove wrote:Routing tables should work to get you logged in over the different NICs, but that doesn't allow you to be active. The client would have to figure out the IP seperatly for each hub.
Code: Select all
-- 0.24 2003-03-11 --
* Local ip handling improved, so that a per-hub ip is used if nothing is entered in the active field (good for people who connect to local hubs or through different network cards)
Is there....
So, based on "improved local IP Handling"... is there not room in the protocol for user IP's to be sent to the client from the hub? but is that in the basic protocol or ADC?
/join [hub-address]
request to hub: Send me my IP - store as "hub_connection"
{hub sends IP}
request to local computer: What are the local interface IP's (surely there's a lookup for that in C)
{parse out all local IP's, would have to include loopback too} - store ass arr_localIPs
for each IP in "arr_localIP's"
IF("hub_connection" == "arr_localIPs"(x) Then set IP
Else Set Passive
done.
Now does that function pseudocode look worthy to the general populace? now, is that what's already there???
It would be nice to see in Settings "Use Auto IP detection" - who knows how to auto-detect if there's a SOCKS5 proxy server in use?? add that as a select statement?
just some random mental meandering for thought.
/join [hub-address]
request to hub: Send me my IP - store as "hub_connection"
{hub sends IP}
request to local computer: What are the local interface IP's (surely there's a lookup for that in C)
{parse out all local IP's, would have to include loopback too} - store ass arr_localIPs
for each IP in "arr_localIP's"
IF("hub_connection" == "arr_localIPs"(x) Then set IP
Else Set Passive
done.
Now does that function pseudocode look worthy to the general populace? now, is that what's already there???
It would be nice to see in Settings "Use Auto IP detection" - who knows how to auto-detect if there's a SOCKS5 proxy server in use?? add that as a select statement?
just some random mental meandering for thought.
coz MacsRBest
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
Re: Is there....
You mean for the hub to send the user's IP to them? Take a look at $UserIP. But it is an extension, and is not useful in this case.Asc3nti0n wrote:So, based on "improved local IP Handling"... is there not room in the protocol for user IP's to be sent to the client from the hub? but is that in the basic protocol or ADC?
Better yet, there's a lookup to see what your local IP is on a given TCP connection, which is what the change I quoted above actually did.Asc3nti0n wrote:surely there's a lookup for that in
This has the effect of putting all users behind a NAT into passive mode, and as such isn't an improvement from the way DC++ does things. I'm not sure if I've mentioned it in this thread yet, but UPnP is the feature that's supposed to help most users get rid of their port-forwarding woes.Asc3nti0n wrote:IF("hub_connection" == "arr_localIPs"(x) Then set IP
Else Set Passive