- Новый порядок этапов (D-026): фаза 1 — концепт на dev без внешних сервисов (1b сайт, 1c вход, 1d ключи, 1e счёт и демо-оплата, 1f демо-выдача, 1g продления, 1h рефералы); фаза 2 — Telegram; фаза 3 — ALTCHA, ЮKassa, почта, Twenty, Chatwoot, Umami, выдача через API и публичный запуск; фаза 4 — звёзды и эквайринги. - Решения: демо-оплата по списку IP (D-027), выдача ключей через адаптер manual/demo/api (D-028), страницы сайта из блоков Payload (D-029), пересборка через revalidatePath (D-030), RU-адрес у mass (D-031), счётчик свободных серверов (D-032), переводы на 5 языков в каждом этапе (D-033). - Тексты описывают работающий продукт; Вейликс — выделенный IP на общем сервере; Telegram поддержки — @veilix_support; сроки ответа не обещаем; VPN-серверы не ведут журналов. - Ссылки на этапы во всех документах, Q-12 решён (ЮKassa для RUB), R-19 (библиотеки для headless Chromium) сделано. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 KiB
01. Продукт
1. Бренды
| Вейликс | ВейликсВПН | |
|---|---|---|
| Код сайта | dedicated |
mass |
| Название | RU «Вейликс», EN «Veilix» | RU «ВейликсВПН», EN «VeilixVPN» |
| Цвет | фиолетовый | зелёный (бирюзовый) |
| Суть | личный VPN: у каждого ключа свой индивидуальный IP в выбранной стране | классический VPN: общий сервер, ключ даёт все страны тарифа |
| Протоколы | WireGuard / Amnezia WG и Xray (VLESS, Hysteria2, XHTTP) | Xray и WireGuard |
- Это два разных продукта на одном бэкенде и одной базе. Сайт определяется по домену.
- veilixvpn.com продаёт только mass. Перекрёстные ссылки между брендами допустимы: на mass есть блок «нужен свой IP — тарифы Вейликс».
- Логотип — вариант «Слои» из макета (два перекрывающихся скруглённых квадрата). Подборщик вариантов знака из макета в продукт не переносим.
2. Домены
| Назначение | Вейликс prod | Вейликс dev | ВейликсВПН prod | ВейликсВПН dev |
|---|---|---|---|---|
| Сайт | veilix.app | dev.veilix.app | veilixvpn.com | dev.veilixvpn.com |
| Кабинет и оформление заказа | my.veilix.app | dev.my.veilix.app | my.veilixvpn.com | dev.my.veilixvpn.com |
| MiniApp | tg.veilix.app | dev.tg.veilix.app | tg.veilixvpn.com | dev.tg.veilixvpn.com |
- Админка одна на оба бренда:
plc.veilix.cc(prod) иdev.plc.veilix.cc(dev). Аналитика Umami —umi.veilix.cc. - Все домены указывают на 169.58.76.183 (этот сервер).
- Домены хранятся в базе (коллекция «Домены»), у каждого свои языки и валюты. Новое зеркало добавляется записью в базе плюс блоком nginx и сертификатом.
3. Состав каждого бренда
- Сайт: главная, цены, локации, поддержка, юридические страницы.
- Веб-кабинет, в том числе оформление заказа (оформление живёт на my.*, а не на сайте).
- MiniApp в Telegram — этап 2a.
- Два Telegram-бота: основной (команды, MiniApp, уведомления) и бот поддержки, подключённый к Chatwoot. Этапы 2b и 3e.
4. Термины
- Сайт — бренд (тенант). Почти все сущности привязаны к сайту.
- Домен — хост, на котором открывается сайт, кабинет или MiniApp. У домена свои языки и валюты.
- Тариф — то, что продаётся: цены в валютах, период, лимит устройств, страны.
- Страна — общий справочник. Локация — страна на конкретном сайте: город, статус наличия.
- Ключ — купленная единица доступа пользователя со сроком действия и автопродлением.
- Подключение — конкретная конфигурация внутри ключа: WG или AWG-конфиг устройства, ссылка Happ, ссылка Xray.
- Заказ, Платёж, Движение по счёту — см. 04-billing.md.
- Валюта и Платёжная система — справочники; платёжная система доступна в определённых валютах.
5. Dedicated (Вейликс)
- Ключ — это индивидуальный IP в выбранной стране: выделенный адрес на общем сервере, а не отдельный сервер. Страна выбирается при покупке и не меняется никогда. Нужна другая страна — пользователь покупает новый ключ в другой локации и отключает автопродление старого. Отдельного функционала смены страны нет.
- В каждый ключ входит выделенный RU-адрес: работает и как прямое соединение, и как мост в обе стороны.
- До 5 устройств на ключ (поле тарифа), все с одним IP. WireGuard — по конфигу на устройство. Xray — ссылка для Happ (обычная или зашифрованная crypt-ссылка Happ, которая скрывает адрес подписки).
- Тариф — ценовой уровень со своим набором стран:
| Тариф | Страны | Первый месяц | Далее в месяц | USD (из макета) |
|---|---|---|---|---|
| Базовый | 23 страны (см. раздел 7) | 4 900 ₽ | 2 499 ₽ | $49 / $24 |
| Редкие локации | CH, AE, SG, JP, KR | 6 900 ₽ | 3 499 ₽ | $69 / $34 |
| Дальние локации | AU, BR | 9 900 ₽ | 4 999 ₽ | $99 / $49 |
- Первый месяц дороже, потому что включает подготовку сервера: выделение адреса, настройку протоколов и маршрутизации. Период — месяц.
- Статусы локаций: «Серверы в наличии» и «Установим за 24 часа». Оплаченный период начинается с момента выдачи ключа. Ключ выдаёт адаптер выдачи (D-028): администратор вручную, демо-эмулятор (этап 1f) или API (этап 3g).
- Каждый ключ продлевается независимо, в свою дату.
6. Mass (ВейликсВПН)
- Ключ включает все страны тарифа. Страна при покупке не выбирается: список стран на сайте только показывает, что входит в ключ.
- Happ — одна ссылка со всеми странами. WireGuard — пользователь может получить конфиги любой страны тарифа: их создаёт адаптер выдачи (D-028).
- Тарифы: «Месяц» 699 ₽ и «Год» 6 990 ₽ («582 ₽ в месяц, экономия 1 398 ₽»). Платы за подключение и доплат за страну нет: первый период стоит столько же, сколько продление.
- До 5 устройств на ключ (поле тарифа).
- Статусы локаций: «Включено» и «Скоро». Локации «Скоро» показываются, но не работают.
- В кабинете — «Список ключей», как у dedicated; внутри ключа ссылка Xray и конфиги WG. Формулировки «текущая/запасная локация» из макета не используем.
- Цены в USD (в макете их нет, решение Q-02): «Месяц» $6.99, «Год» $69.90.
- В каждый ключ входит RU-адрес, как у dedicated; страной тарифа он не считается (D-031).
7. Локации из макета
Город, статус и ценовой уровень dedicated. На mass те же 30 стран: «готова» = «Включено», «24 часа» = «Скоро».
| Код | Страна | Город | Статус | Уровень |
|---|---|---|---|---|
| NL | Нидерланды | Амстердам | готова | базовый |
| DE | Германия | Франкфурт | готова | базовый |
| US | США | Нью-Йорк | готова | базовый |
| GB | Великобритания | Лондон | готова | базовый |
| FR | Франция | Париж | готова | базовый |
| FI | Финляндия | Хельсинки | готова | базовый |
| SE | Швеция | Стокгольм | готова | базовый |
| NO | Норвегия | Осло | 24 часа | базовый |
| DK | Дания | Копенгаген | 24 часа | базовый |
| CH | Швейцария | Цюрих | готова | редкие |
| AT | Австрия | Вена | готова | базовый |
| ES | Испания | Мадрид | готова | базовый |
| IT | Италия | Милан | готова | базовый |
| PL | Польша | Варшава | готова | базовый |
| CZ | Чехия | Прага | готова | базовый |
| RO | Румыния | Бухарест | 24 часа | базовый |
| LT | Литва | Вильнюс | готова | базовый |
| LV | Латвия | Рига | готова | базовый |
| EE | Эстония | Таллин | 24 часа | базовый |
| TR | Турция | Стамбул | готова | базовый |
| KZ | Казахстан | Алматы | 24 часа | базовый |
| AM | Армения | Ереван | 24 часа | базовый |
| GE | Грузия | Тбилиси | 24 часа | базовый |
| AE | ОАЭ | Дубай | готова | редкие |
| SG | Сингапур | Сингапур | готова | редкие |
| JP | Япония | Токио | готова | редкие |
| KR | Южная Корея | Сеул | 24 часа | редкие |
| CA | Канада | Торонто | готова | базовый |
| AU | Австралия | Сидней | 24 часа | дальние |
| BR | Бразилия | Сан-Паулу | 24 часа | дальние |
Координаты для карты — в массиве L(...) в design/handoff/project/Price.dc.html. Количество свободных серверов из MiniApp (NL 12, DE 10, …) — демо-данные. На сайте счётчик показывается, если поле заполнено (D-032).
8. Пользователи
- Аккаунты раздельные по сайтам: один email на veilix.app и на veilixvpn.com — два разных пользователя.
- Регистрация и вход — одно поле email и одноразовый код. Отдельной регистрации нет.
- Telegram (этапы 2a–2c): аккаунт можно создать по Telegram без почты. Почта привязывается кодом, после этого работает вход на сайте. На сайте есть кнопка «Войти через Telegram». Правила объединения аккаунтов в пределах сайта — 05-auth.md.
9. Деньги
- У пользователя есть счёт (баланс) в валюте аккаунта.
- Валюты — отдельный справочник: RUB и USD. Переключатель валюты не зависит от языка: из России часто заходят через VPN, поэтому страна по IP для выбора валюты не годится. По умолчанию валюта зависит от языка: ru → RUB, остальные → USD.
- Платёжные системы привязаны только к валютам. Где система доступна, следует из цепочки: валюты → домены, на которых они включены → сайты: a. RUB — ЮKassa, только пополнения, без автосписаний (этап 3b); b. USD — Stripe (карты, сохранение карты, автосписания) и криптовалюта (этап 4b); c. для проверок — платёжная система «Демо», видна только с разрешённых IP (D-027).
- Карта привязывается к аккаунту, а не к ключу (Stripe). Отвязать карту можно в аккаунте.
- Продление: у каждого ключа галочка автопродления и кнопка «Продлить сейчас». Сначала списывается баланс, нехватка — с карты.
- Не хватило денег: льготный период 3 дня (ключ работает), затем ключ истекает. Напоминание за 3 дня до окончания.
- Ручные операции в админке: платёж через платёжную систему manual (проводится как настоящий), корректировка баланса, возврат на баланс.
- Возвраты (политика из макета): если сервер не заработал по нашей вине — полностью в течение первых 7 дней; если пользователь передумал — остаток неиспользованного периода.
- Подробно — 04-billing.md.
10. Реферальная программа
- «Приведите друга — вы оба получите по месяцу в подарок».
- «Месяц» — это дни срока ключа, а не деньги: по 30 дней обоим после первой оплаты заказа другом (D-025). Число дней задаётся в настройках сайта. a. Другу — на ключ, который он купил. b. Пригласившему — на его последний купленный ключ. Работающего ключа нет — дни добавятся к следующему.
- Ссылки:
https://my.veilix.app/r/<код>(для mass —my.veilixvpn.com) иt.me/<основной бот>?start=<код>. - Приглашения между брендами не засчитываются, самоприглашения отсекаются.
- В кабинете показываем: приглашено, начислено месяцев, ожидает оплаты; список приглашённых с замаскированной почтой.
11. Поддержка и заявки
- Страница поддержки: Telegram (бот поддержки бренда) и email, FAQ по разделам, форма связи.
- Почта поддержки:
help@veilix.app(dedicated) иhelp@veilixvpn.com(mass); в макете были домены .cc. Ящики — на внешнем почтовом хостинге; на этапе 3e письма из них забирает Chatwoot. До этого на сайте только адрес. Telegram поддержки —@veilix_supportу обоих брендов, пока нет ботов поддержки (этап 3e). - Заявка «Нужны индивидуальные условия» (dedicated) и «Нужны особые условия» (mass): имя, email, Telegram, WhatsApp, коротко о задаче.
- До этапов 3d и 3e формы — только интерфейс (D-026). Затем заявки уходят в Twenty CRM (3d), обращения — в Chatwoot (3e).
- Часы поддержки: с 10 до 20 по московскому времени в рабочие дни. Сроки ответа на сайте не обещаем.
12. Языки
en (по умолчанию, без префикса в URL), ru, de, fr, es. Позже — pt-br и ja. Подробно — 06-i18n.md.
13. Юридические страницы
Условия использования, политика конфиденциальности, политика возвратов, политика cookies. Черновики на 5 языках готовятся в этапе 1b, с заглушками вместо данных юрлица (Q-13). В политике конфиденциальности: VPN-серверы не ведут журналов (10-security.md, раздел 6). Это черновики, не юридическая консультация: перед запуском — показать юристу. Stripe при подключении проверяет эти страницы.