Skip to content

petrovichest/3proxy_configs_pub

Repository files navigation

3proxy Configs Public

Этот проект предоставляет инструменты для автоматизированной и ручной настройки прокси-серверов на базе 3proxy с использованием IPv6-подсетей. Он позволяет генерировать конфигурации, управлять прокси-сервисами и проверять их работоспособность.

Функциональность

  • Автоматизированное развертывание (remote_setup_script.py): Полностью настраивает и запускает 3proxy на удаленном сервере, включая генерацию прокси и скачивание их на вашу машину.
  • Генерация конфигураций (1_generate_proxy_configs.py): Автоматическое создание конфигураций 3proxy для IPv6 и вспомогательных скриптов.
  • Управление IPv6 адресами: Скрипты для привязки и отвязки IPv6 адресов к/от сетевого интерфейса.
  • Проверка прокси: Скрипт для проверки работоспособности сгенерированных прокси.

Сценарии использования

Проект поддерживает два основных сценария использования:

  1. Автоматизированный запуск с локальной машины: Используется remote_setup_script.py для комплексного развертывания на удаленном сервере.
  2. Ручная настройка на сервере: Используется 1_generate_proxy_configs.py и сопутствующие скрипты непосредственно на сервере.

1. Автоматизированный запуск с локальной машины (remote_setup_script.py)

Этот сценарий идеален для быстрой настройки нового сервера. Скрипт remote_setup_script.py выполняет все необходимые шаги удаленно по SSH.

Требования

  • Python 3.x на локальной машине.
  • Доступ к удаленному серверу по SSH (IP, имя пользователя, пароль или ключ).

Подготовка

Установите зависимости:

pip install paramiko

Запуск

  1. Запустите скрипт:
    python3 remote_setup_script.py
  2. Следуйте инструкциям в консоли. Скрипт запросит данные для подключения к серверу и параметры для генерации прокси (количество, подсеть IPv6, сетевой интерфейс, имя проекта).

Что происходит: Скрипт подключится к удаленному серверу по SSH, установит необходимые пакеты (git), склонирует репозиторий, выполнит полную настройку 3proxy (установка зависимостей, компиляция 3proxy, настройка среды), сгенерирует конфигурации прокси, запустит 3proxy как systemd сервис и проверит работоспособность прокси.

Результат: На вашу локальную машину в директорию downloaded_configs/ будут скачаны:

  • Файл extracted_proxy с данными сгенерированных прокси.
  • Файл proxy_check_results.txt с результатами проверки прокси.

2. Ручная настройка на сервере (1_generate_proxy_configs.py)

Этот сценарий предполагает, что вы уже находитесь на удаленном сервере, и репозиторий проекта склонирован.

Требования

  • На сервере установлен Python 3.x.
  • Репозиторий проекта склонирован.

Подготовка

  1. Клонируйте репозиторий и перейдите в него:
    git clone https://github.com/petrovichest/3proxy_configs_pub.git
    cd 3proxy_configs_pub
  2. Установите все необходимые зависимости и скомпилируйте 3proxy:
    bash install_all.sh

Генерация прокси-конфигураций

  1. Запустите скрипт генерации:

    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
  2. Результаты генерации (в директории 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.

Запуск и управление 3proxy (на сервере)

  1. Перейдите в директорию с файлами проекта:
    cd generated_proxy_configs/<имя_проекта>/
  2. Настройте сеть IPv6 и запустите 3proxy как systemd сервис:
    sudo bash start_systemctl.sh
  3. Проверка статуса сервиса:
    systemctl status 3proxy-<имя_проекта>.service
  4. Проверка прокси:
    bash proxy_checker.sh  # Результаты в proxy_check_results.txt
  5. Остановка и удаление 3proxy сервиса:
    sudo bash stop_systemctl.sh

Ключевые команды управления прокси

После генерации и первого запуска, вы можете использовать следующие команды из директории проекта (generated_proxy_configs/<имя_проекта>/):

  • Запуск 3proxy сервиса:
    sudo bash start_systemctl.sh
  • Остановка и удаление 3proxy сервиса:
    sudo bash stop_systemctl.sh

Управление привязками IPv6 (на сервере)

Используйте из директории проекта:

  • Привязать все 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 <длина>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published