Ротация прокси на основе 3proxy

Рассмотрим ротацию прокси созданных на основе 3proxy.
За основу возьмем статью blog.vpsville.ru/blog/howto/133.html

1. Создадим скрипт для создания конфигурации 3proxy
nano ~/3proxy.sh

Вставим следующий скрипт
#!/bin/bash

echo daemon
echo maxconn 10000
echo nscache 65536
echo timeouts 1 5 30 60 180 1800 15 60
echo setgid 65535
echo setuid 65535
echo flush
echo auth strong
echo users admin:CL:pass # меняем логин и пароль
echo allow admin #указываем логин 

port=30000
count=1
for i in `cat /root/ip.list`; do
    echo "proxy -6 -n -a -p$port -i185.118.66.204 -e$i" #заменяем ip адрес на адрес сервера
    ((port+=1))
    ((count+=1))
    if [ $count -eq 10001 ]; then
        exit
    fi
done

Сделаем файл исполняемым
chmod +x ~/3proxy.sh

2. Создадим скрипт генерации новых ipv6 адресов для прокси
nano ~/random.sh

Вставим в файл следующий скрипт
#Random generator ipv6 addresses within your ipv6 network prefix.
#!/usr/local/bin/bash

# Copyright
# Vladislav V. Prodan
# universite@ukr.net
# 2011


array=( 1 2 3 4 5 6 7 8 9 0 a b c d e f )
MAXCOUNT=4200 #количество прокси
count=1
network=2a07:14c0:0:2451 # Ваша сеть

rnd_ip_block ()
{
    a=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
    b=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
    c=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
    d=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
    e=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
#Для настройки /64 сети требуется добавить к подсети 4 блока:a, b, c, d
#Если сеть /48, то 5 блоков, то есть + e блок через двоеточие
    echo $network:$a:$b:$c:$d
}

#echo "$MAXCOUNT случайных IPv6:"
#echo "-----------------"
while [ "$count" -le $MAXCOUNT ]        # Генерация 20 ($MAXCOUNT) случайных чисел.
do
        rnd_ip_block
        let "count += 1"                # Нарастить счетчик.
        done
#echo "-----------------"

Делаем файл исполныемым
chmod +x ~/random.sh


3. Добавляем следующий код в файл ~/rotate.sh
nano ~/rotate.sh

#!/bin/bash

/root/random.sh > /root/ip.list
/root/3proxy.sh > /root/3proxy.cfg #вместо ~/3proxy.cfg вводите где располагается Ваш конфигурационный файл прокси.
killall 3proxy
/usr/sbin/3proxy /root/3proxy.cfg #уточните расположение исполняемого файла 3proxy перед выполнением команды

Создаем скрипт ротации с указанными командами

chmod +x ~/rotate.sh

4. Добавляем в расписание, если требуется обновление прокси через определенный промежуток времени
crontab -e

В открывшемся редакторе добавляем в самый низ строку
*/{1} */{2} * * * /bin/bash /root/rotate.sh

где
{1} Периодичность обновления в минутах, заменяем на число
{2} Периодичность обновления в часах, заменяем на число
Если требуется только по минутам, то */{2} — меняем на *, и так же
если требуется только по часам, то */{1} — меняем на *

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

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