avallac / proxy-balancer
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:project
Requires
- avallac/proxy-balancer-client: ^1.0
- pimple/pimple: ^3.2
- react/http: ^0.8.1
- symfony/routing: ^4.0
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.5.4
- mockery/mockery: ^1.0
- phpunit/php-code-coverage: ^5.3
- phpunit/phpunit: ^6.5
This package is not auto-updated.
Last update: 2024-11-10 04:53:30 UTC
README
Описание
Демон, написанный на react-PHP, для балансировки запросов между прокси серверами в распределенной системе.
Особенности:
- Поддерживает множество сервисов, каждый со своим таймаутом
- Предлагает самый доступный прокси, на основе статистики времени ответа от клиента.
- Клиент может пожаловаться на прокси (не работает, заблокировано сайтом), отключив ее на 60 минут.
- Статистика сохраняется на диск каждые 60 минут, автоматически будет загружена при старте приложения.
- Авторизация через Basic access authentication
Установка
- Запустите
composer create-project avallac/proxy-balancer
- При необходимости отредактируйте proxy-balancer/etc/config.yml:
listenPort: Номер слушающего порта
debug: Отладка
auth:
username: <username>
password: <password>
service:
<service 1>: <colddown sec>
<service 2>: <colddown sec>
- Создайте proxy-balancer/etc/proxy.list. Каждая прокси на новой строуке, по следующему шаблону:
<username>:<password>@<ip/host>:<port>
<username>:<password>@<ip/host>:<port>
<username>:<password>@<ip/host>:<port>
<username>:<password>@<ip/host>:<port>
- Запустите
php ./proxy-balancer/bin/proxy-balancer.php
Методы
- GET / в ответ возвращать JSON с количеством доступных прокси для каждого сервиса.
- GET /status в ответ возвращать JSON с временем с момента запуска сервиса, в секундах.
- GET /debug
- GET /get/{service}
- POST /report/{service}
- POST /complaint/{service}
Использование
Клиент для данного сервиса https://github.com/avallac/proxy-balancer-client. Пример находится в файлу proxy-balancer/bin/client.php