mubeng
mubeng copied to clipboard
[FEATURE] IP Rotation on local IPv6 Subnet
It would be cool to use the local IPv6 Subnet for the IP rotating feature instead of external proxy servers.
Thank you for raising a issue to us so promptly. Please make sure you have given us as much context as possible.
We will try and get back to you as soon as possible.
Can you explain how your expectations were when used as an illustration, @BackInBash?
My thoughts are to use the IP rotation feature for local bound IPv6 addresses and not for other proxy servers. Something like this.
If indeed:
- Dynamically assign (it'll interfere with other requests), or
- Subnets have an open port (to use) as a proxy.
If it's the second situation from the above, it should now be possible for you to add it to the proxy pool for random use.
Maybe I still don't understand how your point of view is to use the local subnet as a proxy, such as what input mubeng needs to choose IPv6(?). It would be even more efficient if it didn't require (break) changes in the core.
your point of view is to use the local subnet as a proxy
Not as proxy. The proxy server should use the ip pool and randomly select an ip address as its outgoing request ip.
your point of view is to use the local subnet as a proxy
Not as proxy. The proxy server should use the ip pool and randomly select an ip address as its outgoing request ip.
Ok then,
...what input mubeng needs to choose IPv6(?)
...what input mubeng needs to choose IPv6(?)
No input the only thing you should need in my opinion is a on off switch (bool).
- Grab the routing table and get the default ipv6 gateway and save the interface
- Get the IPv6 Subnet from the selected Interface
On Windows it looks like this:
20 281 ::/0 fe80::464e:6dff:fe40:810b
-> This is your Default GW entry 20
is your Interface ID
C:\Users\BackInBash>route print
===========================================================================
Interface List
20...00 00 00 00 00 00 ......Intel(R) I211 Gigabit Network Connection
28...00 00 00 00 00 00 ......VirtualBox Host-Only Ethernet Adapter
1...........................Software Loopback Interface 1
23...00 00 00 00 00 00 ......Hyper-V Virtual Ethernet Adapter
===========================================================================
IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
20 281 ::/0 fe80::464e:6dff:fe40:810b
1 331 ::1/128 On-link
1 331 ff00::/8 On-link
28 281 ff00::/8 On-link
20 281 ff00::/8 On-link
23 5256 ff00::/8 On-link
===========================================================================
Persistent Routes:
None
To get the IPv6 Subnet from an Interface:
Get-NetIPAddress -InterfaceIndex 20 -AddressFamily IPv6 | Select-Object -Property IPAddress,PrefixLength
On Linux:
BackInBash@yellow:/$ ip -6 route show
default via fe80::1 dev eth0 proto kernel metric 1024 onlink pref medium
To get the IPv6 Subnet from an Interface
ip -o -f inet6 addr show | awk '/scope global/ {print $4}'
So eth0
is your Interface
- Now you have the IPv6 Subnet so you can start to calculate random IPs from and do requests from them.
Here are some example random ipv6 generators:
- https://techoverflow.net/2020/11/14/how-to-generate-random-ipv6-addresses-in-a-given-network-using-python/
- https://github.com/ycd/ipv6-rotator
But route scope (*nix) is configured by system (administrator), @BackInBash. Thoughts?
Read-only operations should be able to be performed without admin privileges. Which golang lib are you using?