hysteria 2

Download the latest version of the modification

hysteria 2

1. Подготовка и установка Certbot
Создаем рабочую директорию и конфигурационный файл для контейнера Certbot.

mkdir -p /opt/certbot && cd /opt/certbot && nano docker-compose.yml

Вставьте следующее содержимое:

services:
  certbot:
    container_name: certbot
    image: certbot/certbot
    network_mode: host
    volumes:
      - ./certs:/etc/letsencrypt

2. Первичное получение сертификата
Перед запуском убедитесь, что порт 80 свободен. Certbot в режиме --standalone поднимет временный сервер для проверки владения доменом.
Замените your-domain.com и admin@your-domain.com на ваши данные:

docker run --rm \
  -v $(pwd)/certs:/etc/letsencrypt \
  -v $(pwd)/var-lib-letsencrypt:/var/lib/letsencrypt \
  --network host \
  certbot/certbot certonly --standalone \
  --non-interactive --agree-tos \
  --email admin@your-domain.com \
  -d your-domain.com

3. Проброс сертификатов в Remnawave
Чтобы нода увидела файлы, нужно подключить папку с сертификатами как Volume.

cd /opt/remnanode/ && nano docker-compose.yml

Добавьте строку с сертификатами в секцию volumes (режим :ro — только чтение):

services:
  remnanode:
    ...
    volumes:
      - '/opt/certbot/certs:/etc/letsencrypt:ro'

Перезапустите ноду:

docker compose down && docker compose up -d

4. Настройка профиля Hysteria2 в панели
При создании или редактировании профиля в Remnawave используйте следующий JSON. Обратите внимание на пути к файлам — они указывают на внутренние папки контейнера, которые мы пробросили выше.
Важно: замените your-domain.com на ваш реальный домен в путях.

{
  "log": { "loglevel": "none" },
  "inbounds": [
    {
      "tag": "HYSTERIA-BBR",
      "port": 443,
      "listen": "0.0.0.0",
      "protocol": "hysteria",
      "settings": {
        "clients": [],
        "version": 2
      },
      "streamSettings": {
        "network": "hysteria",
        "security": "tls",
        "finalmask": {
          "quicParams": { "debug": false, "congestion": "bbr" }
        },
        "tlsSettings": {
          "alpn": ["h3"],
          "certificates": [
            {
              "keyFile": "/etc/letsencrypt/live/your-domain.com/privkey.pem",
              "certificateFile": "/etc/letsencrypt/live/your-domain.com/fullchain.pem"
            }
          ]
        },
        "hysteriaSettings": { "version": 2 }
      }
    }
  ],
  "outbounds": [
    { "tag": "DIRECT", "protocol": "freedom" },
    { "tag": "BLOCK", "protocol": "blackhole" }
  ],
  "routing": {
    "rules": [
      { "ip": ["geoip:private"], "outboundTag": "BLOCK" },
      { "domain": ["geosite:private"], "outboundTag": "BLOCK" },
      { "protocol": ["bittorrent"], "outboundTag": "BLOCK" }
    ]
  }
}

5. Автоматическое обновление (Cron)
Сертификаты LetsEncrypt живут 90 дней. Настроим обновление раз в месяц (28-го числа).
* Откройте планировщик: crontab -e
* Выберите редактор (обычно 1 для nano).
* Добавьте строку в конец файла:

0 0 28 * * cd /opt/certbot && docker compose run --rm certbot renew

Download Files

Downloads

No comments yet.

Добавить комментарий
или
регистрация Я забыл свой пароль
Оцените работу движка
Статистика