Skip to content

Комплекс сбора и проверки прокси серверов

Notifications You must be signed in to change notification settings

Ichinya/proxy-checker-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

proxy-checker-docker

Комплект по проверке прокси адресов. Включает в себя:

  • proxy-checker - проверка прокси, потребляем примерно 15мб ОЗУ на каждый
  • proxy-producer - собирает списки прокси и отправляет на проверку, потребляет примерно 30мб ОЗУ. Плюс образ крона 4-5 мегабайт. При импорте используется ещё 100Мб.
  • rabbitmq - менеджер очередей, через него происходит отправка на проверку. Уходит на работа 150Мб.
  • postgresql - база данных для хранения списков и результатов. Нужно для работы примерно 30мб ОЗУ, но тут зависит от количества прокси

Текущая композиция занимает 250Мб ОЗУ и 900метров готовые образы. На каждый новый чекер добавляется 15Мб ОЗУ. То есть при работе с 512Мб можно запустить 10-20 чекеров. 10 чекеров могут проверить 8к-10к прокси за час.

Скриншот

Запуск

Запускаем сборку. Также создаться два сервиса из образа proxy-producer, это producer_import и producer_cron. Первый при запуске проверяет сайт со списками прокси и вносит в базу. Второй запускает крон - отправка в очередь на проверку прокси, плюс переотправляет прокси на проверку каждые сутки

git clone https://github.com/Ichinya/proxy-checker-docker.git .

docker compose -f "docker-compose.yaml" up -d --build 

Команда импорта списков прокси с сайтов, собирает примерно 20-24к прокси с разных сайтов

docker exec proxy_producer python3 update_list_proxy.py

Для подключения к RabbitMQ, нужно использовать образ rabbitmq:management-alpine вместо rabbitmq:alpine и добавить порты к сервису:

    ports:
      - 5672:5672
      - 15672:15672

Для редактирования и просмотра базы данных можно открыть порт 5432 в сервисе или использовать допонительный образ Docker SQLPad, просто нужно добавить в композицию новый сервис, логин и пароль some@think.ru и пароль password:

  sqlpad:
    image: sqlpad/sqlpad:latest
    container_name: sqlpad
    ports:
      - 3000:3000
    environment:
      SQLPAD_ADMIN: 'some@think.ru'
      SQLPAD_ADMIN_PASSWORD: 'password'
      SQLPAD_APP_LOG_LEVEL: info
      SQLPAD_WEB_LOG_LEVEL: warn
      SQLPAD_CONNECTIONS__sqlserverdemo__name: DB
      SQLPAD_CONNECTIONS__sqlserverdemo__driver: postgres
      SQLPAD_CONNECTIONS__sqlserverdemo__host: database
      SQLPAD_CONNECTIONS__sqlserverdemo__database: homestead
      SQLPAD_CONNECTIONS__sqlserverdemo__username: user
      SQLPAD_CONNECTIONS__sqlserverdemo__password: pass
    volumes:
      - ./sqlpad-volume:/var/lib/sqlpad
    depends_on:
      - database

Примечания

В файле docker-compose.yaml можно найти у proxy-checker replicas: 2 - это количество чекеров. Каждый потребляем примерно 15-20мегабайт ОЗУ. Если использовать 20 чекеров, то скорость будет примерно 5 прокси в секунду.

Возможно появится:

  • Работа с файлами. Закидываем файлы со списками, а после проверки - получаем готовый список
  • Будет добавлен Gearman, так как кролик немало жрёт ОЗУ.

About

Комплекс сбора и проверки прокси серверов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published