<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Nurullaev Elnur</title><author><name>Nurullaev Elnur</name></author><id>https://teletype.in/atom/nurullaev</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/nurullaev?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@nurullaev?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=nurullaev"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/nurullaev?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-04T07:28:52.329Z</updated><entry><id>nurullaev:emC9MH3-3AT</id><link rel="alternate" type="text/html" href="https://teletype.in/@nurullaev/emC9MH3-3AT?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=nurullaev"></link><title>Установка Tbloсker Solobot</title><published>2025-08-28T12:48:55.903Z</published><updated>2025-08-28T13:44:00.247Z</updated><summary type="html">1. Настройка Ноды (действие выполнять на каждой ноде)</summary><content type="html">
  &lt;p id=&quot;hNM6&quot;&gt;1. Настройка Ноды (действие выполнять на каждой ноде)&lt;/p&gt;
  &lt;p id=&quot;yodT&quot;&gt;переходим в папку &lt;code&gt;cd /opt/remnanode&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;RnAA&quot;&gt;открываем файл &lt;code&gt;nano docker-compose.yml&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;qa7X&quot;&gt;в самый конец добавляем &lt;/p&gt;
  &lt;p id=&quot;fSD8&quot;&gt;&lt;code&gt;volumes:&lt;br /&gt; - &amp;#x27;/var/log/remnanode:/var/log/remnanode&amp;#x27;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;2pNZ&quot;&gt;Должно получиться так.&lt;/p&gt;
  &lt;p id=&quot;Hcyf&quot;&gt;&lt;code&gt;services:&lt;br /&gt;    remnanode:&lt;br /&gt;        container_name: remnanode&lt;br /&gt;        hostname: remnanode&lt;br /&gt;        image: remnawave/node:latest&lt;br /&gt;        restart: always&lt;br /&gt;        network_mode: host&lt;br /&gt;        env_file:&lt;br /&gt;            - .env&lt;br /&gt;        volumes:&lt;br /&gt;            - &amp;#x27;/var/log/remnanode:/var/log/remnanode&amp;#x27;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;3bMO&quot;&gt;сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ljOx&quot;&gt;создаем папку для хранения логов&lt;/p&gt;
  &lt;p id=&quot;1SMc&quot;&gt;&lt;code&gt;mkdir -p /var/log/remnanode&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;T6uL&quot;&gt;устанавливаем ротатор логов&lt;/p&gt;
  &lt;p id=&quot;GkvF&quot;&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install logrotate&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;5eXB&quot;&gt;создаем файл конфигурации&lt;/p&gt;
  &lt;p id=&quot;I2zc&quot;&gt;&lt;code&gt;nano /etc/logrotate.d/remnanode&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;50iA&quot;&gt;вставляем данные в файл&lt;/p&gt;
  &lt;p id=&quot;RxAb&quot;&gt;&lt;code&gt;/var/log/remnanode/*.log {&lt;br /&gt;      size 50M&lt;br /&gt;      rotate 5&lt;br /&gt;      compress&lt;br /&gt;      missingok&lt;br /&gt;      notifempty&lt;br /&gt;      copytruncate&lt;br /&gt;  }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;FXVo&quot;&gt;сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;dF3N&quot;&gt;запускаем ротатор логов&lt;/p&gt;
  &lt;p id=&quot;wrrO&quot;&gt;&lt;code&gt;logrotate -vf /etc/logrotate.d/remnanode&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;qsTS&quot;&gt;переходим в паку ноды &lt;code&gt;cd /opt/remnanode&lt;/code&gt; и перезапускаем контейнер&lt;/p&gt;
  &lt;p id=&quot;eDc8&quot;&gt;&lt;code&gt;docker compose down &amp;amp;&amp;amp; docker compose up -d &amp;amp;&amp;amp; docker compose logs -f&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;AhUL&quot;&gt;2.Настройка конфигурации xray&lt;/p&gt;
  &lt;p id=&quot;SGOI&quot;&gt;Переходим в панель remnawave в открываем профили (конфиг xray) и меняем пункт с логами на это&lt;/p&gt;
  &lt;p id=&quot;akvF&quot;&gt;&lt;code&gt;  &amp;quot;log&amp;quot;: {&lt;br /&gt;      &amp;quot;error&amp;quot;: &amp;quot;/var/log/remnanode/error.log&amp;quot;,&lt;br /&gt;      &amp;quot;access&amp;quot;: &amp;quot;/var/log/remnanode/access.log&amp;quot;,&lt;br /&gt;      &amp;quot;loglevel&amp;quot;: &amp;quot;warning&amp;quot;&lt;br /&gt;  }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;MXSY&quot;&gt;В &amp;quot;outbounds&amp;quot; добавляем &lt;/p&gt;
  &lt;p id=&quot;usHu&quot;&gt;&lt;code&gt;{&lt;br /&gt;  &amp;quot;tag&amp;quot;: &amp;quot;TORRENT&amp;quot;,&lt;br /&gt;  &amp;quot;protocol&amp;quot;: &amp;quot;blackhole&amp;quot;&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Z76P&quot;&gt;в &amp;quot;routing&amp;quot; добавляем&lt;/p&gt;
  &lt;p id=&quot;fN88&quot;&gt;&lt;code&gt;{&lt;br /&gt;    &amp;quot;type&amp;quot;: &amp;quot;field&amp;quot;,&lt;br /&gt;    &amp;quot;protocol&amp;quot;: [&lt;br /&gt;      &amp;quot;bittorrent&amp;quot;&lt;br /&gt;    ],&lt;br /&gt;    &amp;quot;outboundTag&amp;quot;: &amp;quot;TORRENT&amp;quot;&lt;br /&gt;  }&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;SyqK&quot;&gt;нажимаем &lt;strong&gt;форматировать&lt;/strong&gt; и &lt;strong&gt;сохранить&lt;/strong&gt; конфиг&lt;/p&gt;
  &lt;p id=&quot;a96k&quot;&gt;3.Установка Tblocker&lt;/p&gt;
  &lt;p id=&quot;upL2&quot;&gt;на сервере ноды&lt;/p&gt;
  &lt;p id=&quot;KCUv&quot;&gt;Если до этого был установлен старый tblocker вводим команду&lt;/p&gt;
  &lt;p id=&quot;oTRB&quot;&gt;&lt;code&gt;apt remove tblocker &lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;qoCz&quot;&gt;далее запускаем команду&lt;/p&gt;
  &lt;p id=&quot;M6ep&quot;&gt;&lt;code&gt;bash &amp;lt;(curl -fsSL git.new/install)&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;h2Y3&quot;&gt;во время установки запросит адрес логов, вводим&lt;/p&gt;
  &lt;p id=&quot;YUac&quot;&gt;&lt;code&gt;/var/log/remnanode/access.log&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;SqT7&quot;&gt;после выбираем цифру &amp;quot;1&amp;quot; -iptables&lt;/p&gt;
  &lt;p id=&quot;yKNQ&quot;&gt;установка завершена. открываем конфиг файл блокера&lt;/p&gt;
  &lt;p id=&quot;0yn1&quot;&gt;&lt;code&gt;nano /opt/tblocker/config.yaml&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;j6Lh&quot;&gt;в файле должно быть вот так ( прописываем домен бота и при необходимости меняет срок блокировки)&lt;/p&gt;
  &lt;p id=&quot;Vw0d&quot;&gt;&lt;code&gt;LogFile: &amp;quot;/var/log/remnanode/access.log&amp;quot;&lt;br /&gt;BlockDuration: 30&lt;br /&gt;TorrentTag: &amp;quot;TORRENT&amp;quot;&lt;br /&gt;BlockMode: &amp;quot;iptables&amp;quot;&lt;br /&gt;BypassIPS:&lt;br /&gt;  - &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;  - &amp;quot;::1&amp;quot;&lt;br /&gt;StorageDir: &amp;quot;/opt/tblocker&amp;quot;&lt;br /&gt;UsernameRegex: &amp;quot;email: (\\S+)&amp;quot;&lt;br /&gt;SendWebhook: true&lt;br /&gt;WebhookURL: &amp;quot;https://ДоменБота/tblocker/webhook&amp;quot;&lt;br /&gt;WebhookTemplate: &amp;#x27;{&amp;quot;username&amp;quot;:&amp;quot;%s&amp;quot;,&amp;quot;ip&amp;quot;:&amp;quot;%s&amp;quot;,&amp;quot;server&amp;quot;:&amp;quot;%s&amp;quot;,&amp;quot;action&amp;quot;:&amp;quot;%s&amp;quot;,&amp;quot;duration&amp;quot;:%d,&amp;quot;timestamp&amp;quot;:&amp;quot;%s&amp;quot;}&amp;#x27;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;cRMq&quot;&gt;сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;pouk&quot;&gt;Перезапускаем Тблокер&lt;/p&gt;
  &lt;p id=&quot;M3hV&quot;&gt;&lt;code&gt;systemctl stop tblocker&lt;br /&gt;systemctl start tblocker&lt;br /&gt;systemctl status tblocker&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;GABW&quot;&gt;4.Установка модуля tBlocker для Solobot&lt;/p&gt;
  &lt;p id=&quot;qKgF&quot;&gt;скачиваем модуль из личного кабинета&lt;/p&gt;
  &lt;p id=&quot;jmUz&quot;&gt;вносим корректировки в файл setting&lt;/p&gt;
  &lt;p id=&quot;b50r&quot;&gt;впишите хостнеймы по всем своим нодам где установлен tblocker&lt;/p&gt;
  &lt;p id=&quot;aKd9&quot;&gt;&lt;code&gt;SERVER_COUNTRIES = {&lt;br /&gt;    &amp;quot;hostname&amp;quot;: &amp;quot;🇷🇺 Россия&amp;quot;,&lt;br /&gt;    &amp;quot;hostname&amp;quot;: &amp;quot;🇫🇷 Франция&amp;quot;,&lt;br /&gt;    &amp;quot;hostname&amp;quot;: &amp;quot;🇩🇪 Германия&amp;quot;,&lt;br /&gt;    &amp;quot;hostname&amp;quot;: &amp;quot;🇺🇸 США&amp;quot;&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;AQwL&quot;&gt;Настройте уведомления, сохраните и закройте файл.&lt;/p&gt;
  &lt;p id=&quot;Qmym&quot;&gt;Загрузите папку в modules папки солобот.&lt;br /&gt;Перезапустите бота&lt;/p&gt;

</content></entry><entry><id>nurullaev:tkkRRmJEzdf</id><link rel="alternate" type="text/html" href="https://teletype.in/@nurullaev/tkkRRmJEzdf?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=nurullaev"></link><title>Установка  Remnawave</title><published>2025-04-15T18:16:00.518Z</published><updated>2025-07-02T19:35:22.763Z</updated><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/5b/ab/5bab0d21-59d2-4127-bf83-7663ac6da673.png&quot;&gt;Установка Remnawave состоит из нескольких частей :</summary><content type="html">
  &lt;p id=&quot;6yhe&quot;&gt;Установка Remnawave состоит из нескольких частей :&lt;/p&gt;
  &lt;ul id=&quot;HFSP&quot;&gt;
    &lt;li id=&quot;1a3a&quot;&gt;Основная панель (aka backend)&lt;/li&gt;
    &lt;li id=&quot;0yYC&quot;&gt;Нода (aka Node )&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;KnOY&quot;&gt;Минимальные требования для Backend: &lt;a href=&quot;https://timeweb.cloud/r/zt55728&quot; target=&quot;_blank&quot;&gt;Timeweb&lt;/a&gt; - 550 р в месяц (1/2)&lt;/p&gt;
  &lt;ul id=&quot;gMLA&quot;&gt;
    &lt;li id=&quot;Ob1V&quot;&gt;2GB of RAM&lt;/li&gt;
    &lt;li id=&quot;avTl&quot;&gt;2 CPU cores&lt;/li&gt;
    &lt;li id=&quot;5a6V&quot;&gt;Docker Engine&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;Qnm3&quot;&gt;Минимальные требования для Node: &lt;a href=&quot;https://cp.inferno.name/aff.php?aff=4990&quot; target=&quot;_blank&quot;&gt;Inferno&lt;/a&gt;&lt;/p&gt;
  &lt;ul id=&quot;pGvY&quot;&gt;
    &lt;li id=&quot;P57S&quot;&gt;1GB of RAM&lt;/li&gt;
    &lt;li id=&quot;fCHD&quot;&gt;1 CPU core&lt;/li&gt;
    &lt;li id=&quot;tPyq&quot;&gt;Docker Engine&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;elnI&quot;&gt;&lt;strong&gt;Важно про настройку DNS:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;Y1jE&quot;&gt;
    &lt;li id=&quot;OqSX&quot;&gt;Домены &lt;strong&gt;panel.domen.com, subs.domen.com&lt;/strong&gt; должны указывать на IP-адрес сервера с панелью&lt;/li&gt;
    &lt;li id=&quot;ubyd&quot;&gt;Домен &lt;strong&gt;steel.domen.com &lt;/strong&gt;для сайта-заглушки Self Steal должен указывать на IP-адрес сервера с нодой&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;Iw9A&quot;&gt;&lt;strong&gt;1. Установка Основная панель&lt;/strong&gt;&lt;/h3&gt;
  &lt;ul id=&quot;jFt5&quot;&gt;
    &lt;li id=&quot;zR3r&quot;&gt;Устанавливаем docker.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;2pMP&quot;&gt;sudo curl -fsSL https://get.docker.com | sh&lt;/pre&gt;
  &lt;ul id=&quot;N8jK&quot;&gt;
    &lt;li id=&quot;liMT&quot;&gt;Создаем папку и переходим в нее.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;zh5u&quot;&gt;mkdir /opt/remnawave &amp;amp;&amp;amp; cd /opt/remnawave&lt;/pre&gt;
  &lt;ul id=&quot;SxQT&quot;&gt;
    &lt;li id=&quot;VocY&quot;&gt;Загружаем файл конфигурации env.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;BoBr&quot;&gt;curl -o .env https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/.env.sample&lt;/pre&gt;
  &lt;ul id=&quot;POF8&quot;&gt;
    &lt;li id=&quot;HDeS&quot;&gt;Настраиваем переменные.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;zp5o&quot;&gt;nano .env&lt;/pre&gt;
  &lt;p id=&quot;iaCv&quot;&gt;Важные пункты в env :&lt;/p&gt;
  &lt;p id=&quot;FioC&quot;&gt;FRONT_END_DOMAIN=panel.domen.com указываем адрес панели&lt;/p&gt;
  &lt;p id=&quot;tObu&quot;&gt;SUB_PUBLIC_DOMAIN=subs.domen.com указываем адрес страницы подписок&lt;/p&gt;
  &lt;p id=&quot;M7aP&quot;&gt;и обязательно прописать данные для БД&lt;/p&gt;
  &lt;p id=&quot;98RU&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;tqAJ&quot;&gt;
    &lt;li id=&quot;djz4&quot;&gt;Создаем файл &lt;strong&gt;docker-compose.yml&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;JDOp&quot;&gt;nano docker-compose.yml&lt;/pre&gt;
  &lt;p id=&quot;PwCx&quot;&gt;Вставляем данные:&lt;/p&gt;
  &lt;pre id=&quot;9rby&quot;&gt;services:
    remnawave-db:
        image: postgres:17
        container_name: &amp;#x27;remnawave-db&amp;#x27;
        hostname: remnawave-db
        restart: always
        env_file:
            - .env
        environment:
            - POSTGRES_USER=${POSTGRES_USER}
            - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
            - POSTGRES_DB=${POSTGRES_DB}
            - TZ=UTC
        ports:
            - &amp;#x27;127.0.0.1:6767:5432&amp;#x27;
        volumes:
            - remnawave-db-data:/var/lib/postgresql/data
        networks:
            - remnawave-network
        healthcheck:
            test: [&amp;#x27;CMD-SHELL&amp;#x27;, &amp;#x27;pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}&amp;#x27;]
            interval: 3s
            timeout: 10s
            retries: 3

    remnawave:
        image: remnawave/backend:latest
        container_name: &amp;#x27;remnawave&amp;#x27;
        hostname: remnawave
        restart: always
        ports:
            - &amp;#x27;127.0.0.1:3000:3000&amp;#x27;
        env_file:
            - .env
        networks:
            - remnawave-network
        depends_on:
            remnawave-db:
                condition: service_healthy
            remnawave-redis:
                condition: service_healthy

    remnawave-redis:
        image: valkey/valkey:8.0.2-alpine
        container_name: remnawave-redis
        hostname: remnawave-redis
        restart: always
        networks:
            - remnawave-network
        volumes:
            - remnawave-redis-data:/data
        healthcheck:
            test: [&amp;#x27;CMD&amp;#x27;, &amp;#x27;valkey-cli&amp;#x27;, &amp;#x27;ping&amp;#x27;]
            interval: 3s
            timeout: 10s
            retries: 3

networks:
    remnawave-network:
        name: remnawave-network
        driver: bridge
        external: false

volumes:
    remnawave-db-data:
        driver: local
        external: false
        name: remnawave-db-data
    remnawave-redis-data:
        driver: local
        external: false
        name: remnawave-redis-data&lt;/pre&gt;
  &lt;p id=&quot;wl3E&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;I14O&quot;&gt;
    &lt;li id=&quot;t7mo&quot;&gt;Запускаем контейнер&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;Q19i&quot;&gt;docker compose up -d&lt;/pre&gt;
  &lt;ul id=&quot;6i9W&quot;&gt;
    &lt;li id=&quot;g1v8&quot;&gt;Проверка логов при необходимости.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;TdWl&quot;&gt;docker compose logs -f&lt;/pre&gt;
  &lt;ul id=&quot;ktjd&quot;&gt;
    &lt;li id=&quot;oLfL&quot;&gt;Создаем файл &lt;code&gt;Caddyfile&lt;/code&gt; в папке &lt;code&gt;/opt/remnawave/caddy&lt;/code&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;P4tp&quot;&gt;mkdir -p /opt/remnawave/caddy &amp;amp;&amp;amp; cd /opt/remnawave/caddy &amp;amp;&amp;amp; nano Caddyfile&lt;/pre&gt;
  &lt;p id=&quot;7ko1&quot;&gt;и вставляем данные предварительно заменив panel.domen.com на домен панели&lt;/p&gt;
  &lt;pre id=&quot;b86m&quot;&gt;https://panel.domen.com {
        reverse_proxy * http://remnawave:3000
}
:443 {
    tls internal
    respond 204
}&lt;/pre&gt;
  &lt;p id=&quot;KyGP&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;TFxv&quot;&gt;
    &lt;li id=&quot;RAs6&quot;&gt;Создаем файл &lt;code&gt;docker-compose.yml&lt;/code&gt; в папке &lt;code&gt;/opt/remnawave/caddy&lt;/code&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;CUHl&quot;&gt;cd /opt/remnawave/caddy &amp;amp;&amp;amp; nano docker-compose.yml&lt;/pre&gt;
  &lt;p id=&quot;5syP&quot;&gt;Вставляем данные&lt;/p&gt;
  &lt;pre id=&quot;w2Ll&quot;&gt;services:
    caddy:
        image: caddy:2.9
        container_name: &amp;#x27;caddy&amp;#x27;
        hostname: caddy
        restart: always
        ports:
            - &amp;#x27;0.0.0.0:443:443&amp;#x27;
        networks:
            - remnawave-network
        volumes:
            - ./Caddyfile:/etc/caddy/Caddyfile
            - caddy-ssl-data:/data

networks:
    remnawave-network:
        name: remnawave-network
        driver: bridge
        external: true

volumes:
    caddy-ssl-data:
        driver: local
        external: false
        name: caddy-ssl-data&lt;/pre&gt;
  &lt;p id=&quot;jqGO&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;EWJ8&quot;&gt;
    &lt;li id=&quot;JE7g&quot;&gt;Запускаем контейнер&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;ZgOe&quot;&gt;docker compose up -d&lt;/pre&gt;
  &lt;ul id=&quot;6i9W&quot;&gt;
    &lt;li id=&quot;z4T0&quot;&gt;Проверка логов при необходимости.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;uDPS&quot;&gt;docker compose logs -f&lt;/pre&gt;
  &lt;p id=&quot;GHpQ&quot;&gt;Ваша панель установлена и теперь доступна по адресу: &lt;a href=&quot;https://panel.domen.com&quot; target=&quot;_blank&quot;&gt;https://panel.domen.com&lt;/a&gt;&lt;/p&gt;
  &lt;h3 id=&quot;Iqg1&quot;&gt;2. Установка страницы подписок&lt;/h3&gt;
  &lt;ul id=&quot;j7lc&quot;&gt;
    &lt;li id=&quot;ou7h&quot;&gt;Создаем файл docker-compose.yml в папке /opt/remnawave/subscription&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;lTgD&quot;&gt;mkdir -p /opt/remnawave/subscription &amp;amp;&amp;amp; cd /opt/remnawave/subscription &amp;amp;&amp;amp; nano docker-compose.yml&lt;/pre&gt;
  &lt;p id=&quot;step-2-paste-the-following-configuration&quot;&gt;и вставляем данные предварительно заменив panel.domen.com на домен панели&lt;/p&gt;
  &lt;pre id=&quot;BQH1&quot;&gt;services:
    remnawave-subscription-page:
        image: remnawave/subscription-page:latest
        container_name: remnawave-subscription-page
        hostname: remnawave-subscription-page
        restart: always
        environment:
            - REMNAWAVE_PANEL_URL=https://panel.com
            - APP_PORT=3010
            - META_TITLE=&amp;quot;Subscription Page Title&amp;quot;
            - META_DESCRIPTION=&amp;quot;Subscription Page Description&amp;quot;
        ports:
            - &amp;#x27;127.0.0.1:3010:3010&amp;#x27;
        networks:
            - remnawave-network

networks:
    remnawave-network:
        driver: bridge
        external: true&lt;/pre&gt;
  &lt;p id=&quot;hKt4&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;EWJ8&quot;&gt;
    &lt;li id=&quot;VEzj&quot;&gt;Запускаем контейнер&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;PO6P&quot;&gt;docker compose up -d&lt;/pre&gt;
  &lt;ul id=&quot;6i9W&quot;&gt;
    &lt;li id=&quot;vLWv&quot;&gt;Проверка логов при необходимости.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;1yOL&quot;&gt;docker compose logs -f&lt;/pre&gt;
  &lt;ul id=&quot;byaz&quot;&gt;
    &lt;li id=&quot;o9Wy&quot;&gt;Открываем Caddy&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;nCH4&quot;&gt;cd /opt/remnawave/caddy &amp;amp;&amp;amp; nano Caddyfile&lt;/pre&gt;
  &lt;p id=&quot;vuBb&quot;&gt;И добавляем в самый низ строки предварительно заменив sub.domen.com на поддомен подписок&lt;/p&gt;
  &lt;pre id=&quot;CiIf&quot;&gt;https://sub.domen.com {
        reverse_proxy * http://remnawave-subscription-page:3010
}&lt;/pre&gt;
  &lt;p id=&quot;WaKF&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;VLCL&quot;&gt;
    &lt;li id=&quot;fRut&quot;&gt;Перезапускаем контейнер&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;hCPC&quot;&gt;docker compose down &amp;amp;&amp;amp; docker compose up -d&lt;/pre&gt;
  &lt;ul id=&quot;Skf8&quot;&gt;
    &lt;li id=&quot;fIQa&quot;&gt;Проверка логов при необходимости.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;fPVQ&quot;&gt;docker compose logs -f&lt;/pre&gt;
  &lt;h3 id=&quot;M3LF&quot;&gt;3. Установка Ноды&lt;/h3&gt;
  &lt;ul id=&quot;HPZZ&quot;&gt;
    &lt;li id=&quot;CspJ&quot;&gt;Устанавливаем docker.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;Chf4&quot;&gt;sudo curl -fsSL https://get.docker.com | sh&lt;/pre&gt;
  &lt;ul id=&quot;qw2N&quot;&gt;
    &lt;li id=&quot;aem3&quot;&gt;Создаем папку и переходим в нее.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;iq5m&quot;&gt;mkdir -p /opt/remnanode &amp;amp;&amp;amp; cd /opt/remnanode&lt;/pre&gt;
  &lt;ul id=&quot;udw5&quot;&gt;
    &lt;li id=&quot;Qhu3&quot;&gt;Настраиваем переменные&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;9YtU&quot;&gt;nano .env&lt;/pre&gt;
  &lt;p id=&quot;fyfm&quot;&gt;Добавляем данные&lt;/p&gt;
  &lt;pre id=&quot;q9kF&quot;&gt;APP_PORT=2222

SSL_CERT=CERT_FROM_MAIN_PANEL&lt;/pre&gt;
  &lt;p id=&quot;vZje&quot;&gt;&lt;strong&gt;APP_PORT&lt;/strong&gt; - указываем любой, это порт для подключения к ноде с панели (но не 61001)&lt;br /&gt;&lt;strong&gt;SSL_CERT=CERT_FROM_MAIN_PAN - &lt;/strong&gt;полностью удаляем данную строку. &lt;/p&gt;
  &lt;p id=&quot;TCj2&quot;&gt;Переходим в основную панель panel.domen.com  Раздел: &lt;em&gt;Ноды- Управление -Создать новую ноду, нажимаем скопировать сертификат и вставляем полностью текст в файл nano.env вместо &lt;strong&gt;SSL_CERT=CERT_FROM_MAIN_PAN&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;uyAD&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5b/ab/5bab0d21-59d2-4127-bf83-7663ac6da673.png&quot; width=&quot;467&quot; /&gt;
    &lt;figcaption&gt;&lt;em&gt;Ноды- Управление -Создать новую ноду&lt;/em&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vAsX&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;os90&quot;&gt;
    &lt;li id=&quot;2cTa&quot;&gt;Создаем файл &lt;strong&gt;docker-compose.yml&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;RfyH&quot;&gt;nano docker-compose.yml&lt;/pre&gt;
  &lt;p id=&quot;guDS&quot;&gt;Вставляем данные&lt;/p&gt;
  &lt;pre id=&quot;QuVB&quot;&gt;services:
    remnanode:
        container_name: remnanode
        hostname: remnanode
        image: remnawave/node:latest
        restart: always
        network_mode: host
        env_file:
            - .env&lt;/pre&gt;
  &lt;p id=&quot;3qfv&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;EWJ8&quot;&gt;
    &lt;li id=&quot;wwD4&quot;&gt;Запускаем контейнер&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;JYUV&quot;&gt;docker compose up -d&lt;/pre&gt;
  &lt;ul id=&quot;6i9W&quot;&gt;
    &lt;li id=&quot;s3Ow&quot;&gt;Проверка логов при необходимости.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;Qbxg&quot;&gt;docker compose logs -f&lt;/pre&gt;
  &lt;p id=&quot;FnvG&quot;&gt;Переходим в panel.domen.com и продолжаем добавление Ноды&lt;/p&gt;
  &lt;p id=&quot;NfSs&quot;&gt;Адрес панели указываем IP, порт тот который указали выше &lt;strong&gt;APP_PORT&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;G57s&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e5/3a/e53a3269-f32b-45af-b01b-866e72fe1fef.png&quot; width=&quot;489&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;d7A4&quot;&gt;4. Установка Selfsteel (SNI)&lt;/h3&gt;
  &lt;ul id=&quot;8Y5l&quot;&gt;
    &lt;li id=&quot;TDKv&quot;&gt;Создаем файл &lt;code&gt;Caddyfile&lt;/code&gt; в папке &lt;code&gt;/opt/selfsteel&lt;/code&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;3X5I&quot;&gt;mkdir -p /opt/selfsteel &amp;amp;&amp;amp; cd /opt/selfsteel &amp;amp;&amp;amp; nano Caddyfile&lt;/pre&gt;
  &lt;p id=&quot;kv8s&quot;&gt;Вставляем данные&lt;/p&gt;
  &lt;pre id=&quot;SzMD&quot;&gt;{
    https_port {$SELF_STEAL_PORT}
    default_bind 127.0.0.1
    servers {
        listener_wrappers {
            proxy_protocol {
                allow 127.0.0.1/32
            }
            tls
        }
    }
    auto_https disable_redirects
}

http://{$SELF_STEAL_DOMAIN} {
    bind 0.0.0.0
    redir https://{$SELF_STEAL_DOMAIN}{uri} permanent
}

https://{$SELF_STEAL_DOMAIN} {
    root * /var/www/html
    try_files {path} /index.html
    file_server

}


:{$SELF_STEAL_PORT} {
    tls internal
    respond 204
}

:80 {
    bind 0.0.0.0
    respond 204
}
&lt;/pre&gt;
  &lt;p id=&quot;qJE6&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;F2aY&quot;&gt;
    &lt;li id=&quot;imPh&quot;&gt;Настраиваем переменные.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;cYd2&quot;&gt;nano .env&lt;/pre&gt;
  &lt;p id=&quot;szUt&quot;&gt;и вставляем данные предварительно заменив steel.domen.com на домен для страницы заглушки&lt;/p&gt;
  &lt;pre id=&quot;5Uwd&quot;&gt;# Домены
SELF_STEAL_DOMAIN=steel.domen.com #Должен совпадать с XRAY конфигом (realitySettings.serverNames)
SELF_STEAL_PORT=9443 #Должен совпадать с XRAY конфигом (realitySettings.dest)&lt;/pre&gt;
  &lt;p id=&quot;ECBX&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;U4DR&quot;&gt;
    &lt;li id=&quot;Hov0&quot;&gt;Создаем файл &lt;strong&gt;docker-compose.yml&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;aY6A&quot;&gt;nano docker-compose.yml&lt;/pre&gt;
  &lt;p id=&quot;F8Ra&quot;&gt;Вставляем данные&lt;/p&gt;
  &lt;pre id=&quot;LYnu&quot;&gt;services:
  caddy:
    image: caddy:2.9.1
    container_name: caddy-remnawave
    restart: unless-stopped
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ../html:/var/www/html
      - ./logs:/var/log/caddy
      - caddy_data_selfsteal:/data
      - caddy_config_selfsteal:/config
    env_file:
      - .env
    network_mode: &amp;quot;host&amp;quot;

volumes:
  caddy_data_selfsteal:
  caddy_config_selfsteal:&lt;/pre&gt;
  &lt;p id=&quot;80nL&quot;&gt;Сохраняем данные, нажав &lt;strong&gt;Ctrl-X&lt;/strong&gt; далее &lt;strong&gt;Y&lt;/strong&gt; и &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;PmK4&quot;&gt;
    &lt;li id=&quot;nUim&quot;&gt;Запускаем контейнер&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;XZwg&quot;&gt;docker compose up -d&lt;/pre&gt;
  &lt;ul id=&quot;6i9W&quot;&gt;
    &lt;li id=&quot;vWto&quot;&gt;Проверка логов при необходимости.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;CGx1&quot;&gt;docker compose logs -f&lt;/pre&gt;
  &lt;ul id=&quot;BWIw&quot;&gt;
    &lt;li id=&quot;z5N9&quot;&gt;В папке opt создаем папку html и добавляем любой файл index.html &lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;jG4Y&quot;&gt;5. Настройка Конфиг&lt;/h3&gt;
  &lt;p id=&quot;IAQK&quot;&gt;Переходим в панель по адресу panel.domen.com раздел конфиг и меняем данные предварительно заменим данные &amp;quot;меняем&amp;quot; и steel.domen.com(блок Shadowsocks можно в будущем удалить)&lt;/p&gt;
  &lt;pre id=&quot;lC0h&quot;&gt;{
  &amp;quot;log&amp;quot;: {
    &amp;quot;loglevel&amp;quot;: &amp;quot;info&amp;quot;
  },
  &amp;quot;inbounds&amp;quot;: [
    {
      &amp;quot;tag&amp;quot;: &amp;quot;Shadowsocks&amp;quot;,
      &amp;quot;port&amp;quot;: 1234,
      &amp;quot;protocol&amp;quot;: &amp;quot;shadowsocks&amp;quot;,
      &amp;quot;settings&amp;quot;: {
        &amp;quot;clients&amp;quot;: [],
        &amp;quot;network&amp;quot;: &amp;quot;tcp,udp&amp;quot;
      },
      &amp;quot;sniffing&amp;quot;: {
        &amp;quot;enabled&amp;quot;: true,
        &amp;quot;destOverride&amp;quot;: [
          &amp;quot;http&amp;quot;,
          &amp;quot;tls&amp;quot;,
          &amp;quot;quic&amp;quot;
        ]
      }
    },
    {
      &amp;quot;tag&amp;quot;: &amp;quot;VLESS&amp;quot;,
      &amp;quot;port&amp;quot;: 443,
      &amp;quot;listen&amp;quot;: &amp;quot;0.0.0.0&amp;quot;,
      &amp;quot;protocol&amp;quot;: &amp;quot;vless&amp;quot;,
      &amp;quot;settings&amp;quot;: {
        &amp;quot;clients&amp;quot;: [],
        &amp;quot;decryption&amp;quot;: &amp;quot;none&amp;quot;
      },
      &amp;quot;sniffing&amp;quot;: {
        &amp;quot;enabled&amp;quot;: true,
        &amp;quot;routeOnly&amp;quot;: false,
        &amp;quot;destOverride&amp;quot;: [
          &amp;quot;http&amp;quot;,
          &amp;quot;tls&amp;quot;,
          &amp;quot;quic&amp;quot;,
          &amp;quot;fakedns&amp;quot;
        ],
        &amp;quot;metadataOnly&amp;quot;: false
      },
      &amp;quot;streamSettings&amp;quot;: {
        &amp;quot;network&amp;quot;: &amp;quot;tcp&amp;quot;,
        &amp;quot;security&amp;quot;: &amp;quot;reality&amp;quot;,
        &amp;quot;tcpSettings&amp;quot;: {
          &amp;quot;header&amp;quot;: {
            &amp;quot;type&amp;quot;: &amp;quot;none&amp;quot;
          },
          &amp;quot;acceptProxyProtocol&amp;quot;: false
        },
        &amp;quot;realitySettings&amp;quot;: {
          &amp;quot;dest&amp;quot;: &amp;quot;9443&amp;quot;,
          &amp;quot;show&amp;quot;: false,
          &amp;quot;xver&amp;quot;: 0,
          &amp;quot;spiderX&amp;quot;: &amp;quot;/&amp;quot;,
          &amp;quot;shortIds&amp;quot;: [
            &amp;quot;Меняем&amp;quot;
          ],
          &amp;quot;publicKey&amp;quot;: &amp;quot;Меняем&amp;quot;,
          &amp;quot;privateKey&amp;quot;: &amp;quot;Меняем&amp;quot;,
          &amp;quot;fingerprint&amp;quot;: &amp;quot;chrome&amp;quot;,
          &amp;quot;serverNames&amp;quot;: [
            &amp;quot;steel.domen.com&amp;quot;
          ]
        }
      }
    }
  ],
  &amp;quot;outbounds&amp;quot;: [
    {
      &amp;quot;tag&amp;quot;: &amp;quot;DIRECT&amp;quot;,
      &amp;quot;protocol&amp;quot;: &amp;quot;freedom&amp;quot;
    },
    {
      &amp;quot;tag&amp;quot;: &amp;quot;BLOCK&amp;quot;,
      &amp;quot;protocol&amp;quot;: &amp;quot;blackhole&amp;quot;
    }
  ],
  &amp;quot;routing&amp;quot;: {
    &amp;quot;rules&amp;quot;: [
      {
        &amp;quot;ip&amp;quot;: [
          &amp;quot;geoip:private&amp;quot;
        ],
        &amp;quot;type&amp;quot;: &amp;quot;field&amp;quot;,
        &amp;quot;outboundTag&amp;quot;: &amp;quot;BLOCK&amp;quot;
      },
      {
        &amp;quot;type&amp;quot;: &amp;quot;field&amp;quot;,
        &amp;quot;domain&amp;quot;: [
          &amp;quot;geosite:private&amp;quot;
        ],
        &amp;quot;outboundTag&amp;quot;: &amp;quot;BLOCK&amp;quot;
      },
      {
        &amp;quot;type&amp;quot;: &amp;quot;field&amp;quot;,
        &amp;quot;protocol&amp;quot;: [
          &amp;quot;bittorrent&amp;quot;
        ],
        &amp;quot;outboundTag&amp;quot;: &amp;quot;BLOCK&amp;quot;
      }
    ]
  }
}&lt;/pre&gt;
  &lt;p id=&quot;QIAh&quot;&gt;Ключи можно сгенерировать на панели нажав &lt;/p&gt;
  &lt;figure id=&quot;I0SL&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bd/56/bd56ce23-cb58-49a6-874f-2a0a424a0055.png&quot; width=&quot;397&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;19An&quot;&gt;6. Добавление Хоста&lt;/h3&gt;
  &lt;p id=&quot;oZnZ&quot;&gt;Переходим в панель по адресу panel.domen.com раздел Хост&lt;/p&gt;
  &lt;p id=&quot;KqiG&quot;&gt;Добавляем хост, Указываем примечание, можно Инбаунд VLESS&amp;gt; адрес меняем на свой из пункта 4&lt;/p&gt;
  &lt;figure id=&quot;U42f&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/be/c5/bec59e3b-703e-4a34-aef8-a5511ae81bba.png&quot; width=&quot;499&quot; /&gt;
  &lt;/figure&gt;

</content></entry></feed>