Парсер прокси
Запускает скрипт. Скрипт определяет ip адрес прокси и вставляет его в api запрос
ipqualityscore.com/api/json/ip/6FhKzdWnUq3ow45kU2OyjFxzfFopsapM/113.230.116.83
где "113.230.116.83" ip адрес
Если fraud score отображает значение 0, то скрипт ничего не делает.
Если что-то кроме 0, то снова делает апи запрос на смену айпи адреса.
После чего делает апи запрос к ipqualityscore
Помимо этого, нужна функция запоминания ip адресов, которые пользователь внесет в список, несколько “вкладок” на сайте, где у каждого будет свой список
Работа с API ключами fraudscore
ipqualityscore.com/api/json/ip/6FhKzdWnUq3ow45kU2OyjFxzfFopsapM/113.230.116.83
“6FhKzdWnUq3ow45kU2OyjFxzfFopsapM” - это апи ключ. У него лимит - 200 запросов в сутки. После этого нужно апи ключ сменить. Соответственно, нам нужен список апи ключей (один на все вкладки сайта), которые мы будем перебирать, когда лимит закончился. Через 24 часа можно брать ключ снова
Все запросы к апи ведутся через отдельный прокси, который указывает пользователь
Вкладки сайта
Их цель в том, чтобы у каждого списка проксей был свой черный список айпи адресов
Черный список айпи адресов
Это список айпи адресов, которые пользователь вносит сам кнопкой “добавить в черный список”. Он нужен за тем, чтобы, в случае, если айпи адрес на прокси был замечен ранее, послать апи запрос на смену айпи адреса в прокси
Также нужна функция создать список, удалить, редактировать и поиск по октетам
Октеты
Если у нас имеется айпи адрес 1.2.3.4 и мы выбрали брать по 3 октету, то учитываются только первые 3 цифры
Например, 1.2.3.5 хоть и отличается, но имеет совпадение по первым 3 цифрам и не подходит.
Виды прокси
У нас будет два вида проксей. Их отличие в том, что одни прокси будут иметь такую ссылку
http://node-ru-33.astroproxy.com:10219/api/changeIP?apiToken=49fbea178cdf4dc0
По этой ссылке нам сразу выдается IP адрес, при этом, переходя по ней, мы даем апи запрос на смену айпи адреса (если он нам не подошел(
Второй вид прокси не отдает нам айпи адрес и меняет свой айпи фиксированно раз в x минут.
Соответственно, в таких проксях мы должны сами получить айпи адрес.
В обоих видах проксей мы также должны проверять изменился ли ip адрес.
Прокси http и sock5
прокси с поддержкой ipv6
Интерфейс пользователя
В интерфейсе пользователя также нужна кнопка, нажав на которую он проверяет, остался ли на прокси тот айпи, что и был при проверке или уже сменился. если сменился, то софт начинает перепроверку всех прокси
В момент нажатия на такую кнопку, прокси должен подсветиться красным цветом или пропасть из общего списка для всех остальных пользователей кроме того, кто нажал.
некоторые моменты:
- Мои прокси с оплатой по трафику, т.е. мне во время различного рода проверок нужно по минимуму тратить на загрузку страниц. Это важно учитывать, если страница “тяжелая”, то нужно заранее со мной согласовать и замерять, сколько трафика заберет страница
- Необходимо проверить работает ли прокси вообще. Для этого скачиваем html страницу любого сайта (опционально)
- Вся работа на стороне сервера
- Мне необходимо запускать порой по 300-400 прокси для проверки, возможно, и больше. Потоки вроде бы, этот вопрос решают, но все равно проектируйте чекер так, чтобы он был оптимизирован под большие объемы проверок.
опционально проверка поддержки ipv6. Суть в том, что те прокси, что нам подходят(все не надо!), мы также проверяем на поддержку ipv6 адреса по адресу https://www.top10vpn.com/tools/what-is-my-ip/ (в случае, если все ок, тут будет написано not detected) или api.myip.com ( тут просто покажет ipv6 адрес) . Два сайта указано на всякий случай, если один из сайтов перестанет работать. - Если человек берет прокси на одном компьютере, то на всех других это должно отобразиться, чтобы два человека не взяли один прокси одновременно и самому человеку было удобней потом запомнить какой прокси он брал
- Прокси должны подсвечиваться(человек может брать больше 1 прокси и забыть какие брал)
конечный алгоритм следующий:
пользователь загружает прокси (2 вида, со сменой ip по ссылке или по времени)
Выбирает вкладку в веб морде на которой прокси будут проверяться (вкладки нужны, чтобы разделить блек листы
Выбирает блек лист
выбирает проверку на ipv6 (опционально)
Выбирает проверку на скорость (опционально)
запускает скрипт + может остановить, т.к. скрипт работает циклично
Скрипт работает проверяет нет ли ip в блек листе. Если есть, то либо ждет нового айпи, либо переходит по ссылке и меняет айпи . Если айпи нет в блек листе, переходит на ipqualityscore через апи и жмет с fraud score 0
Затем выдает их в панели
Если пользователь нажмет на кнопку возле прокси, она загорится красным(Это нужно, чтобы дать понять другим пользователям, что прокси брать нельзя) + пользователь может нажать в черный список и прокси добавится в черный список и если это прокси со сменой по ссылке, то софт перейдет по ссылке и сменит айпи. Если по времени, то уберет прокси из парсера, пока не сменится айпи
Примерно как выглядит веб морда: http://62.113.117.205/ip-parser6/ (указаны не все функции, учитывайте!)