Ротация прокси на основе 3proxy
Рассмотрим ротацию прокси созданных на основе 3proxy.
За основу возьмем статью blog.vpsville.ru/blog/howto/133.html
1. Создадим скрипт для создания конфигурации 3proxy
Вставим следующий скрипт
Сделаем файл исполняемым
2. Создадим скрипт генерации новых ipv6 адресов для прокси
Вставим в файл следующий скрипт
Делаем файл исполныемым
3. Добавляем следующий код в файл ~/rotate.sh
Создаем скрипт ротации с указанными командами
4. Добавляем в расписание, если требуется обновление прокси через определенный промежуток времени
В открывшемся редакторе добавляем в самый низ строку
где
{1} Периодичность обновления в минутах, заменяем на число
{2} Периодичность обновления в часах, заменяем на число
Если требуется только по минутам, то */{2} — меняем на *, и так же
если требуется только по часам, то */{1} — меняем на *
За основу возьмем статью 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
- 25 августа 2018, 17:17
- apereshein
Комментарии (0)
RSS свернуть / развернуть