seikur0 / PGO-mapscan-opt

GNU General Public License v3.0
111 stars 50 forks source link

Bind account IP address? #180

Open darkforcesjedi opened 7 years ago

darkforcesjedi commented 7 years ago

Can we bind the worker threads to a specific network interface by IP address? I don't know python, but from searching online it appears you can use a SourceAddressAdapter from requests-toolbelt to accomplish this.

The ethernet interface on my server has multiple IP addresses assigned to it. My router can connect to multiple VPNs and route traffic based on the source IP. Many Linux services allow you to bind them to a particular IP address or interface. I have my router set up to route:

IP range 1 -> VPN 1 IP range 2 -> VPN 2 etc ... Anything else -> WAN (no VPN)

My server's ethernet interface has IP addresses in each range. Then I bind services to particular IP depending on which VPN I want to use (some things I use privateinternetaccess VPN for, my outgoing email server uses a separate VPN so that emails aren't rejected as spam by other mail servers, and the rest goes out over no VPN).

I wanted to spread the scanning accounts over multiple VPNs. I could do this by configuring the VPNs and route tables on my router and binding accounts to various IPs. Alternatively I could run multiple proxies configured to different outbound addresses (it looks like Squid supports this).

seikur0 commented 7 years ago

Seems good. When I have more time, I can add it. Right now, I'm working on a good way to scan huge areas. When that's finished it'll also be a good standard to set up a global database for spawn points with the help of many people.