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

4.8 KiB
Raw Blame History

Проект: Интернет-заказы

Цель

Голосовое управление заказом продуктов через интернет-магазины. Слава говорит "закажи продукты на завтрак" → я подбираю товары из базы знаний → скрипт автоматически заполняет корзину → Слава только оплачивает.

Магазин: 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 шт (бренд/вкус уточнить)
  • Молоко (жирность/объём уточнить)
  • Блинчики со сладкой начинкой (производитель уточнить)
  • Яйца (категория/количество уточнить)

Сценарии для разработки: "завтрак", "базовый набор", + явные добавления ("и закажи кетчуп")