View Single Post
  #3  
Old 01.04.2015, 19:36
Llamatron
Guest
 
Posts: n/a
Default

Quote:
Can you explain what exactly the problem is?
The main problem was with my setup. All my proxies were actually getting the same source IP. I thought JD2 was deciding not to start downloads from all proxies, based on incorrect IP checks, but in fact it was trying and getting blocked because there was already a DL running on that IP. In Linux, the source IP for a TCP connection is always the IP of eth0:0, regardless of bind()ing a socket to the IP of another interface. (I checked by connecting to a server that printed the IP that connected to it.)

There might still be something weird going on, because when I tested earlier, I saw connections to k2s on all the proxies, but ipchecks on only one proxy. If the k2s plugin is checking IPs, shouldn't I see ip checks on all the proxies?

I'll test this further. Another thing is that the "socks" server from 3proxy only handles one connection at a time, it seems. So if there's already one connection open via that proxy, other SOCKS requests are refused, which is pretty silly.

So basically there was a lot wrong with my setup; don't waste time on this until I fix it and find anything that might actually be a JD2 problem.




Quote:
Originally Posted by Jiaz View Post
1.) No need to create proxies. JDownloader is able to use network interfaces/gateways directly. Just setup a DirectIP and either enter the IP of it or name of the network device (eg eth0:0). Routing should do the rest.
So IPs put into DirectIP get used as the source address JD2 bind(2)s sockets to before connect(2)? That makes sense.

I was confused because the "proxy type" field says "Direct Gateway" for that type. I thought JD2 was going to get connections routed through an alternate (NAT or normal) first-hop gateway, not the default route. (Although I'm not sure this is even possible through the normal socket API.)

A better name might be "set source IP". Anything without the word "gateway", anyway. The popup dialog for adding one is good, now that I look at it. The problem is the "proxy type" column on the connection table. Using the dropdown there, you just see "direct gateway" as one of the options.

I'm running JD2 on my desktop, which only has one IP (10.xxx). My router is the default gateway, and there's another machine on the internal network that also has external IPs. I want to use this second gateway via SOCKS or an HTTP proxy.


Quote:
2.3.) Also note that some plugins do ip check themselves to check for waiting limitations. so this might be the reason why you see k2s and ipcheck on proxy 2. download starts on proxy 2, plugin checks ip (via proxy2).
Ahhhh, ok. I didn't realize that plugin IP checks were separate from reconnects or JD2 core knowing the IP of its connections.

I was assuming that plugins would ask the core what the IP of a connection was, and it was JD2 core stuff deciding which connection to use to check the current IP.
Reply With Quote