# 🔒 Настройка прокси для обхода блокировок РКН ## Проблема Telegram заблокирован РКН, бот не может подключиться к серверам Telegram. ## Решение Использовать xray прокси, который уже запущен на хосте. --- ## 📋 Конфигурация прокси xray на хосте использует: - **SOCKS5 порт**: `10808` - **HTTP порт**: `10809` --- ## ⚙️ Настройка .env В файле `.env` установлены параметры: ```ini # ===== ПРОКСИ ===== USE_PROXY=true PROXY_TYPE=socks5 PROXY_HOST=127.0.0.1 PROXY_PORT=10808 ``` --- ## 🚀 Запуск бота с прокси ```bash cd /home/matrixhasyou/domovoy_bot ./run.sh ``` Или вручную: ```bash source venv/bin/activate python main.py ``` --- ## ✅ Проверка работы В логах должно быть: ``` 🔒 Использование прокси: socks5://127.0.0.1:10808 🚀 Бот запускается... ✅ База данных инициализирована ✅ Планировщик задач запущен ``` Если видишь **«🔒 Использование прокси»** — всё работает! --- ## 🐛 Отладка ### Бот не подключается, ошибка timeout: 1. Проверь, что xray запущен: ```bash ps aux | grep xray ``` Должен быть процесс `xray run -c config.json` 2. Проверь порты: ```bash ss -tlnp | grep 1080 ``` Должно быть: ``` LISTEN 10808 (SOCKS5) LISTEN 10809 (HTTP) ``` 3. Проверь логи xray: ```bash tail -f /home/matrixhasyou/qwen/xray/error.log ``` ### Ошибка «Proxy connection failed»: Проверь, что прокси доступен: ```bash curl --socks5 127.0.0.1:10808 https://api.telegram.org ``` Должен вернуть JSON с ошибкой (это нормально, главное что подключился). --- ## 🔧 Если xray не запущен Запусти xray: ```bash cd /home/matrixhasyou/qwen/xray ./xray run -c config.json & ``` Или через systemd (если настроен): ```bash sudo systemctl start xray ``` --- ## 📊 Альтернативные варианты ### Если основной прокси не работает: 1. **HTTP прокси** (порт 10809): ```ini USE_PROXY=true PROXY_TYPE=http PROXY_PORT=10809 ``` 2. **Прямое подключение** (без прокси, если вдруг работает): ```ini USE_PROXY=false ``` --- ## 💡 Проверка подключения к Telegram Тестовый скрипт: ```bash cd /home/matrixhasyou/domovoy_bot source venv/bin/activate python -c " import asyncio from config import get_proxy_url from aiohttp_socks import ProxyConnector import aiohttp async def test(): proxy_url = get_proxy_url() connector = ProxyConnector.from_url(proxy_url) async with aiohttp.ClientSession(connector=connector) as session: async with session.get('https://api.telegram.org') as resp: print(f'Status: {resp.status}') print('✅ Прокси работает!') asyncio.run(test()) " ``` Должно вывести: `✅ Прокси работает!` --- **Готово!** Бот работает через прокси и обходит блокировки РКН 🎉