# My Point VPN ### Intro Предоставляет интерфейс чат бота в телеграмм посредством которого позволяет разворачивать 3x-ui на своем сервере и выпускать ключи. Базово конфигурируется 3x-ui на создание vless подключений с tls+reality маскировкой трафика. Настраивается dns, подписка и базовая безопасность сервера. Пользователь может прикрутить прокси на выход или включить cf_warp прокси. По каждому серверу дает базовую статистику у ручки управления. Если вам нужен приватный доступ в интернет, передайте сервер боту и он настроит вам его. Выглядит это так: пользователь заводит аккаунт хостинг провайдера, арендует сервер, ему выдают ip и пароль root, он передает их боту, оный настраивает сервер, теперь пользователь может выпускать ключи vless и подключаться к интернету безопасно и приватно. - статистика сервера: - сколько трафика пропустил - сколько пользователей - можно добавить пользователя - статистика по пользователю: - онлайн? - сколько трафика пропустил - можно удалить пользователя Серверу можно настроить: - прокси на выходе (cf или свои) - домен (можно спрятать за cf, сертификат получим у certbot) ### Интерфейс чата Переход в главное меню должен быть реализован кнопкой в клавиатуре. `/start` и кнопка "главное меню" должны выполняться одним методом. Сейчас у пользователя нет данных и это его первое сообщение, поэтому система показывает ему сообщение заглушку. ``` ---> /start <--- привет. выбери действие [ФАК][добавить сервер][помощь] ``` Пользователь нажимает на кнопку добавления сервера и переходит в меню добавления сервера. ##### Меню добавления сервера ``` ---> добавить сервер <--- Сервер: - Домен: - Cloudflare: - Прокси: - [домен][cloudflare][прокси] [отмена][установить][сервер] ``` ``` ---> сервер <--- отправь данные для подключения к серверу `ip:root_password` [отмена] ``` После получения данных выполняется процесс настройки сервера. Этот процесс занимает время, поэтому выполняется в фоне. ``` ---> 127.0.0.1:toor <--- Сервер: 127.0.0.1 - $(uname -a) Домен: - Cloudflare: - Прокси: - [домен][cloudflare][прокси] [отмена][установить][сервер] ``` ``` ---> cloudflare <--- Если вы спрятали домен за клаудом, то нужно включить опцию тут. [включить][отмена] ``` ``` ---> включить <--- Сервер: 127.0.0.1 - $(uname -a) Домен: - Cloudflare: Да Прокси: - [домен][cloudflare][прокси] [отмена][установить][сервер] ``` ``` ---> прокси <--- Можно указать свои или включить cf_warp. [cf_warp][отмена][удалить] ``` ``` ---> http://127.0.0.1:9050 <--- Сервер: 127.0.0.1 - $(uname -a) Домен: - Cloudflare: Да Прокси: 127.0.0.1:9050 [домен][cloudflare][прокси] [отмена][установить][сервер] ``` ``` ---> установить <--- Запускаю установку сервера. Отправлю уведомление когда все будет готово. ``` А по окончании генерируется уведомление. ``` ---> <--- сервер ip - проименован как `NAME`, готов к работе. [меню сервера] ``` ##### Меню Пользователь опять отправляет /start это нормально, так он получает главное меню с перечислением его серверов. ``` ---> /start <--- server_name 0Mb/0Mb 0/0 [ФАК][добавить сервер][помощь][управление сервером] ``` Чтобы перейти к управлению сервером нужно вот такой квест пройти, надо все эти id в копируемый pre сунуть. ``` ---> управление сервером <--- Пришлите server_name [отмена] ``` ##### Меню управления сервером ``` ---> меню сервера <--- Сервер: NAME Состояние: активен Ключи: 0/0 Домен: - Прокси: - [Вернуть][Переустановить] [Домен][Прокси][Cloudflare] [Клиенты] ``` Ключи отображаются онлайн/оффлайн. Возврат сервера связан с отключением его от платформы. Доступы к серверу изымаются, ставится новый пароль рута, а данные остаются как есть. Просто отдаем сервер назад. ``` ---> Вернуть <--- Сервер будет освобожден из-под моего контроля, будет установлен случайный пароль рута, мои доступы будут убраны, данные на сервере сохранены. Будет отправлено уведомление с новым паролем. Продолжить? [Да][Нет] ``` Возможно потребуется переустановка после сброса сервера. Бывает такое когда это нужно. Обычно после сброса сервера задается новый пароль. ``` ---> Переустановить <--- Будет произведена повторная установка всех компонентов. Вызывайте эту функцию, только после того, как в панеле управления сервером в аккаунте хостинг провайдера вызовите переустановку сервера. Если уверены, то пришлите новый пароль сервера. [Отмена][Использовать старый] ``` Меню управления доменом. После установки выпускаются ссл сертификаты, а если домена нет, то сертификат выпускаем на ip. ``` ---> Домен <--- Сейчас установлен: - Доменное имя лучше подходит для маскировки вашей точки доступа. [установить][отключить] ``` Прокси полезно ставить. Есть 2 варианта, когда пользователь покупает прокси и задает их тут, или когда активирует cf_warp. ``` ---> Прокси <--- Сейчас установлено: - Позволяют маскировать ip адрес вашей точки доступа от сайтов, которые посещаются. X -> Cloudflare <> MyPoint <> PROXY <- Web X через домен видит ip от cloudflare, а web сайты видят ip прокси, это позволяет вашей точке доступа оставаться инкогнито. [установить][отключить] ``` ``` ---> установить <--- пришли прокси в формате `protocol://username:password@host:port` или нажми кнопку. [cloudflare warp][отмена] ``` Еще одна полезная возможность это скрытие ip за cloudflare. И для этого тоже будет меню. ``` ---> Cloudflare <--- Сейчас активировано: Нет Позволяет защитить ip адрес вашей точки доступа от клиентов, которые к ней подключаются. X -> Cloudflare <> MyPoint <> PROXY <- Web [установить][отключить] ``` ##### Меню управления клиентами ``` ---> Клиенты <--- id 0/0Mb On [добавить][удалить][получить ключ] ``` ``` ---> удалить <--- Чтобы удалить клиента пришлите его id [отмена] ``` ``` ---> добавить <--- если хотите, можете сами установить id [сгенерируй] ``` Далее пользователь либо отправляет текст, который будет использован как id для нового клиента, либо сгенерирует новый уникальный id и вернет ключ. ### Настройка сервера Чтобы сервера были в безопасности их следует правильно настроить. От пользователя ожидается на вход девственный сервер с только что установленной операционной системой. 1. Конфигурирование ssh 2. Смена пароля рута 3. Конфигурирование nftables 4. Обновление операционной системы 5. Установка 3x-ui 6. Выпуск сертификата 7. Настройка vless+tls+reality ### Функционал бота ### Модель данных