Установка и настройка 3X-UI с полной обвязкой
Эта инструкция поможет вам установить 3X-UI с реверс-прокси через Nginx, фейковым сайтом, SSL-сертификатами и защитой панели.
- Подготовьте сервер:
- Установите Docker:
- Установите 3X-UI:
- Настройте Nginx для реверс-прокси:
- Создайте фейковый сайт:
- Получите SSL-сертификаты:
- Настройте инбаунды:
- Включите подписки на порту 443:
- Настройте файрвол:
- Защитите панель:
# Обновите систему
apt update && apt upgrade -y
# Установите необходимые пакеты
apt install curl wget sudo ufw python3 python3-pip -y
# Установите Docker
curl -fsSL https://get.docker.com | sh
# Добавьте текущего пользователя в группу docker
usermod -aG docker $USER
# Запустите контейнер с панелью управления
docker run -d --name x-ui -p 54321:54321 -p 443:443 -p 80:80 -v $(pwd)/config:/www/x-ui/config ghcr.io/vaxilu/x-ui:latest
# Настройте конфигурацию Nginx
cat < /etc/nginx/sites-available/x-ui.conf
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://127.0.0.1:54321;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
}
location /fake-site {
root /var/www/fake-site;
}
}
EOF
ln -s /etc/nginx/sites-available/x-ui.conf /etc/nginx/sites-enabled/
nginx -t && systemctl restart nginx
# Создайте директорию для фейкового сайта
mkdir -p /var/www/fake-site
wget -O /var/www/fake-site/index.html https://example.com/static-site.html
# Установите Certbot
apt install certbot python3-certbot-nginx -y
# Получите SSL-сертификат
certbot --nginx -d your_domain.com
Добавьте два инбаунда: VLESS+REALITY и VLESS+WebSocket.
# Войдите в панель управления
http://your_domain.com:54321
# Создайте инбаунд VLESS+REALITY:
- Protocol: VLESS
- Transport: REALITY
- Port: 443
# Создайте инбаунд VLESS+WebSocket:
- Protocol: VLESS
- Transport: WebSocket
- Path: /ws
- Port: 443
В панели управления 3X-UI настройте подписки для использования порта 443.
# Включите UFW
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
Измените стандартные логин и пароль, включите двухфакторную аутентификацию и используйте прокси для доступа к панели.
Настройка Telegram-бота для 3X-UI
Для работы бота с 3X-UI необходимо выполнить следующие шаги:
- Скачайте файл бота:
- Установите зависимости:
- Настройте переменные окружения:
- Измените код бота:
- Защитите данные бота:
- Файл `.env`: Храните все секретные данные в файле `.env` и загружайте их через библиотеку `python-dotenv`.
- Ограничьте доступ к файлам: Установите права доступа к файлам `.env` и `bot.py`:
- Используйте прокси: Если возможно, запускайте бота через прокси или защищенный сервер. Скачать бота для 3X-UI
Нажмите кнопку "Скачать бота для 3X-UI" ниже.
# Активируйте виртуальное окружение
source venv/bin/activate
# Установите необходимые библиотеки
pip install python-telegram-bot yookassa qrcode[pil]
Создайте файл `.env` в корне проекта и добавьте следующие переменные:
BOT_TOKEN=YOUR_BOT_TOKEN
NEWS_CHANNEL_ID=@your_news_channel_id
SUPPORT_CHAT_ID=YOUR_SUPPORT_CHAT_ID
X_UI_API_URL=http://your_domain.com:54321/api
Откройте файл `3xui_bot.py` и замените заглушки на реальные значения:
# Константы
BOT_TOKEN = os.getenv("BOT_TOKEN") # Токен Telegram-бота
X_UI_API_URL = os.getenv("X_UI_API_URL") # URL API 3X-UI
# Функция создания пользователя через API 3X-UI
def create_user(username, password, data_limit, expiry):
payload = {
"username": username,
"password": password,
"data_limit": data_limit,
"expiry": expiry
}
response = requests.post(f"{X_UI_API_URL}/add_user", json=payload)
return response.json()
Чтобы защитить токен бота и другие секретные данные, используйте следующие меры:
# Ограничьте доступ к файлам
chmod 600 .env
chmod 600 bot.py
Установка и настройка Marzban с полной обвязкой
Эта инструкция поможет вам установить Marzban с реверс-прокси через Nginx, фейковым сайтом, SSL-сертификатами и защитой панели.
- Подготовьте сервер:
- Установите Marzban:
- Настройте конфигурацию:
- Запустите панель:
- Настройте Nginx для реверс-прокси:
- Создайте фейковый сайт:
- Получите SSL-сертификаты:
- Настройте инбаунды:
- Включите подписки на порту 443:
- Настройте файрвол:
- Защитите панель:
- Скачайте файл бота:
- Установите зависимости:
- Настройте переменные окружения:
- Измените код бота:
- Защитите данные бота:
- Файл `.env`: Храните все секретные данные в файле `.env` и загружайте их через библиотеку `python-dotenv`.
- Ограничьте доступ к файлам: Установите права доступа к файлам `.env` и `bot.py`:
- Используйте прокси: Если возможно, запускайте бота через прокси или защищенный сервер.
# Обновите систему
apt update && apt upgrade -y
# Установите необходимые пакеты
apt install curl wget sudo ufw python3 python3-pip -y
# Клонируйте репозиторий
git clone https://github.com/marcus-wolschon/marzban-docker.git
# Перейдите в директорию проекта
cd marzban-docker
Отредактируйте файл `config.yaml`:
# Пример базовой конфигурации
server:
domain: your_domain.com
port: 8080
database:
username: marzban
password: your_password
host: db
port: 5432
users:
default_quota: 10GB
default_expiration_days: 30
# Запустите Docker Compose
docker-compose up -d
# Настройте конфигурацию Nginx
cat < /etc/nginx/sites-available/marzban.conf
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
}
location /fake-site {
root /var/www/fake-site;
}
}
EOF
ln -s /etc/nginx/sites-available/marzban.conf /etc/nginx/sites-enabled/
nginx -t && systemctl restart nginx
# Создайте директорию для фейкового сайта
mkdir -p /var/www/fake-site
wget -O /var/www/fake-site/index.html https://example.com/static-site.html
# Установите Certbot
apt install certbot python3-certbot-nginx -y
# Получите SSL-сертификат
certbot --nginx -d your_domain.com
Добавьте два инбаунда: VLESS+REALITY и VLESS+WebSocket.
# Войдите в панель управления
http://your_domain.com:8080
# Создайте инбаунд VLESS+REALITY:
- Protocol: VLESS
- Transport: REALITY
- Port: 443
# Создайте инбаунд VLESS+WebSocket:
- Protocol: VLESS
- Transport: WebSocket
- Path: /ws
- Port: 443
В панели управления Marzban настройте подписки для использования порта 443.
# Включите UFW
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
Измените стандартные логин и пароль, включите двухфакторную аутентификацию и используйте Cloudflare для защиты.
Настройка Telegram-бота для Marzban
Для работы бота с Marzban необходимо выполнить следующие шаги:
Нажмите кнопку "Скачать бота для Marzban" ниже.
# Активируйте виртуальное окружение
source venv/bin/activate
# Установите необходимые библиотеки
pip install python-telegram-bot yookassa qrcode[pil] python-dotenv
Создайте файл `.env` в корне проекта и добавьте следующие переменные:
BOT_TOKEN=YOUR_BOT_TOKEN
NEWS_CHANNEL_ID=@your_news_channel_id
SUPPORT_CHAT_ID=YOUR_SUPPORT_CHAT_ID
MARZBAN_API_URL=http://your_domain.com/api/users
MARZBAN_API_KEY=YOUR_API_KEY
Откройте файл `marzban_bot.py` и замените заглушки на реальные значения:
# Константы
from dotenv import load_dotenv
load_dotenv()
BOT_TOKEN = os.getenv("BOT_TOKEN") # Токен Telegram-бота
MARZBAN_API_URL = os.getenv("MARZBAN_API_URL") # URL API Marzban
MARZBAN_API_KEY = os.getenv("MARZBAN_API_KEY") # API-ключ Marzban
# Функция создания пользователя через API Marzban
def create_user(username, password, data_limit, expiry):
payload = {
"username": username,
"password": password,
"data_limit": data_limit,
"expiry": expiry
}
headers = {"Authorization": f"Bearer {MARZBAN_API_KEY}"}
response = requests.post(MARZBAN_API_URL, json=payload, headers=headers)
return response.json()
Чтобы защитить токен бота и другие секретные данные, используйте следующие меры:
# Ограничьте доступ к файлам
chmod 600 .env
chmod 600 bot.py
Установка и настройка Hiddify с полной обвязкой
Эта инструкция поможет вам установить Hiddify с реверс-прокси через Nginx, фейковым сайтом, SSL-сертификатами и защитой панели.
- Подготовьте сервер:
- Установите Hiddify:
- Настройте Nginx для реверс-прокси:
- Создайте фейковый сайт:
- Получите SSL-сертификаты:
- Настройте инбаунды:
- Включите подписки на порту 443:
- Настройте файрвол:
- Защитите панель:
- Скачайте файл бота:
- Установите зависимости:
- Настройте переменные окружения:
- Измените код бота:
- Защитите данные бота:
- Файл `.env`: Храните все секретные данные в файле `.env` и загружайте их через библиотеку `python-dotenv`.
- Ограничьте доступ к файлам: Установите права доступа к файлам `.env` и `bot.py`:
- Используйте прокси: Если возможно, запускайте бота через прокси или защищенный сервер.
- Защитите API: Используйте HTTPS для всех запросов к API и ограничьте доступ к API только с определенных IP-адресов.
# Обновите систему
apt update && apt upgrade -y
# Установите необходимые пакеты
apt install curl wget sudo ufw python3 python3-pip -y
# Запустите автоматический установщик
curl -s https://hiddify.com/install.sh | bash
# Настройте конфигурацию Nginx
cat < /etc/nginx/sites-available/hiddify.conf
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
}
location /fake-site {
root /var/www/fake-site;
}
}
EOF
ln -s /etc/nginx/sites-available/hiddify.conf /etc/nginx/sites-enabled/
nginx -t && systemctl restart nginx
# Создайте директорию для фейкового сайта
mkdir -p /var/www/fake-site
wget -O /var/www/fake-site/index.html https://example.com/static-site.html
# Установите Certbot
apt install certbot python3-certbot-nginx -y
# Получите SSL-сертификат
certbot --nginx -d your_domain.com
Добавьте два инбаунда: VLESS+REALITY и VLESS+WebSocket.
# Войдите в панель управления
https://your_domain.com
# Создайте инбаунд VLESS+REALITY:
- Protocol: VLESS
- Transport: REALITY
- Port: 443
# Создайте инбаунд VLESS+WebSocket:
- Protocol: VLESS
- Transport: WebSocket
- Path: /ws
- Port: 443
В панели управления Hiddify настройте подписки для использования порта 443.
# Включите UFW
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
Измените стандартные логин и пароль, включите двухфакторную аутентификацию и используйте Cloudflare для защиты.
Настройка Telegram-бота для Hiddify
Для работы бота с Hiddify необходимо выполнить следующие шаги:
Нажмите кнопку "Скачать бота для Hiddify" ниже.
# Активируйте виртуальное окружение
source venv/bin/activate
# Установите необходимые библиотеки
pip install python-telegram-bot yookassa qrcode[pil] python-dotenv
Создайте файл `.env` в корне проекта и добавьте следующие переменные:
BOT_TOKEN=YOUR_BOT_TOKEN
NEWS_CHANNEL_ID=@your_news_channel_id
SUPPORT_CHAT_ID=YOUR_SUPPORT_CHAT_ID
HIDDIFY_API_URL=https://your_domain.com/admin/api
HIDDIFY_ADMIN_PASSWORD=YOUR_ADMIN_PASSWORD
Откройте файл `hiddify_bot.py` и замените заглушки на реальные значения:
# Константы
from dotenv import load_dotenv
load_dotenv()
BOT_TOKEN = os.getenv("BOT_TOKEN") # Токен Telegram-бота
HIDDIFY_API_URL = os.getenv("HIDDIFY_API_URL") # URL API Hiddify
HIDDIFY_ADMIN_PASSWORD = os.getenv("HIDDIFY_ADMIN_PASSWORD") # Пароль администратора Hiddify
# Функция создания пользователя через API Hiddify
def create_user(username, data_limit, expire_in):
payload = {
"username": username,
"data_limit": data_limit,
"expire_in": expire_in
}
response = requests.post(HIDDIFY_API_URL, auth=("admin", HIDDIFY_ADMIN_PASSWORD), data=payload)
return response.json()
Чтобы защитить токен бота и другие секретные данные, используйте следующие меры:
# Ограничьте доступ к файлам
chmod 600 .env
chmod 600 bot.py