Blog. Just Blog

MTProxy Checker на PHP

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
MTProxy Checker на PHP
MTProxy Checker на PHP

Прекрасно знаете, что в последнее время возникает потребность в рабочих прокси. Хорошо, если у вас есть корпоративные, платные или приватные прокси, но обычно приходится пользоваться тем, что есть. Ну и понятное дело, что бесплатные прокси дохнут очень быстро. Обычно выкладывают списки, но найти рабочие среди десятков - проблема. Для своих задач сделал на PHP простой скрипт для автоматизации рутинных операций. MTProxy Checker - проверяет живые прокси и показывает пинг. Это не только чекер для MTProxy: скрипт универсальный, его очень просто доделать под свои задачи.

Для работы запускаете php checker.php и смотрите результат в консоли. Список всех рабочих прокси складывается в файл working.txt. Исходные данные берутся из файла proxy.txt - по одной строке на прокси. В настройках можно менять допустимый пинг, но обычно этого не требуется: тормозные прокси все равно не подойдут, даже если они отвечают на запросы.
  1. <?
  2. // Ссылки прокси
  3. $input='proxy.txt';
  4. // Результат проверки
  5. $output='working.txt';
  6. // Отсекаем тормозные прокси (>500 мс)
  7. $max_ping=500;
  8.  
  9. $lines=file($inputFILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
  10. $working=array();
  11.  
  12. foreach ($lines as $line) {
  13.     // Парсим ссылку
  14.     parse_str(parse_url($linePHP_URL_QUERY), $tmp);
  15.     if (!isset($tmp['server'], $tmp['port'])) {
  16.         continue;
  17.     }
  18.  
  19.     echo $tmp['server'].':'.$tmp['port'].' ... ';
  20.  
  21.     // Начало времени проверки
  22.     $start=microtime(true);
  23.  
  24.     // Проверка сервера
  25.     $fp=@fsockopen($tmp['server'], $tmp['port'], $errno$errstr3);
  26.     if (!$fp) {
  27.         echo '[X] proxy is dead'."\n";
  28.         continue;
  29.     }
  30.  
  31.     // Время пинга
  32.     $ping=round((microtime(true) - $start) * 1000);
  33.     fclose($fp);
  34.  
  35.     if ($ping $max_ping) {
  36.         // Пропускаем плохие прокси
  37.         echo '[?] ping too high: '.$ping.' ms'."\n";
  38.         continue;
  39.     }
  40.     // Прокси работает
  41.     echo '[+] OK, ping: '.$ping.' ms'."\n";
  42.     $working[]=$line;
  43. }
  44.  
  45. // Складываем рабочие прокси
  46. file_put_contents($outputimplode("\n"$working));
  47. $working=array_unique($working);
  48.  
  49. echo "\n".'Done';
  50. echo 'Proxies checked: '.count($lines)."\n";
  51. echo 'Working proxies: '.count($working);
Скрипт работает даже на PHP 5.6, никаких ракетных технологий нет. Многопоточность не реализовал, так что если планируете проверять большой список, на это уйдет определенное время.

Результат работы MTProxy Checker
Результат работы MTProxy Checker

Вот пример работы чекера. Как видите, отработано около сотни прокси, дубликаты убраны, и из всего списка получилось только три рабочих прокси.

Поделиться ссылкой ВКонтакте
Просмотров: 950 | Комментариев: 4

Метки: PHP, сеть, Telegram

Комментарии

Отзывы посетителей сайта о статье
Сергей Озеров (28.05.2026 в 19:33):
Буду изучать PHP :-) СПАСИБО ЗА НАУКУ !!!
ManHunter (28.05.2026 в 00:37):
Кнопка "Добавить прокси из буфера обмена". Можно добавить консольную команду для буфера. А у меня, например, автоматический серверный чекер для личных задач. Вариантов масса. Здесь самый простенький чекер, при этом прекрасно работающий.
==DJ==[ZLO] (28.05.2026 в 00:36):
by_matrixa, Не ... ламбаду лучше станцевать, чем хтмл.
ManHunter, спасибо за скрипт;)
by_matrixa (28.05.2026 в 00:31):
Лучше в формате html на выходе с кнопкой Подключится, которая сразу откроет телегу и подключить тот или иной рабочий прокс

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2026
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.1 сек. / MySQL: 2 (0.005 сек.) / Память: 4.5 Mb
Наверх