Требуется написать прокси чекер, который будет запускаться по крону и проверять список прокси с авторизацией на скорость и доступность. Важно, это должен быть не парсер с чужого ресурса, а именно собственная проверка так как парсер может в один прекрасный момент перестать работать.
Написать нужно на PHP 8 или на питоне, бд MariaDB 10.5. Не использовать громадные сторонние библиотеки. Сделать код максимально локаничным, НО надежным.
В списке будет 100-200 проксей.
Суть работы:
Нужно каждый день проверять фиксированный список проксей на время подключения, скорость. Если проверка не прошла или скорость меньше минимальной (минимальную указываем в настройках), то перепроверяем через 10 минут и после записываем полученные данные в БД.
Схема:
- Страница настроек:
- добавление/редактирование списка проксей (можно через обычное поле textarea). Запись списка производиться в БД. Формат хост:порт:логин:пароль. .
- минимальная скорость - если меньше этого значения, то отправляется на повторную проверку через 10 минут.
- минимальное время подключения в секундах
- возможно другие значения конфигов (если требуется) - Страница со статистикой. Таблица: прокси (хост:порт:логин:пароль), время затраченное на подключение, скорость входящая, скорость исходящая, дата и время проверки, статус (OK, SPEED, ERROR,CONNECTION). В случаи неудачной проверки после второй попытки пишем скорость 0, статус ERROR и делаем фон красным. В случаи если скорость меньше минимальной после второй попытки, но подключение прошло удачно выделяем оражевым фоном и статус SPEED. (пример того, как должна выглядеть во вложении). В случаи если подключение после второй попытки займет больше указанного количества секунд в настройках отмечаем желтым и статус CONNECTION. Приоритет статус ERROR->SPEED->CONNECTION->OK -если есть error, то ставим его и не переходим к следующему статусу, тоже самое если SPEED, то не переходим к CONNECTION.
Над таблицей делаем кнопку и рядом галочки для выгрузки в CSV. Галочки - все, ok, error, low speed, connection. - Страница для проверки прокси, которых нет в основном списке. Статистика по таким прокси записывается в ОТДЕЛЬНУЮ таблицу по аналогии с пунктом два.
В случаи статуса SPEED ERROR CONNECTION вызываем строку кода, которую я дам для уведомления в телеграм.
Запуск скрипта может производиться по расписанию на сервере (cron) либо ваши варианты. Так же с удовольствием рассмотрю варианты улучшения работы.
Каждая строчка кода будет проверяться, на уязвимость и утечку данных, по этому нужно избежать подключения каких-то сторонних библиотек. Сделать все максимально локанично.
Работа через БС. Разработка у вас на сервере (могу дать тестовый свой если нужно). Перенос на рабочий сервер будет осуществлять самостоятельно мной. Прокси для теста выдам.
Цену хотелось бы услышать от исполнителя. И сразу называйте точные сроки.