Автоматическое назначение IPv6-адресов для 3proxy через HTTP-запросы
Эта инструкция позволит вам автоматически изменять IPv6-адреса в файле конфигурации 3proxy с помощью HTTP-запросов. Это удобно для динамического управления прокси без необходимости редактировать файлы вручную.
Перед началом убедитесь, что ваш сервер с 3proxy уже настроен и работает. Если 3proxy не установлен, воспользуйтесь этой инструкцией:
Автоматическая настройка IPv6 прокси с помощью скрипта
1. Для работы скрипта потребуется веб-сервер Apache с поддержкой PHP.
Установите их:
После установки проверьте, что Apache работает:
Если сервер не запущен, включите его:
2. Размещение скрипта assign_ip.php
Создадим каталог для скриптов:
Добавим файл assign_ip.php:
Создайте файл:
Вставьте код (замените 185.220.35.75 на свой IPv4-адрес сервера):
Сохраните (Ctrl+X, затем Y и Enter).
3. Настройка прав доступа
Дадим права Apache на этот файл:
Теперь дадим Apache права на запись в /home/3proxy/ports.list:
4. Настройка Apache (виртуальный хост)
Создадим конфиг для виртуального хоста:
Добавьте туда:
Активируем сайт:
Проверка работы скрипта
Теперь можно проверить работу скрипта.
Пример запроса:
Если всё настроено правильно, вы увидите:
Теперь ваш сервер поддерживает автоматическое назначение IPv6-адресов через HTTP-запросы. Это значительно упрощает управление 3proxy и позволяет обновлять IP-адреса без ручного редактирования файлов.
Перед началом убедитесь, что ваш сервер с 3proxy уже настроен и работает. Если 3proxy не установлен, воспользуйтесь этой инструкцией:
Автоматическая настройка IPv6 прокси с помощью скрипта
1. Для работы скрипта потребуется веб-сервер Apache с поддержкой PHP.
Установите их:
apt update
apt install apache2 php libapache2-mod-php -y
После установки проверьте, что Apache работает:
systemctl status apache2
Если сервер не запущен, включите его:
systemctl enable --now apache2
2. Размещение скрипта assign_ip.php
Создадим каталог для скриптов:
mkdir -p /var/www/html/proxy
cd /var/www/html/proxy
Добавим файл assign_ip.php:
Создайте файл:
nano /var/www/html/proxy/assign_ip.php
Вставьте код (замените 185.220.35.75 на свой IPv4-адрес сервера):
<?php
$portsListFile = '/home/3proxy/ports.list';
$password = $_GET['password'] ?? '';
$port = $_GET['port'] ?? '';
$ipv6 = $_GET['ipv6'] ?? '';
$ipv4 = '185.220.35.75'; // Укажите ваш IPv4-адрес
if ($password !== '7Xm8VAZewq') {
die("Ошибка: Неверный пароль");
}
if (!$port || !$ipv6) {
die("Ошибка: Не указан порт или IPv6-адрес");
}
if (!file_exists($portsListFile)) {
die("Ошибка: Файл ports.list не найден!");
}
$portsList = file_get_contents($portsListFile);
if (empty($portsList)) {
die("Ошибка: Файл ports.list пуст!");
}
$pattern = "/proxy -s0 -(6|64) -n -a -p$port -i[0-9.]+ -e[0-9a-f:]+/i";
$replacement = "proxy -s0 -6 -n -a -p$port -i$ipv4 -e$ipv6";
if (preg_match($pattern, $portsList)) {
$portsList = preg_replace($pattern, $replacement, $portsList);
} else {
$portsList .= "\n$replacement";
}
if (!empty($portsList)) {
file_put_contents($portsListFile, $portsList);
echo "IPv6 $ipv6 успешно назначен для порта $port.";
} else {
die("Ошибка: Новый файл ports.list пуст! Запись отменена.");
}
?>
Сохраните (Ctrl+X, затем Y и Enter).
3. Настройка прав доступа
Дадим права Apache на этот файл:
chown www-data:www-data /var/www/html/proxy/assign_ip.php
chmod 644 /var/www/html/proxy/assign_ip.php
Теперь дадим Apache права на запись в /home/3proxy/ports.list:
chown www-data:www-data /home/3proxy/ports.list
chmod 666 /home/3proxy/ports.list
4. Настройка Apache (виртуальный хост)
Создадим конфиг для виртуального хоста:
nano /etc/apache2/sites-available/proxy.conf
Добавьте туда:
<VirtualHost *:80>
ServerAdmin admin@yourdomain.com
DocumentRoot /var/www/html/proxy
<Directory /var/www/html/proxy>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/proxy_error.log
CustomLog ${APACHE_LOG_DIR}/proxy_access.log combined
</VirtualHost>
Активируем сайт:
a2ensite proxy.conf
systemctl reload apache2
Проверка работы скрипта
Теперь можно проверить работу скрипта.
Пример запроса:
curl "http://localhost/proxy/assign_ip.php?password=7Xm8VAZewq&port=30004&ipv6=2a07:14c0:0:a725::45ed:b844:5633"
Если всё настроено правильно, вы увидите:
IPv6 2a07:14c0:0:a725::45ed:b844:5633 успешно назначен для порта 30004.
Теперь ваш сервер поддерживает автоматическое назначение IPv6-адресов через HTTP-запросы. Это значительно упрощает управление 3proxy и позволяет обновлять IP-адреса без ручного редактирования файлов.
- +1
- 12 января 2025, 16:09
- agaraev
Комментарии (0)
RSS свернуть / развернуть