Files
site/content/projects/mypointvpn/index.md
T
protokeyandClaude Opus 5.5 672467a699 feat: MyPointVPN landing on mypointvpn.sokolab.xyz and post about Serverus
Landings get per-project themes (params.theme, params.fonts) and optional
chat/start/note/engine sections, so they don't look like clones.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:22:41 +04:00

92 lines
7.2 KiB
Markdown
Raw 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.
---
title: "MyPoint VPN"
tagline: "Свой VPN на своем сервере за одно сообщение"
description: "Арендуйте сервер, пришлите Телеграм-боту IP и пароль, и он сам закроет сервер, поставит 3x-ui и настроит VLESS + Reality. Ключи и подписки для клиентов тоже выдает бот."
domain: "https://mypointvpn.sokolab.xyz/"
badge: "Телеграм-бот · Debian 12 и 13"
theme: mypointvpn
fonts: "family=Unbounded:wght@500;700&family=Manrope:wght@400;600;800&family=JetBrains+Mono:wght@400;600"
post: "/blog/mypointvpn-serverus"
postLabel: "Как бот для VPN научился управлять серверами"
build:
list: never
sitemap:
disable: true
nav:
- { label: "Возможности", href: "#features" }
- { label: "Как начать", href: "#start" }
- { label: "Serverus", href: "#engine" }
- { label: "Сообщество", href: "#community" }
cta:
- { label: "Открыть бота", href: "https://t.me/barbarisiska_bot", primary: true }
- { label: "Как начать", href: "#start" }
chat:
title: "Так это выглядит в боте"
messages:
- { from: "me", text: "`203.0.113.7:пароль-root`" }
- { from: "bot", text: "ssh перенесен на случайный порт, вход только по ключу. Фаервол включен, система обновлена." }
- { from: "bot", text: "3x-ui установлена: VLESS + XHTTP + Reality на 443 порту." }
- { from: "me", text: "Выпустить ключ" }
- { from: "bot", text: "Готово. Вот ссылка на подписку для клиента." }
features:
title: "Что вы получаете"
items:
- title: "VLESS + XHTTP + Reality"
text: "Подключение на 443 порту. Цель для Reality бот подбирает сам."
- title: "Сервер маскировки"
text: "По желанию. Клиенты подключаются к нему, он пересылает трафик на панель, и адрес панели нигде не светится."
- title: "Сертификаты"
text: "Домен с Let's Encrypt для панели и подписки. Без домена бот выпустит короткий сертификат на IP и будет продлевать его сам."
- title: "Ключи без ограничений"
text: "Ни по трафику, ни по сроку, ни по устройствам. Подписки для v2rayN, Hiddify, Happ и v2rayNG. По каждому ключу видно трафик и когда клиент был онлайн."
- title: "Прокси и DNS"
text: "На выходе свой прокси или Cloudflare WARP. DNS на сервере шифруется: DNS-over-TLS, а если его режут, запасной DNS-over-HTTPS."
- title: "Присмотр"
text: "Раз в сутки бот проверяет панель, Xray и сертификат подписки и пишет, если что-то сломалось или починилось."
start:
title: "Как начать"
steps:
- title: "Арендуйте сервер"
text: "Любой хостер, Debian 12 или 13. Нужны только IP и пароль root."
- title: "Пришлите боту `ip:пароль`"
text: "Бот переведет ssh на случайный порт со входом по ключу, включит фаервол, обновит систему и поставит 3x-ui."
- title: "Выпустите ключ"
text: "Добавьте ссылку на подписку в клиент, и VPN работает."
note:
title: "Сервер остается вашим"
text: "Кнопка «Вернуть» убирает доступы бота, откатывает ssh и фаервол и присылает новый пароль root. Данные на сервере остаются. А через Cloudflare бот не работает специально: Cloudflare сам завершает TLS, и Reality за ним работать не может."
engine:
kicker: "Под капотом"
title: "Serverus"
lead: "Почти вся работа бота сводится к одному: взять голый Debian, закрыть его и управлять им по ключу. Этим занимается `serverus`, пакет на ansible внутри проекта. VPN лишь одна из задач поверх него, вторая это docker-сервер."
items:
- "Docker, Caddy и автообновления системы, сертификаты для доменов выпускает Caddy"
- "Приложение это папка с `docker-compose.yaml`, `.env` и `caddy.conf`, архивом или по файлам"
- "Перед применением разница и предупреждения по файлам, в том числе если домен не указывает на сервер"
- "Проверка compose, портов и конфига Caddy. При ошибке приложение не трогается, пересоздаются только изменившиеся сервисы"
- "Откат на предыдущую версию файлов, старт, стоп, рестарт и логи по сервисам"
- "Логин в приватный docker registry и гостевой доступ к volumes для заливки данных"
callout:
title: "Бот держит сам себя"
text: "Прод MyPoint VPN развернут как приложение Serverus на docker-сервере, которым управляет этот же бот. Что умеет бот, решает интерфейс в админке: «MyPoint VPN», «Serverus» или оба сразу."
community:
title: "Сообщество"
lead: "Вопросы, идеи и баги принимаются в Redmine. Регистрироваться не обязательно: гостевой вход описан в [теме на форуме](https://redmine.sokolab.xyz/boards/2/topics/3)."
links:
- { title: "Бот", text: "Начать пользоваться в Телеграме.", href: "https://t.me/barbarisiska_bot" }
- { title: "Код", text: "Исходники и вики: деплой, перенос данных, приложения Serverus.", href: "https://git.sokolab.xyz/s0k0l/mypointvpn" }
- { title: "Задачи", text: "Баги и пожелания в Redmine.", href: "https://redmine.sokolab.xyz/projects/mypointvpn" }
- { title: "Форум", text: "Вопросы и идеи, там же гостевой вход.", href: "https://redmine.sokolab.xyz/boards/2/topics/3" }
- { title: "Запись в блоге", text: "Как бот для VPN научился управлять серверами.", href: "https://sokolab.xyz/blog/mypointvpn-serverus/" }
footer: "Используйте VPN в рамках законов вашей страны."
---