309 lines
11 KiB
Markdown
309 lines
11 KiB
Markdown
# 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
|
||
8. Настройка прокси
|
||
|
||
### Функционал бота
|
||
|
||
**Добавление сервера**
|
||
|
||
Заходим на сервер по паролю, прописываем ему свой ключ, меняем пароль. Настраиваем ssh
|
||
|
||
```
|
||
# отключаем вход по паролю
|
||
# жестко фиксируем авторизацию только по ключам
|
||
# меняем порт
|
||
#
|
||
```
|
||
|
||
\# TODO: дописать документацию
|
||
|
||
### Модель данных
|