Конвертер форматов прокси: любой список — в нужный вам формат
Работает в браузере — ничего из введённого не отправляется нам.
Четыре значения, шесть вариантов записи — и никакой договорённости о разделителе. Вставьте список провайдера в том виде, в каком он пришёл, и заберите в том, который нужен вашему инструменту. Ничего из вставленного не покидает браузер.
Один прокси в строке, в том виде, в каком его выдал провайдер. Пустые строки и строки, начинающиеся с #, игнорируются.
Используется, только если он нужен в выводе. Строка, где он уже указан (socks5://…), сохраняет его.
, .
Строку, которую мы не смогли прочитать, мы пропускаем, а не угадываем. Обычно это порт, который не является числом, или четыре поля, где хост оказался не там, где мы ждали — пришлите нам эту строку, и мы научим парсер её понимать.
Этот инструмент работает полностью в вашем браузере. Здесь нет формы для отправки и запроса: откройте вкладку «Сеть» в браузере и нажмите «Преобразовать» — вы увидите, что ничего не происходит. Это важно здесь больше, чем на большинстве страниц, потому что список прокси обычно и есть список паролей.
Почему список прокси никогда не совпадает с тем, что ждёт инструмент
Единого стандарта записи прокси не существует. Четыре значения должны идти вместе — хост, порт, логин, пароль — а провайдеры обзавелись как минимум шестью способами их расставить и так и не договорились о разделителе. Одна панель выдаёт 198.51.100.10:8080:alice:s3cret. Другая — alice:s3cret@198.51.100.10:8080. Третья разделяет точкой с запятой. Четвёртая печатает сначала учётные данные, а адрес — в конце. Где-то стоит префикс socks5://, а где-то считается, что вы и так знаете.
А у того, куда вы хотите всё это вставить, мнение ровно одно. curl ждёт URL после -x. Python-овский requests ждёт словарь, в значении которого указана схема. Большинству фреймворков для скрейпинга нужен user:pass@host:port. Расширения для браузеров обычно просят четыре поля в отдельных окошках. Так первые десять минут с новым провайдером уходят на то, чтобы вручную переформатировать список в текстовом редакторе — занятие скучное и самое удобное место, чтобы испортить учётные данные.
Эта страница такое преобразование и делает. Вставьте список в том виде, в каком он пришёл, выберите нужный вид и нажмите «Конвертировать».
Что на входе и что на выходе
Указывать входной формат не нужно. Она определяет вид каждой строки по самой строке, поэтому даже непоследовательный список — а выгруженные списки часто такие — на выходе получится единообразным. Распознаются такие варианты:
- host:port
- host:port:user:pass
- user:pass:host:port
- user:pass@host:port
- host:port@user:pass
- любой из перечисленных с префиксом scheme://
- любой из перечисленных, где вместо двоеточий стоят точки с запятой, вертикальные черты, запятые, табуляции или пробелы
На выходе можно получить голый список host:port, любую из двух четырёхпольных раскладок, полный URL, готовую команду curl -x на каждой строке, словарь Python requests на каждой строке или весь список в JSON, по одному объекту на прокси. Выходным форматам в виде URL нужен протокол, для этого есть выпадающий список — но строка, в которой протокол уже был (socks5://…), сохраняет его, а не перезаписывается: ваш провайдер знал, какой порт говорит на каком протоколе, а выпадающий список — нет.
Строки, которые она отклоняет
Строка, которую не удалось разобрать, отбрасывается и считается — но никогда не додумывается. Счётчик показывается рядом с результатом: тихо выкинуть три прокси из двухсот — верный способ отлаживать скрейпер в два часа ночи. Пустые строки и строки, начинающиеся с # или //, считаются комментариями и в число ошибок не попадают.
Обычная причина отказа — порт, который не является числом: скопированный заголовок столбца или приписка в конце строки. Вторая — четыре поля, где хост стоит не там, где ожидалось, и ни одно поле не похоже на порт; никаким угадыванием это правильно не разрешить.
Какой формат куда подставлять
Если вы не уверены, какая из форм вам нужна, вот примерно как их используют:
- user:pass@host:port — аргументы запуска Scrapy, Puppeteer и Playwright, большинство фреймворков для скрапинга и почти любое поле «вставьте сюда свои прокси» в боте или SEO-инструменте.
- Полный URL со схемой — всё, что принимает одну строку прокси из переменной окружения, включая HTTP_PROXY и HTTPS_PROXY.
- curl -x команды — проверка нескольких вручную. Вставьте блок в терминал и наблюдайте, какие эндпоинты отвечают.
- Словари Python requests — вставляются прямо в аргумент proxies=, по одному на запрос в списке ротации.
- JSON — передача пула прокси в ваш собственный код или в конфигурационный файл. Порт выводится как число, а пустые учётные данные как null, поэтому загружается без дополнительной очистки.
- Просто host:port — прокси с IP-аутентификацией, где учётные данные — это ваш собственный адрес и нечего передавать.
Ничего из вставленного здесь не покидает ваш браузер
Список прокси с учётными данными — это список паролей. Вставка его на веб-страницу должна вызывать у вас беспокойство, и на большинстве сайтов-конвертеров так и должно быть: текст отправляется на сервер, обрабатывается и возвращается, и вы никак не можете узнать, что произошло в промежутке и как долго журнал запросов его хранит.
Эта страница устроена так, что вопрос не возникает. Преобразование — это JavaScript, выполняемый в вашей вкладке. Нет формы для отправки, нет эндпоинта за ней и не делается никакого запроса при нажатии «Конвертировать» — ни события аналитики, ни фонового сохранения. Вы можете убедиться в этом, а не верить нам на слово: откройте инструменты разработчика в браузере, переключитесь на вкладку «Сеть», вставьте список и преобразуйте его. Ничего не появится.
То же следует из очевидных последствий. Мы не можем сохранить ваш список, потому что у нас его никогда нет. Мы не можем его утечь. Страница работает при отключённом соединении.
Правильная работа с учётными данными
Две вещи ломаются достаточно часто, чтобы их стоило назвать.
Пароли, содержащие двоеточие или @. Именно они ломают ручное переформатирование, и они действительно неоднозначны: в alice:pa:ss@host:8080 пароль может быть pa или pa:ss. Эта страница разделяет учётные данные по первому двоеточию, а эндпоинт — по последнему @, что соответствует тому, как провайдеры на самом деле их выдают. Если ваш пароль содержит @, ни один построчный формат не может представить его без экранирования — смените пароль или используйте инструмент, который принимает четыре поля отдельно.
Протокол и порт. Прокси SOCKS5 на порту 1080, переданный инструменту как http://…:1080, откажет так, что это будет выглядеть как мёртвый прокси. Если вы не уверены, какой из ваших эндпоинтов какой, наш проверщик прокси скажет вам, на что на самом деле отвечает каждый из них, вместе с его задержкой и тем, передаёт ли он ваш реальный адрес в заголовках.
Вопросы о Конвертер форматов прокси
Мой список прокси отправляется на ваш сервер?
Нет. Преобразование — это JavaScript, который выполняется в вашем браузере, и за страницей нет серверной части, которая принимает запросы. Откройте вкладку «Сеть» в инструментах разработчика и нажмите «Преобразовать» — запроса не будет. Страница также работает офлайн.
Нужно ли указывать, в каком формате мой список?
Нет. Каждая строка распознаётся по собственному виду, поэтому список, в котором смешаны форматы, всё равно преобразуется. Это сделано намеренно: экспортированные списки часто неоднородны, особенно если списки двух провайдеров склеили в один.
Что происходит со строками, которые не удаётся прочитать?
Их пропускают и подсчитывают, а число показывают вместе с результатом. Ни одна строка не разбирается наугад: если прокси отбрасываются молча, скрапер в итоге сбоит по причине, которую никто не может найти.
В моём пароле есть двоеточие. Это сработает?
Да. Учётные данные разделяются по первому двоеточию, поэтому всё после него — пароль. Пароль с символом @ нельзя записать ни в одном из этих однострочных форматов без экранирования; нужен инструмент, который принимает четыре поля по отдельности.
Какой протокол выбрать?
Тот, который, по словам вашего провайдера, поддерживает конечная точка — порт лишь подсказка, а не гарантия. Строка, в которой уже указана схема, сохраняет её и игнорирует выпадающий список. Если не знаете, прогоните список через нашу проверку прокси: она покажет, по какому протоколу на самом деле отвечает каждая конечная точка.
Может ли он преобразовать список из тысяч прокси?
Да. Он выполняется в вашем браузере, поэтому единственное ограничение — ваш компьютер, а разбор идёт линейно. Списки в десятки тысяч прокси преобразуются мгновенно; ограничения по частоте запросов нет, потому что нет сервера, который мог бы его применять.