tl;dr: This is a WireGuard Rotator MITMProxy Addon + Standalone Docker. It will rotate the WireGuard tunnel every n request. By default, n=3 and can be changed in the dev.sh file by setting the max environment variable. It is a proxy that will intercept all traffic and route it through an array of WireGuard tunnels. This is useful for penetration testing, scraping and privacy.
The popular repository Ge0rg3/requests-ip-rotator utilizes AWS API Gateway's large IP pool to rotate the IP addresses. This requires an AWS account and has shortcomings such as the header X-Amzn-Trace-Id that is set in every request and unexpected costs if shutdown commands fails and the AWS account is not monitored.
- AirVPN. Provides more than 240 different IP addresses
- Clone this repository
- Execute
dev.shto build and start the docker image. You maybe want to change themaxenvironment variable in thedev.shfile to the number of requests that should use the same IP address. - Use the proxy
http://127.0.0.1:8080, for example inrequests,curlor in Burp Suite as upstream proxy server. Both HTTP and HTTPS are supported.
docker build . -t wireguard-rotator
docker run --rm -it \
-p 8080:8080 \
-e max=3 \
--name=wireguarddev \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
-v $(pwd)/conf/:/conf/ \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
wireguard-rotator
- Clone this repository
- Ensure that mitmproxy is installed on your system:
pip install mitmproxyorapt-get install -y mitmproxy - Drop your WireGuard config files into the
conffolder - Start the proxy:
mitmdump -s wireguard-rotator.py
- Auto configuration: Drag and drop WireGuard config files to the /conf folder and you are ready to go.
- History: Remember the last used WireGuard configs and uses all other not used configs in a randomized round robin fashion.
- Concurent wireguard connections for faster rotations
- Test additional VPN providers
This is a proof of concept and should not be used in production. It is not tested for security and stability. Use at your own risk.
MIT License
