Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] IP Rotation on local IPv6 Subnet #60

Open
BackInBash opened this issue Aug 10, 2021 · 9 comments
Open

[FEATURE] IP Rotation on local IPv6 Subnet #60

BackInBash opened this issue Aug 10, 2021 · 9 comments
Assignees

Comments

@BackInBash
Copy link

It would be cool to use the local IPv6 Subnet for the IP rotating feature instead of external proxy servers.

@kitabisa-bot
Copy link

kitabisa-bot bot commented Aug 10, 2021

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.

on hold

@dwisiswant0
Copy link
Member

Can you explain how your expectations were when used as an illustration, @BackInBash?

@BackInBash
Copy link
Author

My thoughts are to use the IP rotation feature for local bound IPv6 addresses and not for other proxy servers.
Something like this.

image

@dwisiswant0
Copy link
Member

If indeed:

  1. Dynamically assign (it'll interfere with other requests), or
  2. 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.

@BackInBash
Copy link
Author

BackInBash commented Aug 12, 2021

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.

@dwisiswant0
Copy link
Member

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(?)

@BackInBash
Copy link
Author

BackInBash commented Aug 13, 2021

...what input mubeng needs to choose IPv6(?)

No input the only thing you should need in my opinion is a on off switch (bool).

  1. Grab the routing table and get the default ipv6 gateway and save the interface
  2. 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

  1. 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:

@dwisiswant0
Copy link
Member

But route scope (*nix) is configured by system (administrator), @BackInBash. Thoughts?

@BackInBash
Copy link
Author

Read-only operations should be able to be performed without admin privileges.
Which golang lib are you using?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants