first
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
import asyncio
|
||||
import aiohttp
|
||||
import sys
|
||||
from config import PROXY_URL, PROXY_TYPE
|
||||
|
||||
|
||||
async def check_proxy():
|
||||
"""Проверка работоспособности прокси"""
|
||||
|
||||
if not PROXY_URL:
|
||||
print("❌ Прокси не настроен в файле .env")
|
||||
return False
|
||||
|
||||
print(f"\n🔍 Проверяем прокси: {PROXY_URL}")
|
||||
print(f"📡 Тип прокси: {PROXY_TYPE.upper()}")
|
||||
print("-" * 50)
|
||||
|
||||
success_count = 0
|
||||
total_tests = 0
|
||||
|
||||
# Тест 1: Проверка подключения к Telegram API
|
||||
print("\n📡 Тест: Подключение к API...")
|
||||
test_urls = [
|
||||
("Telegram API", "https://api.telegram.org"),
|
||||
("Google", "https://google.com"),
|
||||
("IP Check", "https://api.ipify.org?format=json")
|
||||
]
|
||||
|
||||
for name, url in test_urls:
|
||||
total_tests += 1
|
||||
print(f" → Проверяю {name}...")
|
||||
try:
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.get(url, proxy=PROXY_URL, timeout=10) as response:
|
||||
if response.status == 200:
|
||||
print(f" ✅ Успешно (статус: {response.status})")
|
||||
success_count += 1
|
||||
if "ipify" in url:
|
||||
data = await response.json()
|
||||
print(f" 🌐 Ваш IP через прокси: {data.get('ip')}")
|
||||
else:
|
||||
print(f" ❌ Ошибка: статус {response.status}")
|
||||
except asyncio.TimeoutError:
|
||||
print(f" ❌ Таймаут подключения")
|
||||
except Exception as e:
|
||||
print(f" ❌ Ошибка: {type(e).__name__}")
|
||||
|
||||
# Результат
|
||||
print("\n" + "=" * 50)
|
||||
if success_count == total_tests:
|
||||
print("✅ ПРОКСИ РАБОТАЕТ!")
|
||||
print("=" * 50)
|
||||
return True
|
||||
else:
|
||||
print(f"⚠️ ПРОКСИ РАБОТАЕТ ЧАСТИЧНО ({success_count}/{total_tests} тестов)")
|
||||
print("=" * 50)
|
||||
return True if success_count > 0 else False
|
||||
|
||||
|
||||
async def main():
|
||||
print("\n" + "=" * 50)
|
||||
print("🔍 ПРОВЕРКА ПРОКСИ ДЛЯ TELEGRAM БОТА")
|
||||
print("=" * 50)
|
||||
|
||||
result = await check_proxy()
|
||||
|
||||
if result:
|
||||
print("\n✅ ПРОКСИ РАБОТАЕТ! Можно запускать бота.")
|
||||
print("\nЗапустите бота командой: python bot.py")
|
||||
else:
|
||||
print("\n❌ ПРОКСИ НЕ РАБОТАЕТ! Бот не сможет подключиться.")
|
||||
print("\nРекомендации:")
|
||||
print("1. Проверьте правильность данных в файле .env")
|
||||
print("2. Убедитесь, что прокси-сервер активен")
|
||||
print("3. Попробуйте другой прокси")
|
||||
|
||||
return 0 if result else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
exit_code = asyncio.run(main())
|
||||
sys.exit(exit_code)
|
||||
Reference in New Issue
Block a user