Files
wiki/tasks/internet-orders/PROJECT.md
2026-04-12 21:55:33 +03:00

82 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Проект: Интернет-заказы
## Цель
Голосовое управление заказом продуктов через интернет-магазины. Слава говорит "закажи продукты на завтрак" → я подбираю товары из базы знаний → скрипт автоматически заполняет корзину → Слава только оплачивает.
## Магазин: vprok.ru (Перекрёсток)
Основной магазин для старта. Слава заказывает там каждые 3-4 дня.
## Инфраструктура
### Сервер-реле
- **IP:** 185.130.212.192 (сервер Славы с "чистым" IP)
- **SSH:** root / AR5f7_T-bA
- **Сервис:** `vprok-relay` (systemd, Flask, порт 5000)
- **Файл:** `/opt/vprok/relay_server.py`
- **API-ключ:** `vprok2024secret` (header: `X-Api-Key`)
### Эндпоинты relay-сервера
- `POST /task` — отправить задание (items: [{query, qty}])
- `GET /task` — забрать задание (клиент опрашивает раз в 30 сек)
- `POST /task/done` — отметить выполненным
- `GET /status` — статус последнего задания
### Xray на сервере (VLESS + SOCKS5)
- VLESS Reality на порту 443 (для VPN-подключения)
- UUID: `d3a2fae8-d703-4b2f-8d94-afb016d57640`
- PublicKey: `3jY3vI6MUTEn3X20u7xDjpxrF2wO6zUxiXgP-Aie7yQ`
- ShortId: `a1b2c3d4`
- SNI: www.microsoft.com
- SOCKS5 на порту 1080 (user: vprokproxy / pass: s3cur3pass)
### VLESS ссылка
```
vless://d3a2fae8-d703-4b2f-8d94-afb016d57640@185.130.212.192:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=3jY3vI6MUTEn3X20u7xDjpxrF2wO6zUxiXgP-Aie7yQ&sid=a1b2c3d4&flow=xtls-rprx-vision&type=tcp#vprok-proxy
```
## Файлы проекта (workspace)
- `tasks/vprok/windows_client.py` — Playwright-клиент для Windows
- `tasks/vprok/send_task.py` — отправка задания на сервер (для Стрим)
- `tasks/vprok/relay_server.py` — копия кода сервера
- `tasks/vprok/api_research.md` — исследование API vprok.ru
- `tasks/vprok/README_WINDOWS.md` — инструкция для пользователя
## Технические решения и выводы
### DDoS Guard (главная проблема)
- vprok.ru защищён DDoS Guard — привязывает сессию к IP + требует JS-challenge
- Datacenter IP (VPS) — блокируется, даже с Playwright/stealth/camoufox
- **Решение:** скрипт запускается локально на машине пользователя (residential IP)
### Архитектура клиента
- Windows: Python + Playwright (НЕ headless — виден процесс)
- Браузер остаётся открытым → пользователь оформляет и платит сам
- Опрос сервера раз в 30 сек
### Что НЕ работает
- Прямые HTTP-запросы с VPS → DDoS Guard блокирует
- SOCKS5 прокси через 185.130.212.192 → тот же IP-блок
- Playwright headless с любого не-residential IP → JS-challenge не проходит
- Playwright с stealth/camoufox → тоже не проходит
## Текущий статус (31.03.2026)
✅ Relay-сервер запущен на 185.130.212.192:5000
✅ Windows-клиент написан и готов к тестированию
✅ send_task.py готов (Стрим может отправлять задания)
⏳ Ожидает первого теста на Windows машине Славы
## Следующие шаги
1. Слава запускает `windows_client.py` на домашнем ПК
2. Тест: отправить задание → проверить что Chrome открывается и добавляет товары
3. Собрать базу знаний предпочтений (бренды, объёмы, сценарии "завтрак"/"ужин" и т.д.)
4. Добавить второй магазин (Ubuntu-машина для прома)
## База знаний предпочтений (начало, уточнить!)
Слава упомянул типичную корзину:
- Йогурты — 4 шт (бренд/вкус уточнить)
- Молоко (жирность/объём уточнить)
- Блинчики со сладкой начинкой (производитель уточнить)
- Яйца (категория/количество уточнить)
Сценарии для разработки: "завтрак", "базовый набор", + явные добавления ("и закажи кетчуп")