Этот проект предоставляет инструменты для автоматизированной и ручной настройки прокси-серверов на базе 3proxy с использованием IPv6-подсетей. Он позволяет генерировать конфигурации, управлять прокси-сервисами и проверять их работоспособность.
- Автоматизированное развертывание (
remote_setup_script.py
): Полностью настраивает и запускает 3proxy на удаленном сервере, включая генерацию прокси и скачивание их на вашу машину. - Генерация конфигураций (
1_generate_proxy_configs.py
): Автоматическое создание конфигураций 3proxy для IPv6 и вспомогательных скриптов. - Управление IPv6 адресами: Скрипты для привязки и отвязки IPv6 адресов к/от сетевого интерфейса.
- Проверка прокси: Скрипт для проверки работоспособности сгенерированных прокси.
Проект поддерживает два основных сценария использования:
- Автоматизированный запуск с локальной машины: Используется
remote_setup_script.py
для комплексного развертывания на удаленном сервере. - Ручная настройка на сервере: Используется
1_generate_proxy_configs.py
и сопутствующие скрипты непосредственно на сервере.
Этот сценарий идеален для быстрой настройки нового сервера. Скрипт remote_setup_script.py
выполняет все необходимые шаги удаленно по SSH.
- Python 3.x на локальной машине.
- Доступ к удаленному серверу по SSH (IP, имя пользователя, пароль или ключ).
Установите зависимости:
pip install paramiko
- Запустите скрипт:
python3 remote_setup_script.py
- Следуйте инструкциям в консоли. Скрипт запросит данные для подключения к серверу и параметры для генерации прокси (количество, подсеть IPv6, сетевой интерфейс, имя проекта).
Что происходит:
Скрипт подключится к удаленному серверу по SSH, установит необходимые пакеты (git), склонирует репозиторий, выполнит полную настройку 3proxy (установка зависимостей, компиляция 3proxy, настройка среды), сгенерирует конфигурации прокси, запустит 3proxy как systemd
сервис и проверит работоспособность прокси.
Результат:
На вашу локальную машину в директорию downloaded_configs/
будут скачаны:
- Файл
extracted_proxy
с данными сгенерированных прокси. - Файл
proxy_check_results.txt
с результатами проверки прокси.
Этот сценарий предполагает, что вы уже находитесь на удаленном сервере, и репозиторий проекта склонирован.
- На сервере установлен Python 3.x.
- Репозиторий проекта склонирован.
- Клонируйте репозиторий и перейдите в него:
git clone https://github.com/petrovichest/3proxy_configs_pub.git cd 3proxy_configs_pub
- Установите все необходимые зависимости и скомпилируйте 3proxy:
bash install_all.sh
-
Запустите скрипт генерации:
python3 1_generate_proxy_configs.py <количество_прокси> <имя_проекта> --ipv6-subnet <ipv6_подсеть> --interface <сетевой_интерфейс> --external-ipv4 <внешний_ipv4>
- Если параметры не указаны, скрипт запросит их интерактивно.
- Пример:
python3 1_generate_proxy_configs.py 100 my_new_project --ipv6-subnet 2a03:a03:a03:a03::/64 --interface eth0 --external-ipv4 192.168.1.1
-
Результаты генерации (в директории
generated_proxy_configs/<имя_проекта>/
- использование разных имен позволяет создавать и управлять несколькими независимыми пачками прокси на одном сервере):full_proxy_config
: Основной файл конфигурации 3proxy.proxy_configs
: Данные прокси (user:pass proxy_ip:proxy_port ipv6:ipv6_address/prefixlen).setup_network_ipv6.sh
: Скрипт для настройки IPv6 сети.start_systemctl.sh
: Запуск 3proxy какsystemd
сервиса.stop_systemctl.sh
: Остановка и удаление 3proxy сервиса.proxy_checker.sh
: Запуск проверки работоспособности прокси.bind.sh
/unbind.sh
: Скрипты для управления привязками IPv6.extracted_proxy
: Список прокси в форматеip:port@username:password
.
- Перейдите в директорию с файлами проекта:
cd generated_proxy_configs/<имя_проекта>/
- Настройте сеть IPv6 и запустите 3proxy как
systemd
сервис:sudo bash start_systemctl.sh
- Проверка статуса сервиса:
systemctl status 3proxy-<имя_проекта>.service
- Проверка прокси:
bash proxy_checker.sh # Результаты в proxy_check_results.txt
- Остановка и удаление 3proxy сервиса:
sudo bash stop_systemctl.sh
После генерации и первого запуска, вы можете использовать следующие команды из директории проекта (generated_proxy_configs/<имя_проекта>/
):
- Запуск 3proxy сервиса:
sudo bash start_systemctl.sh
- Остановка и удаление 3proxy сервиса:
sudo bash stop_systemctl.sh
Используйте из директории проекта:
- Привязать все IPv6-адреса:
sudo bash bind.sh --action add_all
- Отвязать все IPv6-адреса:
sudo bash unbind.sh --action del_all
- Привязать/отвязать конкретный IPv6-адрес:
sudo bash bind.sh --action add --ipv6 <ipv6_адрес> --prefixlen <длина>
sudo bash unbind.sh --action del --ipv6 <ipv6_адрес> --prefixlen <длина>