Админ
Администратор
- Регистрация
- 24.02.18
- Сообщения
- 1.540
- Реакции
- 443
# Полная инструкция установки Xray и Hysteria2 на Ubuntu
## Часть 1: Установка Xray (VLESS Reality TCP + Yandex SNI)
### 1. Обновление системы
```bash
sudo apt update && sudo apt upgrade -y
```
### 2. Установка Xray
```bash
# Скачивание Xray
bash <(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)
# Проверка версии
xray version
```
### 3. Генерация ключей Reality
```bash
# Генерация X25519 ключей
xray x25519
# Сохраните вывод:
# Private key: (сохраните как PRIVATE_KEY)
# Public key: (сохраните как PUBLIC_KEY)
# Генерация UUID
uuidgen
# Сохраните вывод как UUID
# Генерация ShortId (16 символов в hex)
openssl rand -hex 8
# Сохраните вывод как SHORT_ID
```
### 4. Создание конфигурации Xray
```bash
sudo nano /usr/local/etc/xray/config.json
```
Вставьте следующую конфигурацию (замените значения на свои):
```json
{
"log": {
"loglevel": "warning"
},
"dns": {
"servers": [
"8.8.8.8",
"1.1.1.1"
]
},
"inbounds": [
{
"protocol": "vless",
"tag": "inbound-reality-yandex",
"listen": "0.0.0.0",
"port": 443,
"allocate": {
"strategy": "always",
"concurrency": 3,
"refresh": 5
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic",
"fakedns"
],
"metadataOnly": false,
"routeOnly": false
},
"settings": {
"clients": [
{
"id": "ВАШ_UUID",
"flow": ""
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"tcpSettings": {
"acceptProxyProtocol": false,
"header": {
"type": "none"
}
},
"realitySettings": {
"dest": "video.yandex.ru:443",
"serverNames": [
"video.yandex.ru",
"disk.yandex.ru",
"market.yandex.com"
],
"xver": 0,
"privateKey": "ВАШ_PRIVATE_KEY",
"shortIds": [
"ВАШ_SHORT_ID"
],
"fingerprint": "chrome"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "DIRECT"
},
{
"protocol": "blackhole",
"tag": "BLOCK"
}
],
"routing": {
"rules": [
{
"ip": [
"geoip
rivate"
],
"outboundTag": "BLOCK",
"type": "field"
},
{
"outboundTag": "BLOCK",
"protocol": [
"bittorrent"
],
"type": "field"
}
]
}
}
```
### 5. Проверка и запуск Xray
```bash
# Проверка конфигурации
sudo xray -test -config /usr/local/etc/xray/config.json
# Запуск Xray
sudo systemctl start xray
# Автозапуск при загрузке
sudo systemctl enable xray
# Проверка статуса
sudo systemctl status xray
```
### 6. Настройка Firewall
```bash
# Разрешение порта 443
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
# Разрешение SSH
sudo ufw allow 22/tcp
# Включение firewall
sudo ufw enable
# Проверка статуса
sudo ufw status
```
### 7. Создание ссылки для клиента Xray
```
vless://ВАШ_UUID@ВАШ_IP:443?encryption=none&flow=&security=reality&sni=video.yandex.ru&fp=chrome&pbk=ВАШ_PUBLIC_KEY&sid=ВАШ_SHORT_ID&type=tcp#Reality-Yandex
```
Пример:
```
vless://b4baf1a5-228e-4259-9e1e-739ddbf6d771@144.124.226.190:443?encryption=none&flow=&security=reality&sni=video.yandex.ru&fp=chrome&pbk=koOc3tS5o1vsA0XnwZL7uL10KJ3c45Yvef4fV1RM9Qw&sid=575bd167828d2202&type=tcp#Reality-Yandex
```
---
## Часть 2: Установка Hysteria2
### 1. Установка Hysteria2
```bash
# Скачивание последней версии Hysteria2
wget https://github.com/apernet/hysteria2/releases/latest/download/hysteria2-linux-amd64 -O hysteria2
# Перемещение в /usr/local/bin
sudo mv hysteria2 /usr/local/bin/
# Добавление прав на выполнение
sudo chmod +x /usr/local/bin/hysteria2
# Проверка версии
hysteria2 version
```
### 2. Создание конфигурации Hysteria2
```bash
sudo mkdir -p /etc/hysteria
sudo nano /etc/hysteria/config.yaml
```
Вставьте следующую конфигурацию:
```yaml
listen: :8444
# ACME для TLS сертификатов (опционально, если есть домен)
acme:
domains:
- ваш-домен.com
email: ваш-email@example.com
# Аутентификация
auth:
type: password
password: "Ваш_Сложный_Пароль"
# Masquerade (замаскировка под обычный сайт)
masquerade:
type: file
file:
dir: /usr/share/hysteria/masquerade
# DNS серверы
dns:
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
```
### 3. Создание systemd service
```bash
sudo nano /etc/systemd/system/hysteria2.service
```
Вставьте следующее:
```ini
[Unit]
Description=Hysteria2 Service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/hysteria2 server -c /etc/hysteria/config.yaml
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
```
### 4. Запуск Hysteria2
```bash
# Перезагрузка systemd
sudo systemctl daemon-reload
# Запуск Hysteria2
sudo systemctl start hysteria2
# Автозапуск при загрузке
sudo systemctl enable hysteria2
# Проверка статуса
sudo systemctl status hysteria2
```
### 5. Настройка Firewall для Hysteria2
```bash
# Разрешение порта 8444 (UDP)
sudo ufw allow 8444/udp
```
### 6. Создание ссылки для клиента Hysteria2
```
hysteria2://Ваш_Пароль@ВАШ_IP:8444/?sni=ваш-домен.com&insecure=1#Hysteria2
```
Пример (без домена, с insecure=1):
```
hysteria2://StrongPassword123!@144.124.226.190:8444/?insecure=1#Hysteria2
```
---
## Часть 3: Проверка работоспособности
### 1. Проверка открытых портов
```bash
sudo netstat -tulpn | grep LISTEN
```
Должны видеть:
- 0.0.0.0:443 (Xray)
- 0.0.0.0:8444 (Hysteria2)
### 2. Проверка статуса сервисов
```bash
sudo systemctl status xray
sudo systemctl status hysteria2
```
### 3. Проверка логов
```bash
# Логи Xray
sudo journalctl -u xray -f
# Логи Hysteria2
sudo journalctl -u hysteria2 -f
```
### 4. Проверка конфигураций
```bash
# Проверка Xray
sudo xray -test -config /usr/local/etc/xray/config.json
# Проверка Hysteria2
hysteria2 server -c /etc/hysteria/config.yaml --test
```
---
## Часть 4: Использование ссылок в клиентах
### Для Xray (VLESS Reality):
1. Скачайте клиент Xray (v2rayN для Windows, v2rayNG для Android, Shadowrocket для iOS)
2. Импортируйте ссылку через QR код или вручную
3. Подключитесь
### Для Hysteria2:
1. Скачайте клиент Hysteria2 (Hysteria2 для Windows/Android/iOS)
2. Импортируйте ссылку
3. Подключитесь
---
## Часть 5: Решение проблем
### Xray не запускается:
```bash
# Проверка конфигурации
sudo xray -test -config /usr/local/etc/xray/config.json
# Просмотр логов
sudo journalctl -u xray -n 50
```
### Hysteria2 не запускается:
```bash
# Проверка конфигурации
hysteria2 server -c /etc/hysteria/config.yaml --test
# Просмотр логов
sudo journalctl -u hysteria2 -n 50
```
### Порт занят:
```bash
# Поиск процесса на порту
sudo lsof -i :443
sudo lsof -i :8444
# Убить процесс если нужно
sudo kill -9 PID
```
---
## Итоговые значения для замены
В конфигурации Xray замените:
- `ВАШ_UUID` - сгенерированный UUID
- `ВАШ_PRIVATE_KEY` - сгенерированный Private Key
- `ВАШ_PUBLIC_KEY` - сгенерированный Public Key (для ссылки клиента)
- `ВАШ_SHORT_ID` - сгенерированный Short ID
- `ВАШ_IP` - IP адрес вашего сервера
В конфигурации Hysteria2 замените:
- `Ваш_Сложный_Пароль` - ваш пароль для подключения
- `ваш-домен.com` - ваш домен (если есть)
- `ВАШ_IP` - IP адрес вашего сервера
---
## Полная проверка после установки
```bash
# Статус Xray
sudo systemctl status xray --no-pager -l
# Статус Hysteria2
sudo systemctl status hysteria2 --no-pager -l
# Открытые порты
sudo netstat -tulpn | grep LISTEN
# Firewall
sudo ufw status
# Логи Xray
sudo journalctl -u xray -n 20 --no-pager
# Логи Hysteria2
sudo journalctl -u hysteria2 -n 20 --no-pager
```
## Часть 1: Установка Xray (VLESS Reality TCP + Yandex SNI)
### 1. Обновление системы
```bash
sudo apt update && sudo apt upgrade -y
```
### 2. Установка Xray
```bash
# Скачивание Xray
bash <(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)
# Проверка версии
xray version
```
### 3. Генерация ключей Reality
```bash
# Генерация X25519 ключей
xray x25519
# Сохраните вывод:
# Private key: (сохраните как PRIVATE_KEY)
# Public key: (сохраните как PUBLIC_KEY)
# Генерация UUID
uuidgen
# Сохраните вывод как UUID
# Генерация ShortId (16 символов в hex)
openssl rand -hex 8
# Сохраните вывод как SHORT_ID
```
### 4. Создание конфигурации Xray
```bash
sudo nano /usr/local/etc/xray/config.json
```
Вставьте следующую конфигурацию (замените значения на свои):
```json
{
"log": {
"loglevel": "warning"
},
"dns": {
"servers": [
"8.8.8.8",
"1.1.1.1"
]
},
"inbounds": [
{
"protocol": "vless",
"tag": "inbound-reality-yandex",
"listen": "0.0.0.0",
"port": 443,
"allocate": {
"strategy": "always",
"concurrency": 3,
"refresh": 5
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic",
"fakedns"
],
"metadataOnly": false,
"routeOnly": false
},
"settings": {
"clients": [
{
"id": "ВАШ_UUID",
"flow": ""
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"tcpSettings": {
"acceptProxyProtocol": false,
"header": {
"type": "none"
}
},
"realitySettings": {
"dest": "video.yandex.ru:443",
"serverNames": [
"video.yandex.ru",
"disk.yandex.ru",
"market.yandex.com"
],
"xver": 0,
"privateKey": "ВАШ_PRIVATE_KEY",
"shortIds": [
"ВАШ_SHORT_ID"
],
"fingerprint": "chrome"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "DIRECT"
},
{
"protocol": "blackhole",
"tag": "BLOCK"
}
],
"routing": {
"rules": [
{
"ip": [
"geoip
],
"outboundTag": "BLOCK",
"type": "field"
},
{
"outboundTag": "BLOCK",
"protocol": [
"bittorrent"
],
"type": "field"
}
]
}
}
```
### 5. Проверка и запуск Xray
```bash
# Проверка конфигурации
sudo xray -test -config /usr/local/etc/xray/config.json
# Запуск Xray
sudo systemctl start xray
# Автозапуск при загрузке
sudo systemctl enable xray
# Проверка статуса
sudo systemctl status xray
```
### 6. Настройка Firewall
```bash
# Разрешение порта 443
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
# Разрешение SSH
sudo ufw allow 22/tcp
# Включение firewall
sudo ufw enable
# Проверка статуса
sudo ufw status
```
### 7. Создание ссылки для клиента Xray
```
vless://ВАШ_UUID@ВАШ_IP:443?encryption=none&flow=&security=reality&sni=video.yandex.ru&fp=chrome&pbk=ВАШ_PUBLIC_KEY&sid=ВАШ_SHORT_ID&type=tcp#Reality-Yandex
```
Пример:
```
vless://b4baf1a5-228e-4259-9e1e-739ddbf6d771@144.124.226.190:443?encryption=none&flow=&security=reality&sni=video.yandex.ru&fp=chrome&pbk=koOc3tS5o1vsA0XnwZL7uL10KJ3c45Yvef4fV1RM9Qw&sid=575bd167828d2202&type=tcp#Reality-Yandex
```
---
## Часть 2: Установка Hysteria2
### 1. Установка Hysteria2
```bash
# Скачивание последней версии Hysteria2
wget https://github.com/apernet/hysteria2/releases/latest/download/hysteria2-linux-amd64 -O hysteria2
# Перемещение в /usr/local/bin
sudo mv hysteria2 /usr/local/bin/
# Добавление прав на выполнение
sudo chmod +x /usr/local/bin/hysteria2
# Проверка версии
hysteria2 version
```
### 2. Создание конфигурации Hysteria2
```bash
sudo mkdir -p /etc/hysteria
sudo nano /etc/hysteria/config.yaml
```
Вставьте следующую конфигурацию:
```yaml
listen: :8444
# ACME для TLS сертификатов (опционально, если есть домен)
acme:
domains:
- ваш-домен.com
email: ваш-email@example.com
# Аутентификация
auth:
type: password
password: "Ваш_Сложный_Пароль"
# Masquerade (замаскировка под обычный сайт)
masquerade:
type: file
file:
dir: /usr/share/hysteria/masquerade
# DNS серверы
dns:
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
```
### 3. Создание systemd service
```bash
sudo nano /etc/systemd/system/hysteria2.service
```
Вставьте следующее:
```ini
[Unit]
Description=Hysteria2 Service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/hysteria2 server -c /etc/hysteria/config.yaml
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
```
### 4. Запуск Hysteria2
```bash
# Перезагрузка systemd
sudo systemctl daemon-reload
# Запуск Hysteria2
sudo systemctl start hysteria2
# Автозапуск при загрузке
sudo systemctl enable hysteria2
# Проверка статуса
sudo systemctl status hysteria2
```
### 5. Настройка Firewall для Hysteria2
```bash
# Разрешение порта 8444 (UDP)
sudo ufw allow 8444/udp
```
### 6. Создание ссылки для клиента Hysteria2
```
hysteria2://Ваш_Пароль@ВАШ_IP:8444/?sni=ваш-домен.com&insecure=1#Hysteria2
```
Пример (без домена, с insecure=1):
```
hysteria2://StrongPassword123!@144.124.226.190:8444/?insecure=1#Hysteria2
```
---
## Часть 3: Проверка работоспособности
### 1. Проверка открытых портов
```bash
sudo netstat -tulpn | grep LISTEN
```
Должны видеть:
- 0.0.0.0:443 (Xray)
- 0.0.0.0:8444 (Hysteria2)
### 2. Проверка статуса сервисов
```bash
sudo systemctl status xray
sudo systemctl status hysteria2
```
### 3. Проверка логов
```bash
# Логи Xray
sudo journalctl -u xray -f
# Логи Hysteria2
sudo journalctl -u hysteria2 -f
```
### 4. Проверка конфигураций
```bash
# Проверка Xray
sudo xray -test -config /usr/local/etc/xray/config.json
# Проверка Hysteria2
hysteria2 server -c /etc/hysteria/config.yaml --test
```
---
## Часть 4: Использование ссылок в клиентах
### Для Xray (VLESS Reality):
1. Скачайте клиент Xray (v2rayN для Windows, v2rayNG для Android, Shadowrocket для iOS)
2. Импортируйте ссылку через QR код или вручную
3. Подключитесь
### Для Hysteria2:
1. Скачайте клиент Hysteria2 (Hysteria2 для Windows/Android/iOS)
2. Импортируйте ссылку
3. Подключитесь
---
## Часть 5: Решение проблем
### Xray не запускается:
```bash
# Проверка конфигурации
sudo xray -test -config /usr/local/etc/xray/config.json
# Просмотр логов
sudo journalctl -u xray -n 50
```
### Hysteria2 не запускается:
```bash
# Проверка конфигурации
hysteria2 server -c /etc/hysteria/config.yaml --test
# Просмотр логов
sudo journalctl -u hysteria2 -n 50
```
### Порт занят:
```bash
# Поиск процесса на порту
sudo lsof -i :443
sudo lsof -i :8444
# Убить процесс если нужно
sudo kill -9 PID
```
---
## Итоговые значения для замены
В конфигурации Xray замените:
- `ВАШ_UUID` - сгенерированный UUID
- `ВАШ_PRIVATE_KEY` - сгенерированный Private Key
- `ВАШ_PUBLIC_KEY` - сгенерированный Public Key (для ссылки клиента)
- `ВАШ_SHORT_ID` - сгенерированный Short ID
- `ВАШ_IP` - IP адрес вашего сервера
В конфигурации Hysteria2 замените:
- `Ваш_Сложный_Пароль` - ваш пароль для подключения
- `ваш-домен.com` - ваш домен (если есть)
- `ВАШ_IP` - IP адрес вашего сервера
---
## Полная проверка после установки
```bash
# Статус Xray
sudo systemctl status xray --no-pager -l
# Статус Hysteria2
sudo systemctl status hysteria2 --no-pager -l
# Открытые порты
sudo netstat -tulpn | grep LISTEN
# Firewall
sudo ufw status
# Логи Xray
sudo journalctl -u xray -n 20 --no-pager
# Логи Hysteria2
sudo journalctl -u hysteria2 -n 20 --no-pager
```
