Все, что связано с использованием большого количества аккаунтов, априори подразумевает и использования большого количества proxy. Ведь когда с одного IP-адреса 100 разных аккаунтов совершают одно и то же действие — это всегда подозрительно выглядит в глазах платформы. И да, те, кто занимается всем этим делом серьезно, используют индивидуальные proxy.


Но ведь есть и новички, и УБТшники, и те, кто в целом не сильно переживает о сроке жизни акка, задачи ведь бывают разными. В общем, есть те, кто пользуется бесплатными публичными proxy. Вот только их использование — это всегда куча потраченного времени на чекинг. Ведь бесплатные proxy очень часто отваливаются. Конечно, можно установить proxy-чекер. Но зачем, если можно использовать собственный бот?

Какие задачи выполняет бот для проверки proxy
Бот для проверки proxy проверяет proxy — ваш Кэп. Но давайте распишем чуть подробнее, для чего это может использоваться:
- Экономия времени — куда удобнее получить список работающих proxy, чем проверять каждый отдельно.
- УБТ-залив — так как УБТ концептуально не подразумевает закупа полноценных индивидуальных proxy, то бесплатные отлично для этого подходят. Хотя чисто формально их можно использовать и в обычном заливе. Но мы не советуем — очень повышает риск бана.
- Автоматизация сравнения скорости proxy — в бот вшито простенькое разделение на быстрые и медленные proxy.
- Увеличения срока жизни proxy — бесплатные чекеры часто сливают инфу о proxy агрегаторам, что делает и без того публичные сервера еще более публичными. Все это негативно сказывается на сроке их жизни.
- Безопасность — любые программы, в особенности для «сереньких делишек», всегда подразумевают риск заражения машины. Здесь же исходный код открыт.
Принцип работы бота для проверки proxy
Алгоритмически бот очень простой, и принцип его работы сводится к:
- Получению списка proxy.
- Последовательной проверке каждого адреса из списка.
- Анализу времени ответа серверов.
- Формированию трех списков — быстрых, медленных и нерабочих прокси. При этом следует понимать, что в список нерабочих попадает все, что не ответило в течение указанного времени. А в список медленных — все, что ответило медленнее указанного времени, но быстрее, чем «нерабочие».
- Формированию отчета в виде сообщения и лога проверок в виде txt-файла.
Отдельно рассмотрим переключение между режимами работы. Первый режим /mode1, используется по умолчанию и подразумевает передачу боту аккуратного списка, где каждый proxy указан с новой строки. Второй режим /mode2 — предназначен для работы с копипастой, в которой куча мусора. Это сделано для того, чтобы можно было просто зайти на proxy-агрегатор, скопипастить всю страницу и закинуть в бот.
Но следует понимать, что это просто бот, а не ИИ. Обеспечить его работоспособность при взаимодействии с любыми комбинациями символов — задача сложная. Еще сложнее — проверить все возможные комбинации, прежде чем делиться кодом. Поэтому фича реализована на регулярных выражениях и вынесена в отдельный режим работы — это опциональная и нестабильная плюшка. Стабильная проверка же гарантируется только в первом режиме.
Пошаговая инструкция, как сделать бот для проверки proxy на Python
По классике начинаем с развертывания сервера. Можно развернуть сервер как на своем ПК, так и на арендованном железе. Для тестов советуем свой ПК. Для полноценной работы — аренду. Ну и да — речь о python-сервере.
Затем сервер нужно настроить. Вводим в консоль:
pip install asyncio
pip install aiogram
pip install aiohttp
Затем действуем так:
- Пишем BotFather, делаем все по его инструкции и сохраняем токен.
- На серваке создаем файл bot.py, вписываем в него:
import asyncio
import aiohttpimport re
from aiogram import Bot, Dispatcher, types
from aiogram.enums import ParseMode
from aiogram.client.default import DefaultBotProperties
from aiogram.filters import Command
TOKEN = "ТОКЕН СЮДА"
TIMEOUT = 5 # Время проверки прокси (сек)
SLOW_THRESHOLD = 0.065 # Граница между "быстрым" и "медленным" прокси
bot = Bot(token=TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
dp = Dispatcher()
router = dp
current_mode = 1 # Режим по умолчанию (1 - аккуратный список)
async def check_proxy(session, proxy):
try:
start = asyncio.get_event_loop().time()
async with session.get("http://google.com", proxy=f"http://{proxy}", timeout=TIMEOUT):
elapsed = asyncio.get_event_loop().time() - start
if elapsed < SLOW_THRESHOLD:
return proxy, "✅ Быстрое"
else:
return proxy, "⚠️ Медленное"
except:
return proxy, "❌ Не работает"
@router.message(Command("start"))
async def handle_start(message: types.Message):
await message.answer("Привет! Отправь список прокси в формате IP:PORT (каждый с новой строки) или используй команды /mode1 и /mode2 для выбора режима.")
@router.message(Command("mode1"))
async def handle_mode1(message: types.Message):
global current_mode
current_mode = 1
await message.answer("Режим 1 активирован: обрабатывается аккуратный список прокси.")
@router.message(Command("mode2"))
async def handle_mode2(message: types.Message):
global current_mode
current_mode = 2
await message.answer("Режим 2 активирован: обрабатывается неаккуратный список прокси с мусором.")
@router.message()
async def handle_proxies(message: types.Message):
if not message.text:
await message.answer("Отправь список прокси в формате IP:PORT (каждый с новой строки)")
return
if message.text.startswith("/"):
return
if current_mode == 1:
proxies = message.text.strip().split("\n")
else:
proxies = re.findall(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})', message.text)
valid_proxies = [p.strip() for p in proxies if p.strip()]
if not valid_proxies:
await message.answer("Не найдено прокси в сообщении. Отправь список в формате IP:PORT.")
return
await message.answer("🔄 Проверяю прокси... Это займет несколько секунд.")
async with aiohttp.ClientSession() as session:
tasks = [check_proxy(session, proxy) for proxy in valid_proxies]
results = await asyncio.gather(*tasks)
fast, slow, dead = [], [], []
for proxy, status in results:
if "Быстрое" in status:
fast.append(proxy)
elif "Медленное" in status:
slow.append(proxy)
else:
dead.append(proxy)
response = "<b>Результаты проверки:</b>\n"
response += f"\n✅ <b>Быстрые:</b> ({len(fast)})\n" + "\n".join(fast) if fast else ""
response += f"\n⚠️ <b>Медленные:</b> ({len(slow)})\n" + "\n".join(slow) if slow else ""
response += f"\n❌ <b>Не работают:</b> ({len(dead)})\n" + "\n".join(dead) if dead else ""
await message.answer(response or "Все прокси не работают.")
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run
(main()) - Заменяем “ТОКЕН СЮДА” на свой токен.
- Запускаем бот командой python bot.py
- Проверяем работоспособность.
Демонстрация работы





Подводя итоги
Как видите, использовать сомнительные сторонние чекеры вовсе не обязательно — ведь создать собственный бот proxy-чекер проще, чем кажется. Следите за нашей Телегой, чтобы первыми получать коды арбитражных ботов.