783 lines
68 KiB
Python
783 lines
68 KiB
Python
"""Юридические и служебные страницы кабинета.
|
||
|
||
Перед продом задайте LEGAL_* / BRAND_* и STATUS_PAGE_URL в env.
|
||
Документы не заменяют консультацию юриста.
|
||
"""
|
||
|
||
from __future__ import annotations
|
||
|
||
import html
|
||
import os
|
||
from datetime import date
|
||
|
||
BRAND = (os.getenv("BRAND_NAME") or "VPN Service").strip() or "VPN Service"
|
||
BRAND_SITE = (os.getenv("BRAND_SITE") or "example.com").strip() or "example.com"
|
||
SITE = (os.getenv("WEBAPP_URL") or "https://bot.example.com").rstrip("/")
|
||
SUPPORT_EMAIL = (os.getenv("LEGAL_SUPPORT_EMAIL") or "support@example.com").strip()
|
||
OPERATOR_NAME = (os.getenv("LEGAL_OPERATOR_NAME") or BRAND_SITE).strip()
|
||
OPERATOR_ADDRESS = (os.getenv("LEGAL_OPERATOR_ADDRESS") or "").strip()
|
||
EFFECTIVE = (os.getenv("LEGAL_EFFECTIVE_DATE") or date.today().isoformat()).strip()
|
||
STATUS_URL = (os.getenv("STATUS_PAGE_URL") or "https://status.example.com/").strip()
|
||
|
||
|
||
def _nav() -> str:
|
||
items = [
|
||
("/contacts", "Контакты"),
|
||
("/status", "Статус"),
|
||
("/delivery", "Доставка"),
|
||
("/refund", "Возврат"),
|
||
("/offer", "Оферта"),
|
||
("/privacy", "Персональные данные"),
|
||
("/help", "Помощь"),
|
||
("/support", "Поддержка"),
|
||
("/cookies", "Cookie"),
|
||
("/rules", "Правила сайта"),
|
||
("/vpn-usage", "Правила VPN"),
|
||
]
|
||
links = "\n ".join(
|
||
f'<a href="{href}">{html.escape(label)}</a>' for href, label in items
|
||
)
|
||
return f'<nav class="nav muted">\n {links}\n </nav>'
|
||
|
||
|
||
def _page(title: str, body: str, *, lang: str = "ru", extra_head: str = "") -> str:
|
||
title_e = html.escape(title)
|
||
addr = (
|
||
f"<br/>Address: {html.escape(OPERATOR_ADDRESS)}"
|
||
if OPERATOR_ADDRESS
|
||
else ""
|
||
)
|
||
return f"""<!DOCTYPE html>
|
||
<html lang="{lang}">
|
||
<head>
|
||
<meta charset="utf-8"/>
|
||
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||
<title>{title_e} — {html.escape(BRAND)}</title>
|
||
<style>
|
||
:root {{ color-scheme: dark; }}
|
||
body{{font-family:"Segoe UI",system-ui,sans-serif;max-width:760px;margin:32px auto;padding:0 16px 48px;
|
||
line-height:1.6;color:#e8efe9;background:#0c1210}}
|
||
a{{color:#3dcf9a}} h1{{font-size:1.55rem;margin:0 0 8px}} h2{{font-size:1.15rem;margin:28px 0 8px}}
|
||
.muted{{opacity:.72;font-size:.92rem}} .nav{{display:flex;flex-wrap:wrap;gap:10px 14px;margin:12px 0 24px}}
|
||
.card{{border:1px solid rgba(180,220,200,.12);border-radius:14px;padding:14px 16px;background:#141c18;margin:16px 0}}
|
||
ul{{padding-left:1.2rem}} li{{margin:6px 0}} .warn{{border-left:3px solid #e8c96a;padding-left:12px}}
|
||
.btn-row{{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}}
|
||
button.cookie-btn{{cursor:pointer;border:1px solid rgba(61,207,154,.35);background:#1a2820;color:#e8efe9;
|
||
border-radius:10px;padding:10px 14px;font:inherit}}
|
||
button.cookie-btn.primary{{background:#1f6b4a;border-color:#3dcf9a}}
|
||
#cookie-status{{margin-top:8px}}
|
||
</style>
|
||
{extra_head}
|
||
</head>
|
||
<body>
|
||
<p><a href="/">← Кабинет</a></p>
|
||
{_nav()}
|
||
<h1>{title_e}</h1>
|
||
<p class="muted">Актуальная версия · {html.escape(EFFECTIVE)} · {html.escape(SITE)}</p>
|
||
{body}
|
||
<div class="card muted">
|
||
<strong>{html.escape(BRAND_SITE)}</strong><br/>
|
||
Operator: {html.escape(OPERATOR_NAME)}{addr}<br/>
|
||
Support: <a href="mailto:{html.escape(SUPPORT_EMAIL)}">{html.escape(SUPPORT_EMAIL)}</a>
|
||
</div>
|
||
</body></html>"""
|
||
|
||
|
||
def html_offer() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Настоящий документ является публичной офертой и условиями использования сервиса {e(BRAND_SITE)},
|
||
подготовлен с учётом требований ЕС (права потребителей, цифровой контент, e-commerce, GDPR — где применимо)
|
||
и США (нормы FTC и штатов, включая CCPA/CPRA). Регистрация, оплата и использование сервиса означают акцепт оферты.</p>
|
||
|
||
<h2>1. Термины</h2>
|
||
<p><strong>Исполнитель</strong> — владелец сервиса {e(BRAND_SITE)}, предоставляющий доступ к VPN.
|
||
<strong>Заказчик</strong> (пользователь, потребитель) — дееспособное физическое или юридическое лицо, принявшее оферту
|
||
путём регистрации и/или оплаты. <strong>Услуги</strong> — предоставление доступа к VPN-конфигурациям и функциям кабинета
|
||
по выбранному тарифу. <strong>Цифровой контент</strong> — подписка, ссылка доступа и иные данные в электронной форме.</p>
|
||
|
||
<h2>2. Контакты исполнителя</h2>
|
||
<ul>
|
||
<li>Email: <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a></li>
|
||
<li>Поддержка: тикеты в кабинете; <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a></li>
|
||
</ul>
|
||
<p>Полный список: <a href="/contacts">Контакты</a>.</p>
|
||
|
||
<h2>3. Предмет договора</h2>
|
||
<p>Исполнитель обязуется предоставить Заказчику VPN-доступ согласно оплаченному тарифу; Заказчик обязуется
|
||
оплатить услуги по ценам на сайте на момент покупки. Услуга является цифровым контентом, не поставляемым
|
||
на материальном носителе, предоставляемым удалённо (онлайн).</p>
|
||
<p>Существенные характеристики (срок, цена, лимиты трафика и устройств, список серверов) указываются
|
||
на странице тарифа до оплаты. Дополнительные условия — в
|
||
<a href="/vpn-usage">правилах использования VPN</a> и <a href="/rules">правилах сайта</a>.</p>
|
||
|
||
<h2>4. Заключение договора и акцепт</h2>
|
||
<p>Договор считается заключённым с момента:</p>
|
||
<ul>
|
||
<li>успешной оплаты (списание с баланса или завершение платежа через провайдера);</li>
|
||
<li>подтверждения согласия с офертой, политикой персональных данных, правилами сайта и VPN,
|
||
условиями доставки и возврата — обязательными отметками при регистрации и/или покупке.</li>
|
||
</ul>
|
||
<p>Публикация тарифов — приглашение делать оферты; акцепт — оплата выбранного тарифа Заказчиком.</p>
|
||
|
||
<h2>5. Оказание услуги и «доставка»</h2>
|
||
<p>Заказчик регистрируется, при необходимости пополняет баланс и покупает подписку в кабинете.
|
||
Доступ предоставляется сразу после успешной оплаты: конфигурация и ссылка подписки отображаются в кабинете.
|
||
Отдельная плата за доставку не взимается. Подробнее: <a href="/delivery">Условия доставки</a>.</p>
|
||
<p>Срок подписки считается по тарифу (календарные дни/месяцы), если не включён режим заморозки до активации —
|
||
тогда срок начинается с момента активации, указанного на сайте.</p>
|
||
|
||
<h2>6. Цена и оплата</h2>
|
||
<p>Цены указываются на сайте до оформления заказа. Оплата — доступными в кабинете способами;
|
||
обработку платежей ведут платёжные провайдеры по своим правилам. Исполнитель не хранит полные данные банковских карт.</p>
|
||
<p>Валюта отображения — на усмотрение Исполнителя; фактическая сумма списания может зависеть от курса и комиссий.
|
||
НДС: если Исполнитель не является налогоплательщиком в соответствующей юрисдикции, цена может указываться
|
||
без отдельной налоговой строки; для потребителей ЕС налоговые обязанности определяются законом и статусом Исполнителя.</p>
|
||
|
||
<h2>7. Право на отказ (ЕС) и немедленное предоставление цифрового контента</h2>
|
||
<p>Для потребителей в ЕС действует право отказаться от дистанционного договора в течение 14 календарных дней
|
||
без указания причин (Директива 2011/83/EU), если ниже не предусмотрено иное.</p>
|
||
<p>VPN-доступ — цифровой контент не на материальном носителе. При оформлении заказа Заказчик:</p>
|
||
<ul>
|
||
<li>запрашивает немедленное начало оказания услуги после оплаты;</li>
|
||
<li>подтверждает ознакомление с условиями и понимает: после начала оказания и выдачи доступа
|
||
14-дневное право отказа может быть утрачено в объёме фактически оказанной услуги
|
||
(ст. 16(m) Директивы о правах потребителей / национальные имплементации).</li>
|
||
</ul>
|
||
<p>Возвраты после начала использования — по <a href="/refund">условиям возврата</a>, в пределах императивных норм ЕС.</p>
|
||
|
||
<h2>8. Возврат и отмена (США и общие положения)</h2>
|
||
<p>Для потребителей в США применяются условия возврата и обязательные нормы штата проживания
|
||
(включая права жителей Калифорнии по CCPA/CPRA — см. политику персональных данных).</p>
|
||
<p>Цифровые услуги с мгновенной доставкой, как правило, не возвращаются после фактического подключения и использования,
|
||
кроме случаев, прямо указанных в условиях возврата, ошибочного двойного списания или когда это обязательно по закону.</p>
|
||
|
||
<h2>9. Правовая рамка и обязанности Заказчика</h2>
|
||
<p>Исполнитель определяет допустимое использование услуг на основе права ЕС и США
|
||
(см. <a href="/vpn-usage">правила VPN</a>). Законодательство стран с авторитарным или цензурным регулированием интернета
|
||
не является референсной рамкой настоящих условий.</p>
|
||
<p>Заказчик обязуется:</p>
|
||
<ul>
|
||
<li>использовать VPN законно по применимому праву ЕС/США и настоящим документам;</li>
|
||
<li>не передавать доступ третьим лицам в коммерческих целях без согласия Исполнителя;</li>
|
||
<li>соблюдать лимиты устройств и условия тарифа;</li>
|
||
<li>не совершать действий, указанных в правилах сайта и VPN (взлом, мошенничество, CSAM, обход санкций OFAC/ЕС и т.п.).</li>
|
||
</ul>
|
||
<p>Заказчик самостоятельно оценивает риски использования VPN в стране пребывания.
|
||
Исполнитель не гарантирует законность VPN во всех юрисдикциях мира.</p>
|
||
|
||
<h2>10. Обработка персональных данных</h2>
|
||
<p>Обработка данных — по <a href="/privacy">Политике обработки персональных данных</a>
|
||
(GDPR, ePrivacy, CCPA/CPRA — где применимо). Регистрация и оплата подтверждают ознакомление с политикой.
|
||
Права субъекта данных можно реализовать через профиль и поддержку.</p>
|
||
|
||
<h2>11. Качество услуги и отказ от гарантий</h2>
|
||
<p>Исполнитель стремится поддерживать работоспособность VPN, но услуга предоставляется «как есть» и «как доступна»
|
||
в пределах, допускаемых императивным правом ЕС и США.</p>
|
||
<p>Не гарантируются: непрерывная доступность, конкретная скорость, доступность отдельных сайтов или сервисов,
|
||
обход всех блокировок операторов и государств. Обслуживание, сбои провайдеров и форс-мажор могут влиять на доступ.</p>
|
||
<p>Для потребителей ЕС: ничто в оферте не ограничивает законные гарантии соответствия цифрового контента
|
||
по Директиве (EU) 2019/770 в объёме, применимом к характеру услуги.</p>
|
||
|
||
<h2>12. Ограничение ответственности</h2>
|
||
<p>Исполнитель не отвечает за: действия Заказчика и третьих лиц; содержание пользовательского трафика;
|
||
блокировки VPN на уровне государств и провайдеров; косвенные убытки, упущенную выгоду, потерю данных —
|
||
в максимальной мере, допускаемой применимым правом.</p>
|
||
<p>Совокупная ответственность Исполнителя ограничена суммой, фактически уплаченной Заказчиком
|
||
за спорную подписку за последние 12 месяцев, если иное не требуется императивными нормами защиты потребителей ЕС/США.</p>
|
||
<p>Ограничения не применяются к ответственности за умысел, грубую неосторожность, вред жизни и здоровью
|
||
и иным случаям, когда ответственность нельзя исключить законом.</p>
|
||
|
||
<h2>13. Санкции и экспортный контроль</h2>
|
||
<p>Услуги не предоставляются лицам и организациям, подпадающим под санкции США (OFAC), ЕС или иные обязательные режимы.
|
||
Заказчик подтверждает отсутствие таких ограничений. При нарушении Исполнитель может немедленно расторгнуть договор.</p>
|
||
|
||
<h2>14. Приостановка и прекращение</h2>
|
||
<p>Исполнитель может приостановить или прекратить доступ за нарушение оферты, правил, права ЕС/США,
|
||
злоупотребление ресурсами, неоплату или по запросу платёжного провайдера.
|
||
Постоянная блокировка за серьёзные нарушения — по <a href="/rules">правилам сайта</a>.</p>
|
||
<p>Заказчик может прекратить использование в любое время; удаление аккаунта — через профиль.
|
||
Неиспользованный предоплаченный период не возвращается, кроме случаев по условиям возврата и императивному праву.</p>
|
||
|
||
<h2>15. Изменение условий</h2>
|
||
<p>Исполнитель может изменять оферту, цены и тарифы. Актуальная версия публикуется на этой странице.
|
||
О существенных изменениях для активных подписок может быть направлено уведомление (сайт, email).
|
||
Продолжение использования после вступления изменений в силу означает согласие, если иное не запрещено законом.
|
||
Для потребителей ЕС: изменения не ухудшают уже оплаченные права без согласия в течение оплаченного тарифа.</p>
|
||
|
||
<h2>16. Применимое право и споры</h2>
|
||
<p>Договор регулируется правом, определяемым по императивным коллизионным нормам защиты потребителей:
|
||
для потребителей в ЕС/ЕЭЗ сохраняются обязательные нормы страны обычного проживания, если они более благоприятны.</p>
|
||
<p>Для потребителей в США — обязательные нормы штата проживания в требуемом законом объёме.</p>
|
||
<p>Споры решаются переговорами и обращением в поддержку. При отсутствии согласия:</p>
|
||
<ul>
|
||
<li>ЕС: потребитель может использовать платформу ODR Еврокомиссии и компетентные органы защиты потребителей;</li>
|
||
<li>США: споры могут рассматриваться судами штата проживания или иными органами по местному праву.</li>
|
||
</ul>
|
||
<p>Ничто в этом разделе не лишает потребителя права на судебную защиту по императивным нормам его страны.</p>
|
||
|
||
<h2>17. Заключительные положения</h2>
|
||
<p>Оферта действует с момента публикации на сайте. Недействительность отдельного положения не влечёт
|
||
недействительности оферты в целом. Неотъемлемые документы:
|
||
<a href="/rules">правила сайта</a>, <a href="/vpn-usage">правила VPN</a>,
|
||
<a href="/privacy">политика персональных данных</a>, <a href="/delivery">доставка</a>, <a href="/refund">возврат</a>.</p>
|
||
"""
|
||
return _page("Договор оферты", body)
|
||
|
||
|
||
def html_terms() -> str:
|
||
"""Алиас: на example.com Terms of Service = Offer Agreement."""
|
||
return html_offer()
|
||
|
||
|
||
def html_privacy() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Актуальная версия. Политика подготовлена с учётом требований ЕС (GDPR, ePrivacy)
|
||
и США (штатные законы о приватности, включая CCPA/CPRA, рекомендации FTC).
|
||
По вопросам обработки данных — <a href="/contacts">контакты</a>.</p>
|
||
|
||
<h2>1. Общие положения</h2>
|
||
<p>Сервис {e(BRAND_SITE)} («мы», «сервис», «оператор») уважает вашу конфиденциальность.
|
||
Политика описывает, какие персональные данные мы собираем, на каком основании обрабатываем,
|
||
кому передаём, как долго храним и какие у вас права.</p>
|
||
<p>Политика применяется при использовании сайта, кабинета, VPN и иных услуг {e(BRAND_SITE)}.
|
||
Используя сервис, вы подтверждаете ознакомление с документом.</p>
|
||
|
||
<h2>2. Оператор и контакты</h2>
|
||
<p>Оператор (контролёр данных в смысле GDPR) — владелец сервиса {e(BRAND_SITE)}.</p>
|
||
<ul>
|
||
<li>Email по вопросам приватности: <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a></li>
|
||
<li>Поддержка: тикеты в кабинете; <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a></li>
|
||
</ul>
|
||
<p>Отдельный DPO не назначен; запросы по персональным данным принимаются по указанным каналам.</p>
|
||
|
||
<h2>3. Какие данные обрабатываем</h2>
|
||
<ul>
|
||
<li><strong>Идентификация и контакты:</strong> email, имя или псевдоним, идентификатор аккаунта;</li>
|
||
<li><strong>Учётные данные:</strong> хеш пароля, данные 2FA (если включена), привязка Telegram (если используется);</li>
|
||
<li><strong>Договор и платежи:</strong> баланс, история пополнений и списаний, тариф и подписка
|
||
(без полных данных карт — их обрабатывают платёжные провайдеры);</li>
|
||
<li><strong>VPN-услуги:</strong> сведения о купленных конфигурациях, сроках, выбранных серверах;
|
||
мы намеренно не анализируем и не храним содержимое вашего VPN-трафика;</li>
|
||
<li><strong>Поддержка:</strong> тема и текст тикетов, вложения, которые вы отправляете;</li>
|
||
<li><strong>Реферальная программа</strong> (при участии): связь с пригласившим, начисления;</li>
|
||
<li><strong>Технические данные:</strong> IP при доступе к сайту и API, тип браузера и ОС, cookies,
|
||
local storage, журналы ошибок и безопасности (в ограниченном объёме).</li>
|
||
</ul>
|
||
<p>Мы не собираем особые категории данных (здоровье, биометрия, политические взгляды и т.п.);
|
||
сервис не предназначен для детей младше 16 лет (см. раздел 12).</p>
|
||
|
||
<h2>4. Источники данных</h2>
|
||
<ul>
|
||
<li>напрямую от вас (регистрация, оплата, тикеты, настройки профиля);</li>
|
||
<li>автоматически при посещении сайта (технические логи, cookies);</li>
|
||
<li>от платёжных и иных подрядчиков — в объёме, необходимом для завершения транзакции.</li>
|
||
</ul>
|
||
|
||
<h2>5. Cookies и аналогичные технологии (ePrivacy / GDPR)</h2>
|
||
<p>Мы используем cookies и local storage браузера. По назначению они делятся на:</p>
|
||
<ul>
|
||
<li><strong>Строго необходимые</strong> — сессия входа, безопасность, работа кабинета.
|
||
Основание: исполнение договора и законный интерес (ст. 6(1)(b), (f) GDPR); согласие не требуется.</li>
|
||
<li><strong>Функциональные / предпочтения</strong> — запоминание выбора в баннере cookie (<code>cookie_consent</code>).
|
||
Основание: согласие (ст. 6(1)(a) GDPR) через «Принять все» или «Только необходимые».</li>
|
||
<li><strong>Опциональные (третьи стороны)</strong> — виджет чата поддержки (если включён на сайте).
|
||
Загружается только после «Принять все»; может устанавливать cookies третьей стороны и передавать данные в США.
|
||
Отказ — «Только необходимые» или <a href="/cookies">Настройки cookie</a>.</li>
|
||
</ul>
|
||
<p>Мы не используем стороннюю рекламу и профилирующие cookies для межсайтового трекинга.
|
||
Вы можете удалить или заблокировать cookies в настройках браузера; отказ от необходимых может сделать вход невозможным.</p>
|
||
<p>Срок хранения cookie согласия — до 12 месяцев, если иное не указано в браузере.</p>
|
||
|
||
<h2>6. Цели и правовые основания (GDPR)</h2>
|
||
<ul>
|
||
<li><strong>Исполнение договора</strong> (ст. 6(1)(b)) — регистрация, выдача VPN, списания, поддержка по запросу;</li>
|
||
<li><strong>Юридическая обязанность</strong> (ст. 6(1)(c)) — учёт и налоги, ответы на обязательные запросы органов ЕС/США;</li>
|
||
<li><strong>Законный интерес</strong> (ст. 6(1)(f)) — безопасность, предотвращение мошенничества и злоупотреблений,
|
||
защита прав в спорах, стабильность сайта (без избыточного профилирования);</li>
|
||
<li><strong>Согласие</strong> (ст. 6(1)(a)) — опциональные cookies, маркетинг (если введётся и только с отдельным согласием).
|
||
Согласие можно отозвать без ущерба для законной обработки до отзыва.</li>
|
||
</ul>
|
||
|
||
<h2>7. VPN и минимизация данных</h2>
|
||
<p>Политика конфиденциальности VPN дополняется <a href="/vpn-usage">правилами использования VPN</a>.
|
||
Мы соблюдаем принцип минимизации: не ведём целевой мониторинг содержимого трафика.
|
||
Технические метаданные (например, объём трафика на панелях) могут обрабатываться для биллинга,
|
||
лимитов тарифа и предотвращения злоупотреблений — без привязки к содержимому посещённых сайтов.</p>
|
||
|
||
<h2>8. Сроки хранения</h2>
|
||
<ul>
|
||
<li>данные аккаунта и подписки — пока аккаунт активен и разумный срок после удаления
|
||
(бэкапы и споры), обычно не более 90 дней после окончательного удаления, если закон не требует дольше;</li>
|
||
<li>финансовые записи — сроки налогового и бухгалтерского учёта (часто до 6–7 лет);</li>
|
||
<li>тикеты поддержки — до закрытия вопроса и до 3 лет истории обращений, если вы не запросите более раннее удаление;</li>
|
||
<li>технические логи серверов — обычно до 30–90 дней, если не требуется дольше для расследования инцидентов.</li>
|
||
</ul>
|
||
<p>По истечении сроков данные удаляются или обезличиваются.</p>
|
||
|
||
<h2>9. Передачи и обработчики</h2>
|
||
<p>Мы не продаём персональные данные и не передаём их за денежное вознаграждение
|
||
(включая «sale»/«sharing» по CCPA/CPRA для поведенческой рекламы).</p>
|
||
<p>Данные могут передаваться обработчикам только для оказания услуги: платёжные системы, хостинг и ЦОД,
|
||
сервисы email/уведомлений, виджет чата (при согласии «Принять все»), подрядчики мониторинга
|
||
(без доступа к содержимому VPN-трафика). С ними заключаются DPA или стандартные договорные условия в объёме GDPR.</p>
|
||
<p>Раскрытие государственным органам — только по действительному и обязательному запросу
|
||
по праву ЕС, США или иной юрисдикции, обязательной для нас.</p>
|
||
|
||
<h2>10. Международные передачи</h2>
|
||
<p>Серверы и подрядчики могут находиться вне вашей страны, в том числе вне ЕЭЗ.
|
||
При передаче из ЕС/ЕЭЗ применяются меры главы V GDPR: SCC, решения об адекватности или иные законные механизмы.</p>
|
||
|
||
<h2>11. Меры безопасности</h2>
|
||
<p>Шифрование паролей, ограничение доступа к БД, HTTPS, разграничение прав администраторов, резервные копии.
|
||
Ни один способ передачи или хранения в интернете не гарантирует абсолютную безопасность.</p>
|
||
|
||
<h2>12. Дети</h2>
|
||
<p>Сервис не предназначен для лиц младше 16 лет (в отдельных штатах США — младше 13 без согласия родителей).
|
||
Мы сознательно не собираем данные детей. При обнаружении такого аккаунта можем удалить его и связанные данные.</p>
|
||
|
||
<h2>13. Автоматизированные решения</h2>
|
||
<p>Мы не принимаем решений о вас исключительно на основе автоматизированной обработки,
|
||
порождающих правовые последствия или существенно затрагивающих вас (ст. 22 GDPR).
|
||
Ограничения аккаунта за злоупотребления принимаются администрацией с учётом обстоятельств.</p>
|
||
|
||
<h2>14. Ваши права</h2>
|
||
<p>В зависимости от места проживания вы можете иметь права на доступ, исправление, удаление («право быть забытым»),
|
||
ограничение обработки, переносимость, возражение, отзыв согласия, жалобу в надзорный орган ЕС/ЕЭЗ
|
||
или компетентный орган штата США.</p>
|
||
<p>Как реализовать: экспорт данных и удаление аккаунта — в профиле кабинета;
|
||
иные запросы — тикет в поддержку или email <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a>.
|
||
Срок ответа — до 30 дней (GDPR) или сроки штатного права США (например, 45 дней по CCPA с возможным продлением).
|
||
Мы можем запросить подтверждение личности.</p>
|
||
<p>Жители Калифорнии: мы не «продаём» и не «расшариваем» персональные данные для кросс-контекстной поведенческой рекламы.
|
||
Права знать категории данных, запросить удаление и исправление — по CCPA/CPRA. Дискриминации за реализацию прав нет.</p>
|
||
|
||
<h2>15. Изменения политики</h2>
|
||
<p>Актуальная версия всегда на этой странице; о существенных изменениях можем уведомить через сайт или email.</p>
|
||
|
||
<h2>16. Контакты</h2>
|
||
<p>По всем вопросам приватности: <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a>,
|
||
раздел <a href="/support">Поддержка</a>, <a href="/contacts">Контакты</a>.</p>
|
||
"""
|
||
return _page("Политика обработки персональных данных", body)
|
||
|
||
|
||
def html_site_rules() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Использование сервиса означает принятие настоящих правил. Референсная рамка допустимого поведения —
|
||
право Европейского Союза и Соединённых Штатов Америки
|
||
(см. также <a href="/vpn-usage">правила VPN</a> и <a href="/offer">оферту</a>).</p>
|
||
|
||
<h2>1. Общие положения</h2>
|
||
<p>Сервис {e(BRAND_SITE)} предоставляет доступ к VPN и связанным цифровым услугам.
|
||
Регистрируясь, вы соглашаетесь с правилами, <a href="/privacy">политикой персональных данных</a> (GDPR, CCPA/CPRA)
|
||
и <a href="/offer">офертой</a>. Подробные условия VPN — в <a href="/vpn-usage">правилах использования VPN</a>.</p>
|
||
|
||
<h2>2. Регистрация и аккаунт</h2>
|
||
<p>Для покупки необходима регистрация. Укажите действующий email и храните пароль в безопасности.
|
||
Вы отвечаете за действия с вашего аккаунта. Сервис не предназначен для лиц младше 16 лет
|
||
(13 в отдельных штатах США без согласия родителей).</p>
|
||
|
||
<h2>3. Оплата и использование</h2>
|
||
<p>Оплата — через баланс кабинета и платёжных провайдеров. Конфигурации выдаются в кабинете.
|
||
Передача доступа третьим лицам в коммерческих целях без согласия сервиса запрещена.</p>
|
||
|
||
<h2>4. Лимит устройств</h2>
|
||
<p>Одна подписка — не более 10 одновременных устройств, если тариф не указывает иное.
|
||
Для большего числа устройств — отдельная подписка. Превышение лимита — нарушение; возможна приостановка.</p>
|
||
|
||
<h2>5. Запрещённое использование</h2>
|
||
<p>Запрещено использовать сервис для деятельности, противоречащей праву ЕС/США, включая
|
||
(но не ограничиваясь): несанкционированный доступ к системам, вредоносное ПО, DDoS, спам, мошенничество,
|
||
CSAM, обход санкций OFAC/ЕС, систематическое пиратство. Полный список — в <a href="/vpn-usage">правилах VPN</a>.</p>
|
||
<p>Сервис не обязан ограничивать доступ к ресурсам только потому, что они заблокированы в отдельных странах
|
||
с авторитарным регулированием сети, если иное не требуется применимым правом ЕС/США.</p>
|
||
|
||
<h2>6. Поддержка и споры</h2>
|
||
<p>Вопросы — через <a href="/support">Поддержку</a> или <a href="/contacts">контакты</a>.
|
||
Потребители ЕС: ODR. Споры — по <a href="/offer">оферте</a>, раздел 16.</p>
|
||
|
||
<h2>7. Возвраты, вред и блокировки</h2>
|
||
<p>Возвраты — по <a href="/refund">условиям возврата</a> и императивному праву ЕС/США.
|
||
При существенном вреде сервису возврат может не выдаваться.
|
||
За серьёзные нарушения возможна постоянная блокировка без восстановления доступа.</p>
|
||
|
||
<h2>8. Блокировки VPN и простой серверов</h2>
|
||
<p>Государственные или провайдерские блокировки VPN — риск пользователя, а не основание для автоматического возврата
|
||
(см. <a href="/refund">возврат</a>, раздел 7). Возврат возможен только при длительном простое по вине сервиса
|
||
(>3 подряд календарных дней без замены сервера) — см. страницу возврата.</p>
|
||
|
||
<h2>9. Изменение правил</h2>
|
||
<p>Актуальная версия — на этой странице. О существенных изменениях можем сообщить через сайт или email.
|
||
Для потребителей ЕС: изменения не ухудшают уже оплаченный период без согласия.</p>
|
||
"""
|
||
return _page("Правила сайта", body)
|
||
|
||
|
||
def html_aup() -> str:
|
||
return html_vpn_usage()
|
||
|
||
|
||
def html_vpn_usage() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Документ дополняет <a href="/rules">правила сайта</a> и <a href="/offer">договор оферты</a>.
|
||
Используя VPN-услуги, вы подтверждаете ознакомление со следующим.
|
||
Политика допустимого использования VPN формируется со ссылкой на право ЕС и США.</p>
|
||
|
||
<h2>1. Назначение сервиса</h2>
|
||
<p>Сервис {e(BRAND_SITE)} предоставляет доступ к зашифрованному VPN-соединению для личного законного использования:
|
||
защита приватности, безопасность данных в публичных и домашних сетях.
|
||
Сервис не предназначен для нарушения закона и не гарантирует доступ к конкретным ресурсам
|
||
при изменении политик операторов или сетевых ограничений.</p>
|
||
|
||
<h2>2. Тарифы и трафик: условно безлимитный</h2>
|
||
<p>Если в описании тарифа указано «безлимит» или сходная формулировка, это означает условно безлимитное использование
|
||
в рамках разумного личного потребления (веб, мессенджеры, стриминг в обычном качестве и т.п.).</p>
|
||
<p>Такой режим не является абсолютным неограниченным объёмом: существуют физические лимиты канала,
|
||
политики ЦОД и требования стабильной работы сети для всех клиентов.</p>
|
||
|
||
<h2>3. Fair use и распределение ресурсов</h2>
|
||
<p>VPN-инфраструктура рассчитана на совместное использование многими пользователями.
|
||
Для стабильной скорости и доступности сервис следует принципу справедливого распределения ресурсов (fair use):
|
||
избыточная, нетипичная или монополизирующая нагрузка на каналы и узлы не допускается.</p>
|
||
|
||
<h2>4. Меры при злоупотреблении трафиком или нагрузкой</h2>
|
||
<p>При обнаружении злоупотребления администрация может по своему усмотрению:</p>
|
||
<ul>
|
||
<li>установить индивидуальные лимиты скорости и/или объёма трафика на аккаунт или соединение;</li>
|
||
<li>временно ограничить или приостановить VPN-доступ до выяснения обстоятельств;</li>
|
||
<li>при серьёзных или повторных нарушениях — прекратить оказание услуги
|
||
в соответствии с правилами сайта и офертой.</li>
|
||
</ul>
|
||
<p>Цель мер — справедливые условия для всех пользователей и работоспособность инфраструктуры.
|
||
Решение сообщается пользователю через поддержку (тикеты) или иные каналы на сайте.</p>
|
||
|
||
<h2>5. Применимое право и правовая рамка сервиса</h2>
|
||
<p>Сервис {e(BRAND_SITE)} при определении допустимого и недопустимого использования VPN и при принятии мер
|
||
опирается на требования и общепризнанные стандарты права ЕС и США.</p>
|
||
<p>Законодательство и практика стран с авторитарным, цензурным или иным несвободным регулированием интернета —
|
||
включая Российскую Федерацию и Украину — не являются референсной рамкой настоящих правил.
|
||
Ограничения таких юрисдикций сами по себе не создают обязанности сервиса блокировать или ограничивать VPN,
|
||
если использование не противоречит применимому праву ЕС/США и настоящему документу.</p>
|
||
<p>Это не означает безусловной безнаказанности пользователя в любой стране:
|
||
вы самостоятельно оцениваете риски в месте пребывания. Сервис не консультирует по законам конкретных стран
|
||
и не гарантирует, что использование VPN будет законным или безопасным во всех юрисдикциях.</p>
|
||
|
||
<h2>6. Законное использование и запрещённые действия</h2>
|
||
<p>VPN предназначен для законного личного использования. Сервис не мониторит содержимое трафика в реальном времени
|
||
и не отвечает за ваши действия, но может ограничить или прекратить доступ при нарушении правил.</p>
|
||
<p>Запрещено использовать VPN для деятельности, противоречащей праву ЕС и/или США, включая:</p>
|
||
<ul>
|
||
<li>несанкционированный доступ к компьютерам, сетям, аккаунтам и данным;</li>
|
||
<li>распространение вредоносного ПО, взлом, DDoS, сканирование и эксплуатация уязвимостей без согласия владельца;</li>
|
||
<li>спам, фишинг, мошенничество, кража персональных данных, финансовые и иные преступления;</li>
|
||
<li>распространение CSAM и любая эксплуатация несовершеннолетних;</li>
|
||
<li>поддержка терроризма, отмывание денег, обход санкций OFAC (США), ЕС и иных обязательных ограничений;</li>
|
||
<li>массовое нарушение авторских и смежных прав (включая систематическое пиратство в коммерческих целях);</li>
|
||
<li>перепродажа, публичное распространение или коммерческое предоставление VPN-доступа третьим лицам без согласия сервиса;</li>
|
||
<li>иные действия, указанные в правилах сайта и признаваемые незаконными по праву ЕС или США.</li>
|
||
</ul>
|
||
|
||
<h2>7. Санкции, экспортный контроль и ограниченные лица</h2>
|
||
<p>Услуги не предоставляются лицам и организациям, подпадающим под обязательные санкции США (включая списки OFAC),
|
||
ЕС или иных юрисдикций, чьи ограничения сервис обязан соблюдать по закону.
|
||
Сервис может прекратить доступ при выявлении нарушений санкционных или экспортных ограничений.</p>
|
||
|
||
<h2>8. Учётные данные и передача доступа</h2>
|
||
<p>Конфигурации и ключи предназначены для личного использования владельцем аккаунта, если тариф прямо не предусматривает иное.
|
||
Передача доступа третьим лицам в коммерческих целях, массовая перепродажа или публичное распространение без согласия сервиса не допускаются.</p>
|
||
|
||
<h2>9. Лимит устройств на подписку</h2>
|
||
<p>Одна подписка допускает использование не более чем на 10 устройствах одновременно,
|
||
если на сайте для тарифа не указано иное. Для большего числа устройств нужна дополнительная подписка.
|
||
Превышение лимита нарушает правила; сервис может применить меры вплоть до приостановки аккаунта.</p>
|
||
|
||
<h2>10. Стабильность и технические ограничения</h2>
|
||
<p>VPN зависит от сетей провайдеров, ЦОД и сторонних сервисов. Возможны краткие сбои, смена IP и обслуживание.
|
||
Сервис стремится обеспечить доступность, но не гарантирует бесперебойность.</p>
|
||
|
||
<h2>11. Запросы государственных органов</h2>
|
||
<p>Сервис не ведёт целевой мониторинг содержимого пользовательского трафика.
|
||
При получении действительных и обязательных запросов от компетентных органов в рамках процедур,
|
||
предусмотренных правом ЕС, США или иной юрисдикции, обязательной для сервиса,
|
||
мы можем предоставить имеющиеся у нас данные (например, сведения об аккаунте и платежах) в объёме, требуемом законом.
|
||
Подробнее — в <a href="/privacy">политике персональных данных</a>.</p>
|
||
<p>Запросы властей РФ, Украины и иных авторитарных юрисдикций, не имеющие обязательной силы по праву ЕС/США
|
||
и не подкреплённые международно признанной процедурой, не являются основанием для произвольного раскрытия данных
|
||
или блокировки пользователя, если иное прямо не требуется применимым правом.</p>
|
||
|
||
<h2>12. Изменение документа</h2>
|
||
<p>Актуальная версия публикуется на этой странице. Продолжение использования VPN после обновления правил
|
||
означает принятие в объёме, не противоречащем заключённому договору и применимому праву.</p>
|
||
"""
|
||
return _page("Правила использования VPN", body)
|
||
|
||
|
||
def html_refund() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Порядок возврата средств за цифровые VPN-услуги {e(BRAND_SITE)}.
|
||
Документ учитывает обязательные нормы ЕС (Директива 2011/83/EU, Регламент (EU) 2019/770)
|
||
и США (права потребителей штатов, FTC). Референсная рамка — право ЕС/США.</p>
|
||
|
||
<h2>1. Цифровой характер услуги</h2>
|
||
<p>Услуга — цифровой контент не на материальном носителе, предоставляемый удалённо и, как правило,
|
||
мгновенно после оплаты (см. <a href="/delivery">доставку</a>).</p>
|
||
|
||
<h2>2. Право на отказ — потребители ЕС (14 дней)</h2>
|
||
<p>Если вы потребитель в ЕС, у вас может быть право отказаться от дистанционного договора
|
||
в течение 14 календарных дней без указания причин (Директива 2011/83/EU).</p>
|
||
<p>Исключение для цифрового контента: если при покупке вы явно запросили немедленное начало оказания услуги
|
||
и получили доступ (конфигурация в кабинете), право отказа может быть утрачено в объёме уже оказанной услуги
|
||
(ст. 16(m) Директивы). Подробнее — в <a href="/offer">оферте</a>, раздел 7.</p>
|
||
<p>До начала использования (доступ не активирован/не подключён) возврат может быть рассмотрен
|
||
по обращению в поддержку в разумный срок.</p>
|
||
|
||
<h2>3. Потребители США</h2>
|
||
<p>Для жителей США возврат за цифровые услуги с мгновенной доставкой, как правило, не предоставляется
|
||
после фактического использования, если иное не требуется императивным правом штата или настоящей политикой
|
||
(ошибочное списание, двойной платёж).</p>
|
||
|
||
<h2>4. Возврат до использования</h2>
|
||
<p>Запрос на возврат неиспользованного доступа может быть рассмотрен через
|
||
<a href="/support">поддержку</a> или <a href="/contacts">контакты</a>.
|
||
Возврат не гарантируется автоматически и зависит от технической возможности платёжного провайдера.</p>
|
||
<p>Возврат может быть отказан при нарушении <a href="/rules">правил сайта</a>,
|
||
<a href="/vpn-usage">правил VPN</a> или при причинении существенного вреда сервису.</p>
|
||
|
||
<h2>5. Ошибочный платёж и chargeback</h2>
|
||
<p>При ошибочном переводе или двойном списании обратитесь в поддержку с номером транзакции, суммой и способом оплаты.
|
||
При подтверждении ошибки средства возвращаются по процедурам платёжной системы.</p>
|
||
<p>Не злоупотребляйте chargeback без оснований — это может привести к блокировке аккаунта.</p>
|
||
|
||
<h2>6. Отказ в возврате</h2>
|
||
<p>Возврат, как правило, не выдаётся, если доступ уже использован (подключение по выданным данным),
|
||
а также при серьёзных нарушениях правил или права ЕС/США.</p>
|
||
|
||
<h2>7. Государственные и сетевые блокировки</h2>
|
||
<p>Ограничения VPN, введённые государствами, провайдерами или операторами связи,
|
||
являются обстоятельствами вне контроля сервиса и сами по себе не являются основанием для возврата,
|
||
если услуга была технически оказана с нашей стороны. Вы самостоятельно оцениваете риски
|
||
в месте пребывания (см. <a href="/vpn-usage">правила VPN</a>).</p>
|
||
|
||
<h2>8. Недоступность по вине сервиса</h2>
|
||
<p>Возврат за период подписки может быть рассмотрен, если простой серверов по вине сервиса
|
||
превысил 3 подряд календарных дня, доступ не был восстановлен заменой сервера,
|
||
и вы своевременно уведомили поддержку. Краткие сбои и плановое обслуживание не являются основанием.</p>
|
||
<p>Для потребителей ЕС сохраняются права при несоответствии цифрового контента по Регламенту (EU) 2019/770 —
|
||
в применимом объёме.</p>
|
||
|
||
<h2>9. Сроки и способ возврата</h2>
|
||
<p>Рассмотрение запроса — до 14 рабочих дней (для запросов GDPR — до 30 дней).
|
||
При одобрении — возврат тем же способом оплаты; срок зачисления — по правилам платёжной системы
|
||
(обычно 10–30 рабочих дней).</p>
|
||
|
||
<h2>10. Споры (ЕС / США)</h2>
|
||
<p>Споры — через поддержку. Потребители ЕС: платформа ODR.
|
||
Обязательные нормы страны проживания сохраняются (см. <a href="/offer">оферту</a>, раздел 16).</p>
|
||
"""
|
||
return _page("Возврат и отмена платежа", body)
|
||
|
||
|
||
def html_delivery() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Сервис {e(BRAND_SITE)} предоставляет цифровой контент (VPN-доступ).
|
||
Документ подготовлен с учётом требований ЕС (Директива 2011/83/EU, Регламент (EU) 2019/770)
|
||
и США (прозрачность для потребителей, FTC).</p>
|
||
|
||
<h2>1. Способ «доставки»</h2>
|
||
<p>Доставка осуществляется исключительно в электронной форме. После успешной оплаты доступ к конфигурациям
|
||
предоставляется автоматически: ссылки подписки и данные подключения отображаются в кабинете сразу после зачисления платежа.
|
||
Физическая доставка не применяется.</p>
|
||
|
||
<h2>2. Стоимость доставки</h2>
|
||
<p>Отдельная плата за доставку не взимается. Цена на странице тарифа включает предоставление цифрового доступа
|
||
(принцип прозрачности цены — право потребителей ЕС/США).</p>
|
||
|
||
<h2>3. Сроки</h2>
|
||
<p>Доступ предоставляется сразу после подтверждения оплаты платёжной системой (обычно в течение нескольких минут).
|
||
При задержке у провайдера — в разумный срок, как правило до 24 часов; обратитесь в
|
||
<a href="/support">поддержку</a>.</p>
|
||
<p>Для потребителей ЕС: при оформлении заказа вы запрашиваете немедленное начало оказания услуги;
|
||
это может повлиять на 14-дневное право отказа — см. <a href="/offer">оферту</a> и
|
||
<a href="/refund">политику возврата</a>.</p>
|
||
|
||
<h2>4. Регионы</h2>
|
||
<p>Сервис доступен пользователям в регионах, где доступны сайт и выбранные способы оплаты,
|
||
с учётом ограничений санкций OFAC/ЕС (см. <a href="/offer">оферту</a>).</p>
|
||
|
||
<h2>5. Подтверждение получения</h2>
|
||
<p>Предоставление доступа фиксируется автоматически в кабинете. Это считается исполнением обязанности
|
||
по поставке цифрового контента. При проблемах после оплаты — откройте тикет в поддержке.</p>
|
||
|
||
<h2>6. Информация до покупки (ЕС / США)</h2>
|
||
<p>До оплаты на сайте отображаются: наименование услуги, цена, срок подписки, основные характеристики тарифа
|
||
(лимиты, протоколы). Полные условия — в <a href="/offer">оферте</a>,
|
||
<a href="/privacy">политике персональных данных</a> и <a href="/contacts">контактах</a>.</p>
|
||
"""
|
||
return _page("Доставка", body)
|
||
|
||
|
||
def html_contacts() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Актуальные контактные данные сервиса {e(BRAND_SITE)}.
|
||
По вопросам персональных данных (GDPR, CCPA/CPRA) и прав потребителей ЕС/США используйте каналы ниже.</p>
|
||
|
||
<div class="card">
|
||
<p><strong>Оператор сервиса (контролёр данных)</strong><br/>{e(OPERATOR_NAME)}</p>
|
||
<p><strong>Email</strong><br/>
|
||
Общие вопросы: <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a><br/>
|
||
Приватность и GDPR/CCPA: <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a>
|
||
(тема: «Privacy request»)</p>
|
||
<p><strong>Поддержка</strong><br/>
|
||
<a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a><br/>
|
||
Обращения через раздел <a href="/support">Поддержка</a> (тикеты) в кабинете.
|
||
Зарегистрированные пользователи могут создать тикет и получить ответ на email.</p>
|
||
<p class="muted">Срок ответа на запросы по персональным данным — до 30 дней (GDPR)
|
||
или в сроки CCPA/CPRA (обычно до 45 дней).</p>
|
||
</div>
|
||
|
||
<h2>Права потребителей и споры (ЕС / США)</h2>
|
||
<p>Жители ЕС/ЕЭЗ могут обратиться в надзорный орган по защите данных своей страны (список — EDPB)
|
||
и использовать платформу Online Dispute Resolution (ODR) Еврокомиссии.</p>
|
||
<p>Жители США (включая Калифорнию) — по вопросам персональных данных см.
|
||
<a href="/privacy">политику</a>; жалобы можно подавать в компетентный орган штата
|
||
(например, California Attorney General — Privacy).</p>
|
||
"""
|
||
return _page("Контакты", body)
|
||
|
||
|
||
def html_support() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Поддержка сервиса {e(BRAND_SITE)}.</p>
|
||
|
||
<div class="card">
|
||
<ol>
|
||
<li>Войдите в <a href="/">кабинет</a>.</li>
|
||
<li>Откройте раздел «Поддержка» и создайте тикет.</li>
|
||
<li>Укажите ID конфигурации/подписки, что уже пробовали, и приложите скриншоты при необходимости.</li>
|
||
</ol>
|
||
<p>Email: <a href="mailto:{e(SUPPORT_EMAIL)}">{e(SUPPORT_EMAIL)}</a></p>
|
||
</div>
|
||
|
||
<p>Перед обращением проверьте: актуальность приложения, корректность скопированной ссылки подписки,
|
||
статус серверов на странице <a href="/status">Статус серверов</a>.</p>
|
||
<p>Справка по типичным вопросам: <a href="/help">Помощь</a>.</p>
|
||
"""
|
||
return _page("Поддержка", body)
|
||
|
||
|
||
def html_help() -> str:
|
||
e = html.escape
|
||
body = f"""
|
||
<p>Краткая справка по кабинету {e(BRAND)}: регистрация, тарифы, подписка Remnawave, устройства и лимиты.</p>
|
||
|
||
<h2>С чего начать</h2>
|
||
<ol>
|
||
<li>Зарегистрируйтесь или войдите в кабинет (логин/пароль, Telegram или Passkey).</li>
|
||
<li>Пополните баланс доступным способом оплаты.</li>
|
||
<li>Выберите тариф и оплатите с баланса.</li>
|
||
<li>Скопируйте ссылку подписки из кабинета и импортируйте в клиент (Hiddify, v2rayNG, Streisand и др.).</li>
|
||
</ol>
|
||
|
||
<h2>Регистрация и вход</h2>
|
||
<p>При регистрации укажите логин и пароль. Забыли пароль — сброс со страницы входа (если настроен SMTP).
|
||
Реферальная ссылка при регистрации (если есть) применяется автоматически.</p>
|
||
|
||
<h2>Баланс и оплата</h2>
|
||
<p>В кабинете откройте «Баланс». Способы оплаты зависят от настроек сервиса.
|
||
Мы не списываем карту автоматически без вашего действия: услуги оплачиваются с баланса сайта.
|
||
В профиле можно включить добровольное автопродление с баланса — это не привязка карты,
|
||
а списание уже зачисленных средств при истечении тарифа.</p>
|
||
|
||
<h2>Подписка Remnawave</h2>
|
||
<p>После покупки в кабинете появляется ссылка подписки <code>https://…</code> для мультисерверного доступа.
|
||
У подписки есть лимит трафика и устройств (по тарифу и настройкам панели).
|
||
При необходимости докупите трафик или слоты устройств в соответствующих разделах кабинета.</p>
|
||
|
||
<h2>Устройства и правила</h2>
|
||
<p>Не превышайте лимит устройств — иначе доступ может быть ограничен до покупки слотов или удаления лишних устройств.
|
||
Одна выданная подписка/ссылка не предназначена для массовой раздачи.
|
||
Злоупотребления могут привести к блокировке аккаунта. Возвраты — см.
|
||
<a href="/refund">политику возврата</a> и <a href="/rules">правила</a>.</p>
|
||
|
||
<h2>Поддержка</h2>
|
||
<p>Создайте тикет в разделе <a href="/support">Поддержка</a>.
|
||
Укажите тип подключения и что уже пробовали. Перед обращением обновите приложение и проверьте ссылку.</p>
|
||
"""
|
||
return _page("Помощь", body)
|
||
|
||
|
||
def html_status() -> str:
|
||
e = html.escape
|
||
status = e(STATUS_URL) if STATUS_URL else "#"
|
||
body = f"""
|
||
<p>Актуальный статус узлов и инфраструктуры сервиса {e(BRAND_SITE)}.</p>
|
||
<div class="card">
|
||
<p>Публичная страница статуса:</p>
|
||
<p><a href="{status}" target="_blank" rel="noopener">{status}</a></p>
|
||
<p class="muted">Краткие сбои и плановое обслуживание обычно отражаются на статус-странице.
|
||
При длительной недоступности (>3 суток подряд по вине сервиса без замены сервера)
|
||
см. <a href="/refund">условия возврата</a>.</p>
|
||
</div>
|
||
<p>Если сервис недоступен — напишите в <a href="/support">поддержку</a>.</p>
|
||
"""
|
||
return _page("Статус серверов", body)
|
||
|
||
|
||
def html_cookies() -> str:
|
||
e = html.escape
|
||
script = """
|
||
<script>
|
||
(function () {
|
||
var KEY = "cookie_consent";
|
||
function get() {
|
||
try { return localStorage.getItem(KEY) || ""; } catch (e) { return ""; }
|
||
}
|
||
function set(v) {
|
||
try { localStorage.setItem(KEY, v); } catch (e) {}
|
||
var el = document.getElementById("cookie-status");
|
||
if (el) {
|
||
el.textContent = v === "all"
|
||
? "Выбрано: принять все (включая опциональные)."
|
||
: v === "necessary"
|
||
? "Выбрано: только необходимые."
|
||
: "Выбор ещё не сохранён.";
|
||
}
|
||
}
|
||
document.addEventListener("DOMContentLoaded", function () {
|
||
set(get());
|
||
var all = document.getElementById("cookie-accept-all");
|
||
var nec = document.getElementById("cookie-necessary");
|
||
if (all) all.addEventListener("click", function () { set("all"); });
|
||
if (nec) nec.addEventListener("click", function () { set("necessary"); });
|
||
});
|
||
})();
|
||
</script>
|
||
"""
|
||
body = f"""
|
||
<p>Настройки cookie для сайта {e(BRAND_SITE)}. Подробности — в разделе 5
|
||
<a href="/privacy">Политики обработки персональных данных</a>.</p>
|
||
|
||
<div class="card">
|
||
<p><strong>Строго необходимые</strong> — сессия, безопасность, работа кабинета. Согласие не требуется.</p>
|
||
<p><strong>Функциональные</strong> — запоминание вашего выбора cookie.</p>
|
||
<p><strong>Опциональные</strong> — сторонние виджеты (например, чат поддержки), если включены на сайте.
|
||
Загружаются только при выборе «Принять все».</p>
|
||
<div class="btn-row">
|
||
<button type="button" class="cookie-btn primary" id="cookie-accept-all">Принять все</button>
|
||
<button type="button" class="cookie-btn" id="cookie-necessary">Только необходимые</button>
|
||
</div>
|
||
<p class="muted" id="cookie-status">Выбор ещё не сохранён.</p>
|
||
</div>
|
||
<p class="muted">Выбор хранится в localStorage браузера (<code>cookie_consent</code>) до 12 месяцев
|
||
или до очистки данных сайта.</p>
|
||
"""
|
||
return _page("Настройки cookie", body, extra_head=script)
|