Создание ipv6 прокси в windows с ротацией

1) Скачиваем php и 3proxy

1) Создаем файл C:\vpsville\clear.ps1
Remove-NetIPAddress -AddressFamily IPv6 -Confirm:$false


2) Создаем bat для запуска на рабочем столе
@ECHO OFF
C:\php\php.exe C:\vpsville\php_daemon.php


3) Создаем файл C:\vpsville\php_daemon.php


<?php

$ipaddr = '1.1.1.1'; // IPv4 
$start_port = 30000; // start port
$end_port = 30005; // end port
$prefix = '2a00:980:'; //your prefix
$password = '1111'; // password
$timeout = 420; // time rotation in seconds
$main_ip6 = '2a07:14c0:1:501::2/64'; // your server main IPv6 ip with netmask
$gw_ip6 = '2a07:14c0:1:501::1'; // gateway IP with no mask

//add default route
exec("netsh interface ipv6 add route ::/0 interface=Ethernet $gw_ip6");

//generate random 64-bit
function generateRandomIPv6() {
    $randomIPv6 = '';
    for ($i = 0; $i < 6; $i++) {
        $randomSegment = str_pad(dechex(random_int(0, 65535)), 4, '0', STR_PAD_LEFT);
        $randomIPv6 .= $randomSegment;
        if ($i < 5) {
            $randomIPv6 .= ':';
        }
    }
    return $randomIPv6;
}
while (true) {


//Clear IPv6 settings Remove-NetIPAddress -AddressFamily IPv6 -Confirm:$false

exec ("netsh interface ipv6 set global  mldlevel=none");
echo "start removing old IP...";
system('C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -command "C:\vpsville\clear.ps1"');
echo "removing old IP = OK";


// ger random IP
$ipv6List = array();
$ipv63proxy = array();
for ($i = $start_port; $i < $end_port ; $i++) {
    $ipv6 = generateRandomIPv6();
    $ipv6List[] = 'add address interface="Ethernet" address="'.$prefix.$ipv6.'"'; // Generate IP config
	$ipv63proxy[] = 'proxy -6 -n -a -p'.$i.' -i'.$ipaddr.' -e'.$prefix.$ipv6; // Generate 3proxy config
	$myip = "$prefix:$ipv6";
}



// Adding firsh main IP with mldlever = all
file_put_contents('ipv6_list.txt', 'pushd interface ipv6
set global mldlevel=all
set interface interface="Ethernet" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
add address interface="Ethernet" address="'.$main_ip6.'"
');
exec("netsh exec ipv6_list.txt");

echo "Adding dump new IP...";
// Adding all other IP with mldlever = none
file_put_contents('ipv6_list.txt', 'pushd interface ipv6
set global mldlevel=none
set interface interface="Ethernet" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
');
file_put_contents('ipv6_list.txt', implode("\n", $ipv6List), FILE_APPEND);
exec("netsh exec ipv6_list.txt");
echo "Adding dump new IP = OK";


//Return MLD again
exec ("netsh interface ipv6 set global  mldlevel=all");


//Generate 3proxy config
file_put_contents('C:\3proxy.cfg', 'maxconn 10000
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
flush
auth strong
users admin:CL:'.$password.'
allow admin

'.implode("\n", $ipv63proxy));

echo "killing 3proxy";
exec ('taskkill /IM "3proxy.exe" /F');

echo "starting 3proxy";
pclose(popen('powershell.exe "Start-Process C:\vpsville\3proxy\bin\3proxy.exe C:\3proxy.cfg -WindowStyle Hidden"','r'));

echo "sleeping...";
sleep ($timeout);
}
?>

  • 0
  • 31 июля 2023, 18:54
  • admin

Комментарии (0)

RSS свернуть / развернуть
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.