<?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>Игорь Павленко</title><author><name>Игорь Павленко</name></author><id>https://teletype.in/atom/idsmef</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/idsmef?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/idsmef?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-18T12:36:28.214Z</updated><entry><id>idsmef:V0CW47kSKAy</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/V0CW47kSKAy?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>Полная инструкция: Let’s Encrypt + Hysteria2 для Remnawave</title><published>2026-04-06T13:25:28.212Z</published><updated>2026-04-06T13:25:28.212Z</updated><summary type="html">В этой инструкции мы настроим автоматическое получение и обновление TLS-сертификатов от Let’s Encrypt и подключим их к ноде Remnawave для работы протокола Hysteria2 (QUIC + TLS).</summary><content type="html">
  &lt;h2 id=&quot;FyCG&quot;&gt;Введение&lt;/h2&gt;
  &lt;p id=&quot;nA5r&quot;&gt;В этой инструкции мы настроим &lt;strong&gt;автоматическое получение и обновление TLS-сертификатов&lt;/strong&gt; от Let’s Encrypt и подключим их к ноде Remnawave для работы протокола &lt;strong&gt;Hysteria2&lt;/strong&gt; (QUIC + TLS).&lt;/p&gt;
  &lt;blockquote id=&quot;VcVe&quot;&gt;&lt;strong&gt;Что вы получите:&lt;/strong&gt;&lt;br /&gt;— Действующий сертификат для вашего домена (например, &lt;code&gt;h2.example.com&lt;/code&gt;)&lt;br /&gt;— Интеграцию с контейнером Remnawave через Docker volume&lt;br /&gt;— Автообновление сертификатов раз в месяц через cron&lt;/blockquote&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;rKke&quot;&gt;Требования&lt;/h2&gt;
  &lt;ul id=&quot;9G7Y&quot;&gt;
    &lt;li id=&quot;4FQf&quot;&gt;Сервер с &lt;strong&gt;открытым портом 80&lt;/strong&gt; (на время первого получения сертификата) и &lt;strong&gt;443&lt;/strong&gt; (для работы Hysteria)&lt;/li&gt;
    &lt;li id=&quot;745B&quot;&gt;Установленный &lt;strong&gt;Docker&lt;/strong&gt; и &lt;strong&gt;Docker Compose&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;gF9g&quot;&gt;Домен, направленный A-записью на IP вашего сервера&lt;/li&gt;
    &lt;li id=&quot;PBmP&quot;&gt;Установленная и работающая нода &lt;strong&gt;Remnawave&lt;/strong&gt; (обычно в &lt;code&gt;/opt/remnanode&lt;/code&gt;)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;Zmbs&quot;&gt;1. Подготовка и установка Certbot&lt;/h2&gt;
  &lt;p id=&quot;O2m2&quot;&gt;Создадим рабочую директорию для Certbot и базовый &lt;code&gt;docker-compose.yml&lt;/code&gt;.&lt;/p&gt;
  &lt;p id=&quot;0YLY&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;yK1H&quot;&gt;mkdir -p /opt/certbot &amp;amp;&amp;amp; cd /opt/certbot
nano docker-compose.yml&lt;/pre&gt;
  &lt;p id=&quot;hl4o&quot;&gt;Вставьте следующее содержимое:&lt;/p&gt;
  &lt;p id=&quot;8C2J&quot;&gt;yaml&lt;/p&gt;
  &lt;pre id=&quot;WvGt&quot;&gt;services:
  certbot:
    container_name: certbot
    image: certbot/certbot
    network_mode: host
    volumes:
      - ./certs:/etc/letsencrypt&lt;/pre&gt;
  &lt;p id=&quot;LqHy&quot;&gt;Сохраните (&lt;code&gt;Ctrl+O&lt;/code&gt;, &lt;code&gt;Enter&lt;/code&gt;, &lt;code&gt;Ctrl+X&lt;/code&gt;).&lt;/p&gt;
  &lt;blockquote id=&quot;1YkN&quot;&gt;&lt;strong&gt;Что здесь происходит:&lt;/strong&gt;&lt;br /&gt;— &lt;code&gt;network_mode: host&lt;/code&gt; — Certbot сможет слушать порт 80 на хосте&lt;br /&gt;— &lt;code&gt;./certs:/etc/letsencrypt&lt;/code&gt; — сертификаты будут храниться в &lt;code&gt;/opt/certbot/certs&lt;/code&gt;&lt;/blockquote&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;dg6G&quot;&gt;2. Первичное получение сертификата&lt;/h2&gt;
  &lt;p id=&quot;sgAr&quot;&gt;&lt;strong&gt;Перед запуском убедитесь, что порт 80 свободен&lt;/strong&gt; (ни Nginx, ни нода Remnawave, ни другие сервисы его не занимают).&lt;/p&gt;
  &lt;p id=&quot;sUgl&quot;&gt;Замените:&lt;/p&gt;
  &lt;ul id=&quot;38wv&quot;&gt;
    &lt;li id=&quot;qv41&quot;&gt;&lt;code&gt;your-domain.com&lt;/code&gt; → ваш домен (например, &lt;code&gt;h2.mysite.com&lt;/code&gt;)&lt;/li&gt;
    &lt;li id=&quot;2eXP&quot;&gt;&lt;code&gt;admin@your-domain.com&lt;/code&gt; → ваш email&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;SMi3&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;MpW2&quot;&gt;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&lt;/pre&gt;
  &lt;p id=&quot;Wmwb&quot;&gt;&lt;strong&gt;Пример с реальными данными:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;GLM2&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;BL3m&quot;&gt;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@example.com \
  -d h2.example.com&lt;/pre&gt;
  &lt;p id=&quot;hW2n&quot;&gt;После успешного выполнения сертификаты появятся в папке:&lt;/p&gt;
  &lt;p id=&quot;7FQ8&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;c54i&quot;&gt;/opt/certbot/certs/live/your-domain.com/
├── fullchain.pem
├── privkey.pem
└── ...&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;0EyJ&quot;&gt;3. Проброс сертификатов в Remnawave&lt;/h2&gt;
  &lt;p id=&quot;l7OL&quot;&gt;Теперь подключим папку с сертификатами к контейнеру ноды Remnawave.&lt;/p&gt;
  &lt;p id=&quot;GpZ1&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;HGWP&quot;&gt;cd /opt/remnanode
nano docker-compose.yml&lt;/pre&gt;
  &lt;p id=&quot;0yAa&quot;&gt;Найдите секцию &lt;code&gt;volumes:&lt;/code&gt; внутри &lt;code&gt;services.remnanode&lt;/code&gt; и добавьте строку:&lt;/p&gt;
  &lt;p id=&quot;OVEJ&quot;&gt;yaml&lt;/p&gt;
  &lt;pre id=&quot;YLQZ&quot;&gt;services:
  remnanode:
    ...
    volumes:
      - &amp;#x27;/opt/certbot/certs:/etc/letsencrypt:ro&amp;#x27;   # &amp;lt;-- добавить эту строку&lt;/pre&gt;
  &lt;p id=&quot;EVw6&quot;&gt;&lt;strong&gt;Важно:&lt;/strong&gt; режим &lt;code&gt;:ro&lt;/code&gt; означает &lt;em&gt;read-only&lt;/em&gt; — безопасно.&lt;/p&gt;
  &lt;p id=&quot;Cp0d&quot;&gt;Пример готового блока:&lt;/p&gt;
  &lt;p id=&quot;CSn7&quot;&gt;yaml&lt;/p&gt;
  &lt;pre id=&quot;34ru&quot;&gt;services:
  remnanode:
    image: remnawave/backend:latest
    container_name: remnanode
    restart: always
    network_mode: host
    volumes:
      - ./data:/app/data
      - &amp;#x27;/opt/certbot/certs:/etc/letsencrypt:ro&amp;#x27;&lt;/pre&gt;
  &lt;p id=&quot;jdl3&quot;&gt;Перезапустите ноду:&lt;/p&gt;
  &lt;p id=&quot;JoxS&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;ERHW&quot;&gt;docker compose down &amp;amp;&amp;amp; docker compose up -d&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;UJzS&quot;&gt;4. Настройка профиля Hysteria2 в панели Remnawave&lt;/h2&gt;
  &lt;p id=&quot;1vKh&quot;&gt;В веб-панели Remnawave при создании или редактировании &lt;strong&gt;профиля узла (node)&lt;/strong&gt; вставьте следующий JSON.&lt;/p&gt;
  &lt;blockquote id=&quot;g0zA&quot;&gt;⚠️ &lt;strong&gt;Обязательно замените&lt;/strong&gt; &lt;code&gt;your-domain.com&lt;/code&gt; на ваш реальный домен в путях &lt;code&gt;keyFile&lt;/code&gt; и &lt;code&gt;certificateFile&lt;/code&gt;.&lt;/blockquote&gt;
  &lt;p id=&quot;FuvS&quot;&gt;json&lt;/p&gt;
  &lt;pre id=&quot;AEHX&quot;&gt;{
  &amp;quot;log&amp;quot;: { &amp;quot;loglevel&amp;quot;: &amp;quot;none&amp;quot; },
  &amp;quot;inbounds&amp;quot;: [
    {
      &amp;quot;tag&amp;quot;: &amp;quot;HYSTERIA-BBR&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;hysteria&amp;quot;,
      &amp;quot;settings&amp;quot;: {
        &amp;quot;clients&amp;quot;: [],
        &amp;quot;version&amp;quot;: 2
      },
      &amp;quot;streamSettings&amp;quot;: {
        &amp;quot;network&amp;quot;: &amp;quot;hysteria&amp;quot;,
        &amp;quot;security&amp;quot;: &amp;quot;tls&amp;quot;,
        &amp;quot;finalmask&amp;quot;: {
          &amp;quot;quicParams&amp;quot;: { &amp;quot;debug&amp;quot;: false, &amp;quot;congestion&amp;quot;: &amp;quot;bbr&amp;quot; }
        },
        &amp;quot;tlsSettings&amp;quot;: {
          &amp;quot;alpn&amp;quot;: [&amp;quot;h3&amp;quot;],
          &amp;quot;certificates&amp;quot;: [
            {
              &amp;quot;keyFile&amp;quot;: &amp;quot;/etc/letsencrypt/live/your-domain.com/privkey.pem&amp;quot;,
              &amp;quot;certificateFile&amp;quot;: &amp;quot;/etc/letsencrypt/live/your-domain.com/fullchain.pem&amp;quot;
            }
          ]
        },
        &amp;quot;hysteriaSettings&amp;quot;: { &amp;quot;version&amp;quot;: 2 }
      }
    }
  ],
  &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;outboundTag&amp;quot;: &amp;quot;BLOCK&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;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;Vth0&quot;&gt;&lt;strong&gt;Что важно:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;vNdy&quot;&gt;
    &lt;li id=&quot;9KZh&quot;&gt;Путь к сертификатам — &lt;strong&gt;внутри контейнера Remnawave&lt;/strong&gt;: &lt;code&gt;/etc/letsencrypt/live/...&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;tIpu&quot;&gt;Именно туда мы пробросили папку &lt;code&gt;/opt/certbot/certs&lt;/code&gt; на хосте&lt;/li&gt;
    &lt;li id=&quot;5zfs&quot;&gt;Протокол Hysteria2 работает поверх &lt;strong&gt;QUIC&lt;/strong&gt;, поэтому указан &lt;code&gt;alpn: [&amp;quot;h3&amp;quot;]&lt;/code&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;q2Wh&quot;&gt;5. Автоматическое обновление сертификатов (Cron)&lt;/h2&gt;
  &lt;p id=&quot;JBHW&quot;&gt;Сертификаты Let’s Encrypt действительны &lt;strong&gt;90 дней&lt;/strong&gt;. Настроим ежемесячное обновление.&lt;/p&gt;
  &lt;p id=&quot;YVh9&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;nmmZ&quot;&gt;crontab -e&lt;/pre&gt;
  &lt;p id=&quot;ZUBo&quot;&gt;Добавьте строку (запуск 28-го числа каждого месяца в 00:00):&lt;/p&gt;
  &lt;p id=&quot;51c7&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;w57t&quot;&gt;0 0 28 * * cd /opt/certbot &amp;amp;&amp;amp; docker compose run --rm certbot renew&lt;/pre&gt;
  &lt;p id=&quot;x8kw&quot;&gt;&lt;strong&gt;Как проверить вручную:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;1Cqj&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;UWhN&quot;&gt;cd /opt/certbot
docker compose run --rm certbot renew --dry-run&lt;/pre&gt;
  &lt;blockquote id=&quot;pQG7&quot;&gt;&lt;code&gt;--dry-run&lt;/code&gt; — тестовый режим без реального обновления.&lt;/blockquote&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;1iXP&quot;&gt;Проверка работоспособности&lt;/h2&gt;
  &lt;ol id=&quot;fIjt&quot;&gt;
    &lt;li id=&quot;gI2H&quot;&gt;&lt;strong&gt;Сертификат получен:&lt;/strong&gt;bashls /opt/certbot/certs/live/your-domain.com/&lt;/li&gt;
    &lt;li id=&quot;XN74&quot;&gt;&lt;strong&gt;Remnawave видит сертификаты:&lt;/strong&gt;bashdocker exec remnanode ls /etc/letsencrypt/live/your-domain.com/&lt;/li&gt;
    &lt;li id=&quot;zC2A&quot;&gt;&lt;strong&gt;Порт 443 слушается:&lt;/strong&gt;bashss -tulpn | grep 443&lt;/li&gt;
    &lt;li id=&quot;Wtir&quot;&gt;&lt;strong&gt;Подключение клиентом Hysteria2&lt;/strong&gt; — используйте ваши ключи из панели Remnawave.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;JVmY&quot;&gt;Устранение типичных проблем&lt;/h2&gt;
  &lt;p id=&quot;ChzW&quot;&gt;Проблема&lt;/p&gt;
  &lt;p id=&quot;4Fbu&quot;&gt;Решение&lt;/p&gt;
  &lt;p id=&quot;ZlXX&quot;&gt;&lt;code&gt;port 80 is already in use&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;3XTe&quot;&gt;Остановите nginx / apache / другой сервис: &lt;code&gt;systemctl stop nginx&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;A1sH&quot;&gt;Сертификат не обновляется в cron&lt;/p&gt;
  &lt;p id=&quot;HCci&quot;&gt;Проверьте путь: &lt;code&gt;cd /opt/certbot&lt;/code&gt; должен работать. Добавьте &lt;code&gt;--debug&lt;/code&gt; в команду renew&lt;/p&gt;
  &lt;p id=&quot;Dphm&quot;&gt;Remnawave не видит файлы&lt;/p&gt;
  &lt;p id=&quot;qzCL&quot;&gt;Убедитесь, что volume проброшен именно в &lt;code&gt;/etc/letsencrypt&lt;/code&gt;, а не в другую папку&lt;/p&gt;
  &lt;p id=&quot;trqF&quot;&gt;Hysteria2 не стартует&lt;/p&gt;
  &lt;p id=&quot;pJRa&quot;&gt;Проверьте JSON: нет ли лишних запятых. Убедитесь, что &lt;code&gt;keyFile&lt;/code&gt; и &lt;code&gt;certificateFile&lt;/code&gt; указывают на существующие файлы внутри контейнера&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;galx&quot;&gt;Итог&lt;/h2&gt;
  &lt;p id=&quot;avZp&quot;&gt;Вы настроили:&lt;/p&gt;
  &lt;ul id=&quot;Sfxl&quot;&gt;
    &lt;li id=&quot;LmFO&quot;&gt;✅ Автоматическое получение Let’s Encrypt сертификата для вашего домена&lt;/li&gt;
    &lt;li id=&quot;heBZ&quot;&gt;✅ Проброс сертификатов в контейнер Remnawave&lt;/li&gt;
    &lt;li id=&quot;DrdR&quot;&gt;✅ Рабочий профиль Hysteria2 с TLS и BBR&lt;/li&gt;
    &lt;li id=&quot;Tbxf&quot;&gt;✅ Ежемесячное обновление сертификатов через cron&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;kUux&quot;&gt;Теперь ваша нода Remnawave готова принимать &lt;strong&gt;Hysteria2&lt;/strong&gt; соединения по защищённому TLS каналу.&lt;/p&gt;

</content></entry><entry><id>idsmef:NI6pAKt9Igg</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/NI6pAKt9Igg?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>📘 Инструкция по использованию Yandex Random Hunter</title><published>2026-04-06T07:16:21.469Z</published><updated>2026-04-06T07:16:21.469Z</updated><summary type="html">bash</summary><content type="html">
  &lt;h1 id=&quot;bEIS&quot;&gt;📘 Инструкция по использованию Yandex Random Hunter&lt;/h1&gt;
  &lt;h2 id=&quot;R7NN&quot;&gt;📋 Оглавление&lt;/h2&gt;
  &lt;ol id=&quot;n4Yg&quot;&gt;
    &lt;li id=&quot;m5ik&quot;&gt;Системные требования&lt;/li&gt;
    &lt;li id=&quot;G7XA&quot;&gt;Установка&lt;/li&gt;
    &lt;li id=&quot;1XBZ&quot;&gt;Настройка&lt;/li&gt;
    &lt;li id=&quot;rNUb&quot;&gt;Запуск&lt;/li&gt;
    &lt;li id=&quot;JM93&quot;&gt;Работа скрипта&lt;/li&gt;
    &lt;li id=&quot;33hB&quot;&gt;Примеры использования&lt;/li&gt;
    &lt;li id=&quot;LIMv&quot;&gt;Частые проблемы&lt;/li&gt;
    &lt;li id=&quot;uGAq&quot;&gt;Советы&lt;/li&gt;
  &lt;/ol&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;OX4g&quot;&gt;💻 Системные требования&lt;/h2&gt;
  &lt;h3 id=&quot;dLCO&quot;&gt;Необходимое ПО:&lt;/h3&gt;
  &lt;ul id=&quot;PbMx&quot;&gt;
    &lt;li id=&quot;YgfE&quot;&gt;&lt;strong&gt;Linux/macOS/WSL&lt;/strong&gt; (Windows)&lt;/li&gt;
    &lt;li id=&quot;GmvG&quot;&gt;&lt;strong&gt;bash&lt;/strong&gt; 4.0+&lt;/li&gt;
    &lt;li id=&quot;tiML&quot;&gt;&lt;strong&gt;Yandex Cloud CLI&lt;/strong&gt; (yc)&lt;/li&gt;
    &lt;li id=&quot;mrsk&quot;&gt;&lt;strong&gt;jq&lt;/strong&gt; (парсер JSON)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;4aMT&quot;&gt;Требования к аккаунту:&lt;/h3&gt;
  &lt;ul id=&quot;N12H&quot;&gt;
    &lt;li id=&quot;Jcc0&quot;&gt;Аккаунт Yandex Cloud&lt;/li&gt;
    &lt;li id=&quot;zsoq&quot;&gt;Активный платежный аккаунт (или пробный период)&lt;/li&gt;
    &lt;li id=&quot;FfOc&quot;&gt;Настроенный CLI с авторизацией&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;frJc&quot;&gt;🔧 Установка&lt;/h2&gt;
  &lt;h3 id=&quot;MUN6&quot;&gt;1. Установка Yandex Cloud CLI&lt;/h3&gt;
  &lt;p id=&quot;VGlm&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;V9MZ&quot;&gt;# Linux/macOS
curl https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash

# Перезагрузите оболочку
exec -l $SHELL

# Проверка установки
yc version&lt;/pre&gt;
  &lt;h3 id=&quot;6KBr&quot;&gt;2. Установка jq&lt;/h3&gt;
  &lt;p id=&quot;18M8&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;bwLG&quot;&gt;# Ubuntu/Debian
sudo apt-get install jq -y

# CentOS/RHEL
sudo yum install jq -y

# macOS
brew install jq

# Windows (через Chocolatey)
choco install jq&lt;/pre&gt;
  &lt;h3 id=&quot;eE9o&quot;&gt;3. Настройка Yandex Cloud&lt;/h3&gt;
  &lt;p id=&quot;y18b&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;EdSl&quot;&gt;# Инициализация
yc init

# Следуйте инструкциям:
# - Выберите аккаунт
# - Выберите облако
# - Выберите каталог (или создайте новый)
# - Подтвердите настройки&lt;/pre&gt;
  &lt;h3 id=&quot;5my4&quot;&gt;4. Сохранение скрипта&lt;/h3&gt;
  &lt;p id=&quot;HLiZ&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;mdVL&quot;&gt;# Создайте файл
nano yandex-hunter.sh

# Скопируйте код скрипта

# Сделайте исполняемым
chmod +x yandex-hunter.sh&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;wdL3&quot;&gt;⚙️ Настройка&lt;/h2&gt;
  &lt;h3 id=&quot;1KYA&quot;&gt;Основные параметры (в начале скрипта):&lt;/h3&gt;
  &lt;p id=&quot;ml2G&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;29H2&quot;&gt;TARGET=&amp;quot;51.&amp;quot;           # Целевая сеть (первые октеты)
ZONE=&amp;quot;ru-central1-b&amp;quot;   # Зона доступности
MIN_DELAY=3            # Минимальная задержка (сек)
MAX_DELAY=8            # Максимальная задержка (сек)&lt;/pre&gt;
  &lt;h3 id=&quot;jX7t&quot;&gt;Как выбрать цель:&lt;/h3&gt;
  &lt;p id=&quot;ualz&quot;&gt;Цель&lt;/p&gt;
  &lt;p id=&quot;5Pmp&quot;&gt;Значение TARGET&lt;/p&gt;
  &lt;p id=&quot;NXXo&quot;&gt;Примечание&lt;/p&gt;
  &lt;p id=&quot;mrVz&quot;&gt;Сеть 51.x.x.x&lt;/p&gt;
  &lt;p id=&quot;DwTn&quot;&gt;&lt;code&gt;&amp;quot;51.&amp;quot;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;8pcs&quot;&gt;Наиболее популярная&lt;/p&gt;
  &lt;p id=&quot;EuYC&quot;&gt;Сеть 84.x.x.x&lt;/p&gt;
  &lt;p id=&quot;GXX9&quot;&gt;&lt;code&gt;&amp;quot;84.&amp;quot;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;CqXA&quot;&gt;Редкая&lt;/p&gt;
  &lt;p id=&quot;Dz6S&quot;&gt;Сеть 178.x.x.x&lt;/p&gt;
  &lt;p id=&quot;2AF1&quot;&gt;&lt;code&gt;&amp;quot;178.&amp;quot;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;44lj&quot;&gt;Средняя частота&lt;/p&gt;
  &lt;p id=&quot;H5Rr&quot;&gt;Конкретная подсеть&lt;/p&gt;
  &lt;p id=&quot;x2zn&quot;&gt;&lt;code&gt;&amp;quot;51.24.&amp;quot;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;54m9&quot;&gt;Более точная цель&lt;/p&gt;
  &lt;h3 id=&quot;52kB&quot;&gt;Зоны доступности:&lt;/h3&gt;
  &lt;p id=&quot;ITe6&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;i6MK&quot;&gt;ru-central1-a  # Зона А
ru-central1-b  # Зона Б (по умолчанию)
ru-central1-c  # Зона В
ru-central1-d  # Зона Г&lt;/pre&gt;
  &lt;h3 id=&quot;x5hN&quot;&gt;Настройка задержки:&lt;/h3&gt;
  &lt;p id=&quot;JV0p&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;EABB&quot;&gt;MIN_DELAY=1   # Агрессивный режим (риск блокировки)
MAX_DELAY=3

MIN_DELAY=5   # Нормальный режим
MAX_DELAY=10

MIN_DELAY=10  # Осторожный режим
MAX_DELAY=20&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;ABKA&quot;&gt;🚀 Запуск&lt;/h2&gt;
  &lt;h3 id=&quot;7EJi&quot;&gt;Простой запуск:&lt;/h3&gt;
  &lt;p id=&quot;xyk6&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;c1bk&quot;&gt;./yandex-hunter.sh&lt;/pre&gt;
  &lt;h3 id=&quot;g8CW&quot;&gt;Запуск с логированием:&lt;/h3&gt;
  &lt;p id=&quot;G0to&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;rVXz&quot;&gt;./yandex-hunter.sh | tee hunter.log&lt;/pre&gt;
  &lt;h3 id=&quot;BG5H&quot;&gt;Фоновый запуск:&lt;/h3&gt;
  &lt;p id=&quot;i4Gv&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;CaUa&quot;&gt;nohup ./yandex-hunter.sh &amp;gt; hunter.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;/pre&gt;
  &lt;h3 id=&quot;HdUR&quot;&gt;Остановка:&lt;/h3&gt;
  &lt;p id=&quot;UzpY&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;e5Sy&quot;&gt;# Если запущен в фоне
pkill -f yandex-hunter.sh

# Или Ctrl+C (если в терминале)&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;pDQ4&quot;&gt;🎯 Работа скрипта&lt;/h2&gt;
  &lt;h3 id=&quot;tJaC&quot;&gt;Что происходит:&lt;/h3&gt;
  &lt;ol id=&quot;3k6C&quot;&gt;
    &lt;li id=&quot;zuzV&quot;&gt;&lt;strong&gt;Очистка&lt;/strong&gt; - удаляются все старые IP-адреса&lt;/li&gt;
    &lt;li id=&quot;1WX6&quot;&gt;&lt;strong&gt;Цикл охоты&lt;/strong&gt;:&lt;/li&gt;
    &lt;ul id=&quot;QDI4&quot;&gt;
      &lt;li id=&quot;a7Yb&quot;&gt;Создание нового IP-адреса&lt;/li&gt;
      &lt;li id=&quot;UaKc&quot;&gt;Проверка принадлежности к целевой сети&lt;/li&gt;
      &lt;li id=&quot;qsyo&quot;&gt;Если совпадает → УСПЕХ!&lt;/li&gt;
      &lt;li id=&quot;iw3P&quot;&gt;Если нет → удаление и пауза&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;NoGc&quot;&gt;Интерфейс:&lt;/h3&gt;
  &lt;p id=&quot;gZEV&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;PpcF&quot;&gt;╔══════════════════════════════════════════════════════════════╗
║         🎯 YANDEX RANDOM HUNTER — ОХОТНИК ЗА IP 🎯           ║
╚══════════════════════════════════════════════════════════════╝
📡 Зона:     ru-central1-b
🎯 Цель:     51.*.*.*
⏱️  Задержка:  3-8 сек (рандом)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
№    | IP Адрес         | Подсеть      | Статус                    
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
❌ [   1] 84.252.75.123   | 84.252       | 💔 Мимо (ждал 5с)
⏳ Ожидание: [████████░░░░░░░░░░] 40% &lt;/pre&gt;
  &lt;h3 id=&quot;wD0P&quot;&gt;При успехе:&lt;/h3&gt;
  &lt;p id=&quot;Dd4F&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;ml6h&quot;&gt;╔══════════════════════════════════════════════════════════════╗
║                    🎉 ВЫ ПОЙМАЛИ ЦЕЛЬ! 🎉                    ║
╚══════════════════════════════════════════════════════════════╝
📌 IP адрес:    51.23.45.67
🆔 ID:          epd7h8k9j2m3n4p5
🌐 Подсеть:     51.23
🔢 Попытка №:   42
⏱️  Время:       15:30:22
⏲️  Длительность: 3 мин 24 сек

📊 СТАТИСТИКА:
   ┌─────────────────────────────────────────┐
   │ Всего попыток:  42                      │
   │ ✅ Попаданий:    1                      │
   │ ❌ Промахов:     41                     │
   │ 📈 Точность:     2%                     │
   └─────────────────────────────────────────┘&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;U1mO&quot;&gt;📊 Примеры использования&lt;/h2&gt;
  &lt;h3 id=&quot;wvTI&quot;&gt;Пример 1: Охота на редкую сеть&lt;/h3&gt;
  &lt;p id=&quot;lnaz&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;baVS&quot;&gt;# Цель: сеть 51.x.x.x
TARGET=&amp;quot;51.&amp;quot;
MIN_DELAY=5
MAX_DELAY=10&lt;/pre&gt;
  &lt;h3 id=&quot;0Kzv&quot;&gt;Пример 2: Быстрый поиск&lt;/h3&gt;
  &lt;p id=&quot;UZuJ&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;zCoJ&quot;&gt;# Цель: подсеть 51.24.x.x
TARGET=&amp;quot;51.24.&amp;quot;
MIN_DELAY=2
MAX_DELAY=4&lt;/pre&gt;
  &lt;h3 id=&quot;a4tR&quot;&gt;Пример 3: Экономичный режим&lt;/h3&gt;
  &lt;p id=&quot;S6zZ&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;29Oa&quot;&gt;# Минимальная нагрузка на API
TARGET=&amp;quot;51.&amp;quot;
MIN_DELAY=15
MAX_DELAY=25&lt;/pre&gt;
  &lt;h3 id=&quot;QGfq&quot;&gt;Пример 4: Многоzone охота&lt;/h3&gt;
  &lt;p id=&quot;FfS1&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;R3b9&quot;&gt;# Запуск в разных зонах (3 терминала)
# Терминал 1: ZONE=&amp;quot;ru-central1-a&amp;quot;
# Терминал 2: ZONE=&amp;quot;ru-central1-b&amp;quot;
# Терминал 3: ZONE=&amp;quot;ru-central1-c&amp;quot;&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;FJGt&quot;&gt;⚠️ Частые проблемы&lt;/h2&gt;
  &lt;h3 id=&quot;q8hd&quot;&gt;1. Ошибка: &amp;quot;yc: command not found&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;u8nk&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;t3T3&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;pmjW&quot;&gt;# Переустановите CLI
curl https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash

# Или добавьте в PATH
export PATH=$PATH:$HOME/yandex-cloud/bin&lt;/pre&gt;
  &lt;h3 id=&quot;7F3R&quot;&gt;2. Ошибка: &amp;quot;jq: command not found&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;mGfO&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;b3gg&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;9HB8&quot;&gt;# Установите jq
sudo apt-get install jq -y  # Ubuntu/Debian
brew install jq              # macOS&lt;/pre&gt;
  &lt;h3 id=&quot;CWx6&quot;&gt;3. Ошибка: &amp;quot;Access denied&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;7ylB&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;thGS&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;DVXk&quot;&gt;# Переавторизуйтесь
yc init
yc iam create-token&lt;/pre&gt;
  &lt;h3 id=&quot;XEQe&quot;&gt;4. Ошибка: &amp;quot;Quota exceeded&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;GzVa&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;wGrK&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;4C8S&quot;&gt;# Увеличьте задержку
MIN_DELAY=10
MAX_DELAY=15

# Или подождите 5-10 минут&lt;/pre&gt;
  &lt;h3 id=&quot;rdlC&quot;&gt;5. Слишком много промахов&lt;/h3&gt;
  &lt;p id=&quot;OMvB&quot;&gt;&lt;strong&gt;Причины:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;BWlc&quot;&gt;
    &lt;li id=&quot;MBGb&quot;&gt;Неправильный TARGET&lt;/li&gt;
    &lt;li id=&quot;sX6l&quot;&gt;Неудачная зона&lt;/li&gt;
    &lt;li id=&quot;QtO5&quot;&gt;Мало попыток&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;FbOP&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;7DYu&quot;&gt;
    &lt;li id=&quot;xH3P&quot;&gt;Проверьте TARGET (должна заканчиваться на точку)&lt;/li&gt;
    &lt;li id=&quot;LtK8&quot;&gt;Смените зону&lt;/li&gt;
    &lt;li id=&quot;hsYg&quot;&gt;Запустите на ночь&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;8wEi&quot;&gt;💡 Советы&lt;/h2&gt;
  &lt;h3 id=&quot;85Xd&quot;&gt;🎯 Для увеличения шансов:&lt;/h3&gt;
  &lt;ol id=&quot;bBhp&quot;&gt;
    &lt;li id=&quot;eruz&quot;&gt;&lt;strong&gt;Запускайте в часы низкой нагрузки&lt;/strong&gt; (ночь, утро выходных)&lt;/li&gt;
    &lt;li id=&quot;afmX&quot;&gt;&lt;strong&gt;Используйте несколько зон одновременно&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;MFdB&quot;&gt;&lt;strong&gt;Уменьшите задержку&lt;/strong&gt; (но осторожно с квотами)&lt;/li&gt;
    &lt;li id=&quot;HShU&quot;&gt;&lt;strong&gt;Увеличьте время работы&lt;/strong&gt; (чем дольше, тем выше шанс)&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;IFjI&quot;&gt;💰 Экономия ресурсов:&lt;/h3&gt;
  &lt;ol id=&quot;kixF&quot;&gt;
    &lt;li id=&quot;GO5S&quot;&gt;Используйте минимальную задержку для снижения нагрузки&lt;/li&gt;
    &lt;li id=&quot;86oi&quot;&gt;Не запускайте одновременно много копий&lt;/li&gt;
    &lt;li id=&quot;kMuo&quot;&gt;Используйте пробный период Yandex Cloud&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;qBES&quot;&gt;🔍 Отладка:&lt;/h3&gt;
  &lt;p id=&quot;8WNY&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;lBR0&quot;&gt;# Режим отладки
bash -x yandex-hunter.sh

# Просмотр логов
tail -f hunter.log

# Проверка квот
yc vpc quota list&lt;/pre&gt;
  &lt;h3 id=&quot;Dt97&quot;&gt;📈 Мониторинг:&lt;/h3&gt;
  &lt;p id=&quot;WbTw&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Qavb&quot;&gt;# В другом терминале
watch -n 1 &amp;#x27;yc vpc address list --format json | jq &amp;quot;.[] | {address: .external_ipv4_address.address, status: .status}&amp;quot;&amp;#x27;&lt;/pre&gt;
  &lt;h3 id=&quot;5LtB&quot;&gt;🎨 Кастомизация:&lt;/h3&gt;
  &lt;ul id=&quot;T8w6&quot;&gt;
    &lt;li id=&quot;NKc8&quot;&gt;Измените цвета в переменных в начале скрипта&lt;/li&gt;
    &lt;li id=&quot;Ubz0&quot;&gt;Добавьте уведомления в Telegram/Slack&lt;/li&gt;
    &lt;li id=&quot;mGri&quot;&gt;Сохраняйте все найденные IP в файл&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;Tst4&quot;&gt;📞 Полезные ссылки&lt;/h2&gt;
  &lt;ul id=&quot;1o8E&quot;&gt;
    &lt;li id=&quot;og2a&quot;&gt;&lt;a href=&quot;https://cloud.yandex.ru/docs/cli/&quot; target=&quot;_blank&quot;&gt;Yandex Cloud CLI Docs&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;2bAw&quot;&gt;&lt;a href=&quot;https://cloud.yandex.ru/docs/vpc/&quot; target=&quot;_blank&quot;&gt;Yandex Cloud VPC API&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;F0ub&quot;&gt;&lt;a href=&quot;https://stedolan.github.io/jq/manual/&quot; target=&quot;_blank&quot;&gt;jq Manual&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;2GpN&quot;&gt;⚖️ Примечание&lt;/h2&gt;
  &lt;p id=&quot;jSpi&quot;&gt;Скрипт предназначен для &lt;strong&gt;образовательных целей&lt;/strong&gt; и тестирования Yandex Cloud API. Убедитесь, что ваши действия не нарушают правила использования сервиса.&lt;/p&gt;
  &lt;p id=&quot;s3vR&quot;&gt;&lt;strong&gt;Удачной охоты! 🎯&lt;/strong&gt;&lt;/p&gt;

</content></entry><entry><id>idsmef:pYUPCtIuQS4</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/pYUPCtIuQS4?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>🚀 Полная инструкция: Hysteria2 на RemnaNode (Node)</title><published>2026-04-04T06:27:42.601Z</published><updated>2026-04-04T06:27:42.601Z</updated><summary type="html">Предварительные требования</summary><content type="html">
  &lt;p id=&quot;KoI3&quot;&gt;Предварительные требования&lt;/p&gt;
  &lt;p id=&quot;3neF&quot;&gt;· Установленный RemnaWave Panel (где вы создаете профили).&lt;br /&gt;· Установленный RemnawaveNode по официальной документации.&lt;br /&gt;· Домен, который НЕ используется для Selfsteal (Caddy) или любого другого сервиса на порту 443.&lt;br /&gt;· Открытый порт 443 (UDP) в firewall.&lt;/p&gt;
  &lt;p id=&quot;6bEw&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;Zi2i&quot;&gt;Шаг 1: Остановить Caddy (Selfsteal) и другие сервисы на 443 порту&lt;/p&gt;
  &lt;p id=&quot;tijX&quot;&gt;Hysteria2 требует монопольного доступа к UDP 443. Caddy (или другой веб-сервер) должен быть остановлен.&lt;/p&gt;
  &lt;p id=&quot;QNMh&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;# Остановить контейнер Caddy (если он использует host network)&lt;br /&gt;docker stop caddy-selfsteal&lt;/p&gt;
  &lt;p id=&quot;yInv&quot;&gt;# Проверить, что порт 443 (TCP/UDP) свободен&lt;br /&gt;ss -tulpn | grep :443&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;9913&quot;&gt;Важно: Если у вас есть другие сервисы на 443 (nginx, apache), остановите их временно.&lt;/p&gt;
  &lt;p id=&quot;qQsd&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;lpuz&quot;&gt;Шаг 2: Получить SSL-сертификат через Certbot (HTTP-01 challenge)&lt;/p&gt;
  &lt;p id=&quot;FkYN&quot;&gt;Так как порт 80 обычно свободен (Caddy его использует только для редиректа), мы используем standalone режим Certbot.&lt;/p&gt;
  &lt;p id=&quot;aJph&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;# Установить certbot&lt;br /&gt;apt update &amp;amp;&amp;amp; apt install certbot -y&lt;/p&gt;
  &lt;p id=&quot;TtHO&quot;&gt;# Остановить всё, что может занимать порт 80 (Caddy)&lt;br /&gt;docker stop caddy-selfsteal&lt;/p&gt;
  &lt;p id=&quot;f1DP&quot;&gt;# Получить сертификат для вашего поддомена (например, hy2.example.com)&lt;br /&gt;certbot certonly --standalone -d hy2.example.com --non-interactive --agree-tos --email your@email.com&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;nSfL&quot;&gt;После успешного выполнения: сертификаты лежат в /etc/letsencrypt/live/hy2.example.com/.&lt;/p&gt;
  &lt;p id=&quot;5HXq&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;IfQP&quot;&gt;Шаг 3: Создать директорию и скопировать сертификаты для RemnaNode&lt;/p&gt;
  &lt;p id=&quot;1gYk&quot;&gt;RemnaNode ожидает сертификаты в configs/xray/ssl внутри контейнера. Мы смонтируем туда директорию с сертификатами.&lt;/p&gt;
  &lt;p id=&quot;YcT6&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;# Создать папку на хосте&lt;br /&gt;mkdir -p /opt/remnawave/nginx&lt;/p&gt;
  &lt;p id=&quot;QQ8t&quot;&gt;# Скопировать сертификаты (обязательно используйте cp -L, чтобы скопировать файлы, а не симлинки)&lt;br /&gt;cp -L /etc/letsencrypt/live/hy2.example.com/fullchain.pem /opt/remnawave/nginx/fullchain.pem&lt;br /&gt;cp -L /etc/letsencrypt/live/hy2.example.com/privkey.pem /opt/remnawave/nginx/privkey.key&lt;/p&gt;
  &lt;p id=&quot;XeAj&quot;&gt;# Установить правильные права (важно для безопасности)&lt;br /&gt;chmod 644 /opt/remnawave/nginx/fullchain.pem&lt;br /&gt;chmod 600 /opt/remnawave/nginx/privkey.key&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;3Pkq&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;MGYX&quot;&gt;Шаг 4: Смонтировать сертификаты в контейнер RemnawaveNode&lt;/p&gt;
  &lt;p id=&quot;M32a&quot;&gt;Отредактируйте docker-compose.yml RemnawaveNode:&lt;/p&gt;
  &lt;p id=&quot;DqSV&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;nano /opt/remnanode/docker-compose.yml&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;nEno&quot;&gt;Найдите секцию volumes: для сервиса remnanode и добавьте следующую строку:&lt;/p&gt;
  &lt;p id=&quot;LYnE&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;yaml&lt;br /&gt;services:&lt;br /&gt;  remnanode:&lt;br /&gt;    # ... остальные настройки ...&lt;br /&gt;    volumes:&lt;br /&gt;      # ... существующие volumes ...&lt;br /&gt;      - /opt/remnawave/nginx:/var/lib/remnawave/configs/xray/ssl&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;9Fco&quot;&gt;Важно: Сохраните отступы (пробелы, не табуляция).&lt;/p&gt;
  &lt;p id=&quot;BzEw&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;4CGw&quot;&gt;Шаг 5: Перезапустить RemnawaveNode&lt;/p&gt;
  &lt;p id=&quot;Wknx&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;cd /opt/remnanode&lt;br /&gt;docker compose down&lt;br /&gt;docker compose up -d&lt;/p&gt;
  &lt;p id=&quot;DJ7A&quot;&gt;# Проверить, что контейнер поднялся и сертификаты смонтировались&lt;br /&gt;docker exec remnanode ls -la /var/lib/remnawave/configs/xray/ssl&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;UVBR&quot;&gt;Вы должны увидеть:&lt;/p&gt;
  &lt;p id=&quot;lOVX&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;br /&gt;fullchain.pem&lt;br /&gt;privkey.key&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;73Hd&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;spIT&quot;&gt;Шаг 6: Вернуть Caddy (Selfsteal) обратно&lt;/p&gt;
  &lt;p id=&quot;1y0o&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;docker start caddy-selfsteal&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;EA0T&quot;&gt;Теперь Caddy снова работает на своём порту (обычно 9443 или другом, не 443).&lt;/p&gt;
  &lt;p id=&quot;kiEx&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;8Evj&quot;&gt;Шаг 7: Настроить Hysteria2 в RemnaWave Panel&lt;/p&gt;
  &lt;p id=&quot;M1IS&quot;&gt;1. Зайдите в админку RemnaWave → Nodes → выберите вашу ноду → Edit.&lt;br /&gt;2. В разделе &amp;quot;Inbound Configurations&amp;quot; создайте новый профиль Hysteria2.&lt;br /&gt;3. Заполните поля:&lt;br /&gt;   · Domain: hy2.example.com (тот же, на который получили сертификат).&lt;br /&gt;   · Port: 443 (UDP).&lt;br /&gt;   · Path: (оставьте пустым, если не используете).&lt;br /&gt;   · Up / Down Mbps: ваши лимиты.&lt;br /&gt;4. В поле &amp;quot;Certificates&amp;quot; (внизу, JSON-редактор) вставьте:&lt;br /&gt;   &amp;#x60;&amp;#x60;&amp;#x60;json&lt;br /&gt;   &amp;quot;certificates&amp;quot;: [&lt;br /&gt;     {&lt;br /&gt;       &amp;quot;keyFile&amp;quot;: &amp;quot;/var/lib/remnawave/configs/xray/ssl/privkey.key&amp;quot;,&lt;br /&gt;       &amp;quot;certificateFile&amp;quot;: &amp;quot;/var/lib/remnawave/configs/xray/ssl/fullchain.pem&amp;quot;&lt;br /&gt;     }&lt;br /&gt;   ]&lt;br /&gt;   &amp;#x60;&amp;#x60;&amp;#x60;&lt;br /&gt;5. Сохраните профиль.&lt;/p&gt;
  &lt;p id=&quot;EUoR&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;Byp9&quot;&gt;Шаг 8: Проверить работу Hysteria2&lt;/p&gt;
  &lt;p id=&quot;yv5S&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;# Проверить, что контейнер слушает UDP 443&lt;br /&gt;ss -ulnp | grep :443&lt;/p&gt;
  &lt;p id=&quot;fE5B&quot;&gt;# Посмотреть логи RemnawaveNode на предмет ошибок Hysteria2&lt;br /&gt;docker logs remnanode --tail 50 | grep -i hysteria&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;Z0Vp&quot;&gt;Если всё правильно — в логах не будет ошибок, а порт 443 будет слушаться внутри контейнера.&lt;/p&gt;
  &lt;p id=&quot;zJTW&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;Gn0k&quot;&gt;🔄 Автообновление сертификатов (важно!)&lt;/p&gt;
  &lt;p id=&quot;Wrnf&quot;&gt;Certbot выдаёт сертификаты на 90 дней. Нужно автоматически продлевать их и перезапускать RemnaNode.&lt;/p&gt;
  &lt;p id=&quot;0J2e&quot;&gt;Создайте скрипт:&lt;/p&gt;
  &lt;p id=&quot;cInp&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;nano /usr/local/bin/renew-hy2-certs.sh&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;arCg&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;#!/bin/bash&lt;br /&gt;set -e&lt;/p&gt;
  &lt;p id=&quot;HHEu&quot;&gt;# Обновить сертификаты&lt;br /&gt;certbot renew --quiet&lt;/p&gt;
  &lt;p id=&quot;SvrF&quot;&gt;# Скопировать обновлённые сертификаты&lt;br /&gt;cp -L /etc/letsencrypt/live/hy2.example.com/fullchain.pem /opt/remnawave/nginx/fullchain.pem&lt;br /&gt;cp -L /etc/letsencrypt/live/hy2.example.com/privkey.pem /opt/remnawave/nginx/privkey.key&lt;br /&gt;chmod 644 /opt/remnawave/nginx/fullchain.pem&lt;br /&gt;chmod 600 /opt/remnawave/nginx/privkey.key&lt;/p&gt;
  &lt;p id=&quot;uO9N&quot;&gt;# Перезагрузить конфигурацию Hysteria2 в контейнере (без остановки)&lt;br /&gt;docker exec remnanode pkill -SIGHUP hysteria 2&amp;gt;/dev/null || true&lt;br /&gt;# Если не поддерживает HUP, просто рестарт ноды:&lt;br /&gt;# docker compose -f /opt/remnanode/docker-compose.yml restart&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;rIuf&quot;&gt;Сделайте скрипт исполняемым и добавьте в cron:&lt;/p&gt;
  &lt;p id=&quot;oiZE&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;bash&lt;br /&gt;chmod +x /usr/local/bin/renew-hy2-certs.sh&lt;br /&gt;crontab -e&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;V1QL&quot;&gt;Добавьте строку:&lt;/p&gt;
  &lt;p id=&quot;8s6c&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;br /&gt;0 3 * * * /usr/local/bin/renew-hy2-certs.sh &amp;gt;&amp;gt; /var/log/hy2-renew.log 2&amp;gt;&amp;amp;1&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;JEsM&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;tHpu&quot;&gt;⚠️ Возможные проблемы и решения&lt;/p&gt;
  &lt;p id=&quot;Ppbr&quot;&gt;Проблема Решение&lt;br /&gt;certbot не может занять порт 80 Остановите все сервисы: systemctl stop nginx или docker stop caddy-selfsteal&lt;br /&gt;В логах failed to load certificate Проверьте права: chmod 644 fullchain.pem &amp;amp;&amp;amp; chmod 600 privkey.key&lt;br /&gt;Hysteria2 не стартует на 443 UDP Убедитесь, что порт не занят: ss -ulnp | grep 443. Caddy использует TCP, не должен мешать.&lt;br /&gt;После перезапуска сертификаты пропадают Проверьте монтирование в docker-compose.yml. Пути должны быть абсолютными.&lt;br /&gt;Ошибка certificate signed by unknown authority Используйте полную цепочку fullchain.pem, а не cert.pem&lt;/p&gt;
  &lt;p id=&quot;jkmI&quot;&gt;---&lt;/p&gt;
  &lt;p id=&quot;LiRJ&quot;&gt;📌 Итоговая структура&lt;/p&gt;
  &lt;p id=&quot;hyus&quot;&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;br /&gt;/opt/remnanode/&lt;br /&gt;├── docker-compose.yml        # с монтированием /opt/remnawave/nginx&lt;br /&gt;/opt/remnawave/nginx/&lt;br /&gt;├── fullchain.pem             # сертификат + цепочка&lt;br /&gt;└── privkey.key               # приватный ключ&lt;br /&gt;&amp;#x60;&amp;#x60;&amp;#x60;&lt;/p&gt;
  &lt;p id=&quot;ihF7&quot;&gt;Главное преимущество: Hysteria2 работает на настоящем SSL-сертификате, его трафик неотличим от обычного HTTPS, обход DPI эффективнее, чем у Reality.&lt;/p&gt;

</content></entry><entry><id>idsmef:fjmhpsx2Hqn</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/fjmhpsx2Hqn?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>Полная инструкция по установке и использованию Yandex Cloud IP Hunter</title><published>2026-04-01T15:42:42.852Z</published><updated>2026-04-01T15:42:42.852Z</updated><summary type="html">bash</summary><content type="html">
  &lt;h2 id=&quot;MX3N&quot;&gt;Содержание&lt;/h2&gt;
  &lt;ol id=&quot;56Et&quot;&gt;
    &lt;li id=&quot;Itwx&quot;&gt;Подготовка системы&lt;/li&gt;
    &lt;li id=&quot;X3Dt&quot;&gt;Установка Yandex Cloud CLI&lt;/li&gt;
    &lt;li id=&quot;2S9x&quot;&gt;Установка jq&lt;/li&gt;
    &lt;li id=&quot;4s1d&quot;&gt;Настройка Yandex Cloud&lt;/li&gt;
    &lt;li id=&quot;wslZ&quot;&gt;Установка скрипта&lt;/li&gt;
    &lt;li id=&quot;tYSB&quot;&gt;Настройка скрипта&lt;/li&gt;
    &lt;li id=&quot;5xBc&quot;&gt;Запуск и использование&lt;/li&gt;
    &lt;li id=&quot;DxBA&quot;&gt;Устранение проблем&lt;/li&gt;
    &lt;li id=&quot;ZekC&quot;&gt;Дополнительные настройки&lt;/li&gt;
  &lt;/ol&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;ykPQ&quot;&gt;1. Подготовка системы&lt;/h2&gt;
  &lt;h3 id=&quot;xgvb&quot;&gt;Проверка операционной системы&lt;/h3&gt;
  &lt;p id=&quot;K839&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;krnC&quot;&gt;# Узнайте вашу ОС
cat /etc/os-release

# Проверьте версию Bash (должна быть 4.0+)
bash --version&lt;/pre&gt;
  &lt;h3 id=&quot;TS8g&quot;&gt;Обновление системы&lt;/h3&gt;
  &lt;p id=&quot;qO71&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;4mc8&quot;&gt;# Ubuntu/Debian
sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

# macOS
brew update &amp;amp;&amp;amp; brew upgrade&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;v15u&quot;&gt;2. Установка Yandex Cloud CLI&lt;/h2&gt;
  &lt;h3 id=&quot;pa29&quot;&gt;Автоматическая установка (рекомендуется)&lt;/h3&gt;
  &lt;p id=&quot;BPCi&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;LzH9&quot;&gt;# Скачать и установить
curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash

# Добавить YC CLI в PATH (автоматически добавится в .bashrc)
source ~/.bashrc

# Или для ZSH
source ~/.zshrc

# Проверить установку
yc version&lt;/pre&gt;
  &lt;h3 id=&quot;17Yy&quot;&gt;Ручная установка (если автоматическая не работает)&lt;/h3&gt;
  &lt;p id=&quot;jfAh&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;H9vt&quot;&gt;# Ubuntu/Debian
wget https://storage.yandexcloud.net/yandexcloud-yc/release/stable/linux/amd64/yc
chmod +x yc
sudo mv yc /usr/local/bin/

# macOS
wget https://storage.yandexcloud.net/yandexcloud-yc/release/stable/darwin/amd64/yc
chmod +x yc
sudo mv yc /usr/local/bin/

# Проверить
yc version&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;H1cv&quot;&gt;3. Установка jq&lt;/h2&gt;
  &lt;p id=&quot;IMSt&quot;&gt;jq - это мощный парсер JSON, необходимый для обработки ответов Yandex Cloud API.&lt;/p&gt;
  &lt;h3 id=&quot;CIqK&quot;&gt;Ubuntu/Debian&lt;/h3&gt;
  &lt;p id=&quot;N53g&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;o8xU&quot;&gt;# Установка
sudo apt update
sudo apt install jq -y

# Проверка
jq --version
# Должно вывести: jq-1.6 или выше&lt;/pre&gt;
  &lt;h3 id=&quot;4c7R&quot;&gt;CentOS/RHEL 7+&lt;/h3&gt;
  &lt;p id=&quot;MfzU&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;6Qme&quot;&gt;# Установка
sudo yum install epel-release -y
sudo yum install jq -y

# Проверка
jq --version&lt;/pre&gt;
  &lt;h3 id=&quot;YQ03&quot;&gt;CentOS/RHEL 8+&lt;/h3&gt;
  &lt;p id=&quot;kd4J&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;TJNk&quot;&gt;# Установка
sudo dnf install epel-release -y
sudo dnf install jq -y

# Проверка
jq --version&lt;/pre&gt;
  &lt;h3 id=&quot;YMq1&quot;&gt;macOS&lt;/h3&gt;
  &lt;p id=&quot;99TA&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;aSu5&quot;&gt;# Установка через Homebrew
brew install jq

# Проверка
jq --version&lt;/pre&gt;
  &lt;h3 id=&quot;aFsh&quot;&gt;Альтернативная установка (если нет прав root)&lt;/h3&gt;
  &lt;p id=&quot;toQQ&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;H9Tz&quot;&gt;# Скачать бинарник
wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
chmod +x jq-linux64
sudo mv jq-linux64 /usr/local/bin/jq

# Проверка
jq --version&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;UwBl&quot;&gt;4. Настройка Yandex Cloud&lt;/h2&gt;
  &lt;h3 id=&quot;IySq&quot;&gt;4.1. Инициализация YC CLI&lt;/h3&gt;
  &lt;p id=&quot;lm0w&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;xXhw&quot;&gt;# Запустить инициализацию
yc init&lt;/pre&gt;
  &lt;p id=&quot;BwA9&quot;&gt;&lt;strong&gt;Пошаговая настройка:&lt;/strong&gt;&lt;/p&gt;
  &lt;ol id=&quot;imLb&quot;&gt;
    &lt;li id=&quot;ng6r&quot;&gt;&lt;strong&gt;Выбор способа авторизации:&lt;/strong&gt;textPlease go to https://oauth.yandex.ru/authorize?response_type=code&amp;amp;client_id=...&lt;/li&gt;
    &lt;ul id=&quot;l8fm&quot;&gt;
      &lt;li id=&quot;qS9Z&quot;&gt;Откройте ссылку в браузере&lt;/li&gt;
      &lt;li id=&quot;mwTP&quot;&gt;Авторизуйтесь в Яндексе&lt;/li&gt;
      &lt;li id=&quot;xqmP&quot;&gt;Скопируйте код авторизации&lt;/li&gt;
      &lt;li id=&quot;goHa&quot;&gt;Вставьте код в терминал&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;RY6w&quot;&gt;&lt;strong&gt;Выбор облака:&lt;/strong&gt;textSelect cloud: [1] my-cloud (id = abc123...)&lt;/li&gt;
    &lt;ul id=&quot;XoQq&quot;&gt;
      &lt;li id=&quot;PMdm&quot;&gt;Выберите номер облака (обычно 1)&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;5swm&quot;&gt;&lt;strong&gt;Выбор папки (каталога):&lt;/strong&gt;textSelect folder: [1] default (id = def456...)&lt;/li&gt;
    &lt;ul id=&quot;86jg&quot;&gt;
      &lt;li id=&quot;8Vgm&quot;&gt;Выберите каталог, где будут создаваться IP-адреса&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;W6Dj&quot;&gt;&lt;strong&gt;Выбор зоны по умолчанию:&lt;/strong&gt;textDefault availability zone: [1] ru-central1-a [2] ru-central1-b [3] ru-central1-c&lt;/li&gt;
    &lt;ul id=&quot;4DG2&quot;&gt;
      &lt;li id=&quot;2e8g&quot;&gt;Выберите любую (скрипт сам будет переключать зоны)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;ykLB&quot;&gt;4.2. Проверка настроек&lt;/h3&gt;
  &lt;p id=&quot;VhY4&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;KQdq&quot;&gt;# Проверить конфигурацию
yc config list

# Должно показать:
# token: ...
# cloud-id: ...
# folder-id: ...
# zone: ru-central1-...&lt;/pre&gt;
  &lt;h3 id=&quot;n2sw&quot;&gt;4.3. Проверка прав доступа&lt;/h3&gt;
  &lt;p id=&quot;WZVu&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;ByRX&quot;&gt;# Проверить, что можно создавать адреса
yc vpc address create --external-ipv4 zone=ru-central1-a --format json

# Если успешно - получите JSON с информацией об адресе
# Сразу удалите тестовый адрес
yc vpc address list --format json | jq -r &amp;#x27;.[].id&amp;#x27; | xargs -I {} yc vpc address delete {}&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;j8U1&quot;&gt;5. Установка скрипта&lt;/h2&gt;
  &lt;h3 id=&quot;Nbbg&quot;&gt;5.1. Скачивание скрипта&lt;/h3&gt;
  &lt;p id=&quot;BEsA&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;5q7X&quot;&gt;# Создать директорию для скриптов (опционально)
mkdir -p ~/scripts
cd ~/scripts

# Скачать скрипт
curl -o ip_hunter.sh https://raw.githubusercontent.com/your-repo/ip_hunter.sh

# Или создать вручную
nano ip_hunter.sh
# (скопируйте код скрипта из предыдущего сообщения)&lt;/pre&gt;
  &lt;h3 id=&quot;CQ86&quot;&gt;5.2. Настройка прав&lt;/h3&gt;
  &lt;p id=&quot;UTd9&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;41qZ&quot;&gt;# Сделать скрипт исполняемым
chmod +x ip_hunter.sh

# Проверить права
ls -la ip_hunter.sh
# Должно быть: -rwxr-xr-x&lt;/pre&gt;
  &lt;h3 id=&quot;MmS8&quot;&gt;5.3. Проверка зависимостей&lt;/h3&gt;
  &lt;p id=&quot;QFe6&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;rviB&quot;&gt;# Проверить наличие всех утилит
which bash      # /bin/bash
which yc        # /usr/local/bin/yc
which jq        # /usr/bin/jq

# Все команды должны показать пути&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;Dbna&quot;&gt;6. Настройка скрипта&lt;/h2&gt;
  &lt;h3 id=&quot;3lT6&quot;&gt;6.1. Редактирование параметров&lt;/h3&gt;
  &lt;p id=&quot;nhXQ&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;eQYa&quot;&gt;# Открыть скрипт для редактирования
nano ip_hunter.sh&lt;/pre&gt;
  &lt;p id=&quot;8N5e&quot;&gt;&lt;strong&gt;Настройка целей (префиксов):&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;2gzF&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;435Q&quot;&gt;# Ищем IP, начинающиеся с 178.154 и 51.250
TARGET_PREFIXES=(
    &amp;quot;178.154&amp;quot;
    &amp;quot;51.250&amp;quot;
)

# Можно добавить свои префиксы
TARGET_PREFIXES=(
    &amp;quot;178.154&amp;quot;
    &amp;quot;51.250&amp;quot;
    &amp;quot;62.84&amp;quot;      # Новый префикс
    &amp;quot;84.201&amp;quot;     # Еще один
)&lt;/pre&gt;
  &lt;p id=&quot;Y8Uj&quot;&gt;&lt;strong&gt;Настройка зон:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Hy7y&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;B6Qc&quot;&gt;# Зоны, в которых будем создавать IP
AVAILABLE_ZONES=(
    &amp;quot;ru-central1-a&amp;quot;
    &amp;quot;ru-central1-b&amp;quot;
    &amp;quot;ru-central1-c&amp;quot;
)

# Можно оставить только некоторые зоны
AVAILABLE_ZONES=(
    &amp;quot;ru-central1-a&amp;quot;
    &amp;quot;ru-central1-b&amp;quot;
    # &amp;quot;ru-central1-c&amp;quot;  # Исключаем
)&lt;/pre&gt;
  &lt;p id=&quot;6lg3&quot;&gt;&lt;strong&gt;Настройка задержек:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;TVIN&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;B2NE&quot;&gt;MIN_DELAY=3    # Минимальная задержка (секунды)
MAX_DELAY=8    # Максимальная задержка (секунды)

# Для быстрого поиска (риск квоты):
MIN_DELAY=1
MAX_DELAY=3

# Для стабильной работы:
MIN_DELAY=5
MAX_DELAY=10&lt;/pre&gt;
  &lt;h3 id=&quot;fpmc&quot;&gt;6.2. Сохранение изменений&lt;/h3&gt;
  &lt;p id=&quot;5Wr6&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;jLPU&quot;&gt;# Ctrl+O - сохранить
# Ctrl+X - выйти из nano&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;crIu&quot;&gt;7. Запуск и использование&lt;/h2&gt;
  &lt;h3 id=&quot;8C6u&quot;&gt;7.1. Простой запуск&lt;/h3&gt;
  &lt;p id=&quot;eT4d&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;etsx&quot;&gt;# Запустить скрипт
./ip_hunter.sh&lt;/pre&gt;
  &lt;h3 id=&quot;ETGz&quot;&gt;7.2. Запуск с сохранением лога&lt;/h3&gt;
  &lt;p id=&quot;bTag&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;wcnS&quot;&gt;# Сохранить весь вывод в файл
./ip_hunter.sh | tee ip_hunter.log

# Только ошибки
./ip_hunter.sh 2&amp;gt; errors.log&lt;/pre&gt;
  &lt;h3 id=&quot;9Vfy&quot;&gt;7.3. Запуск в фоне (screen)&lt;/h3&gt;
  &lt;p id=&quot;ii1b&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;2j2p&quot;&gt;# Установить screen если нет
sudo apt install screen -y

# Создать новую сессию
screen -S ip_hunter

# Запустить скрипт
./ip_hunter.sh

# Отсоединиться от сессии: Ctrl+A, затем D

# Вернуться к сессии
screen -r ip_hunter

# Убить сессию (если нужно остановить)
screen -X -S ip_hunter quit&lt;/pre&gt;
  &lt;h3 id=&quot;Mf6e&quot;&gt;7.4. Запуск в фоне (tmux)&lt;/h3&gt;
  &lt;p id=&quot;zXmL&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;iMm6&quot;&gt;# Установить tmux
sudo apt install tmux -y

# Создать новую сессию
tmux new -s ip_hunter

# Запустить скрипт
./ip_hunter.sh

# Отсоединиться: Ctrl+B, затем D

# Вернуться: tmux attach -t ip_hunter&lt;/pre&gt;
  &lt;h3 id=&quot;Iq9e&quot;&gt;7.5. Автоматический запуск при старте (crontab)&lt;/h3&gt;
  &lt;p id=&quot;XXZn&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;YOkZ&quot;&gt;# Открыть crontab
crontab -e

# Добавить строку для запуска каждые 5 минут
*/5 * * * * /home/username/scripts/ip_hunter.sh &amp;gt;&amp;gt; /home/username/ip_hunter_auto.log 2&amp;gt;&amp;amp;1

# Или запускать при перезагрузке
@reboot /home/username/scripts/ip_hunter.sh&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;NZgx&quot;&gt;8. Устранение проблем&lt;/h2&gt;
  &lt;h3 id=&quot;CJLd&quot;&gt;Проблема 1: &amp;quot;bash: yc: command not found&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;MOFq&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;OhPf&quot;&gt;# Решение: перезагрузить shell
source ~/.bashrc

# Или добавить вручную
echo &amp;#x27;export PATH=$PATH:$HOME/yandex-cloud/bin&amp;#x27; &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc

# Проверить
which yc&lt;/pre&gt;
  &lt;h3 id=&quot;vrYc&quot;&gt;Проблема 2: &amp;quot;jq: command not found&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;1a3o&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;y4uP&quot;&gt;# Ubuntu/Debian
sudo apt install jq -y

# CentOS/RHEL
sudo yum install jq -y

# macOS
brew install jq&lt;/pre&gt;
  &lt;h3 id=&quot;fNyb&quot;&gt;Проблема 3: &amp;quot;Permission denied&amp;quot; при запуске&lt;/h3&gt;
  &lt;p id=&quot;w1O8&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;9in7&quot;&gt;# Дать права на выполнение
chmod +x ip_hunter.sh

# Или запускать через bash
bash ip_hunter.sh&lt;/pre&gt;
  &lt;h3 id=&quot;OkeI&quot;&gt;Проблема 4: &amp;quot;Error: quota exceeded&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;MZIQ&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;6ibM&quot;&gt;# Увеличить задержки в скрипте
MIN_DELAY=8
MAX_DELAY=15

# Или уменьшить количество зон
AVAILABLE_ZONES=(
    &amp;quot;ru-central1-a&amp;quot;
    # временно отключить другие зоны
)&lt;/pre&gt;
  &lt;h3 id=&quot;dUAb&quot;&gt;Проблема 5: &amp;quot;Invalid token&amp;quot; или авторизация&lt;/h3&gt;
  &lt;p id=&quot;5m51&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;qrwv&quot;&gt;# Переинициализировать YC
yc init --force

# Проверить токен
yc config get token

# Обновить токен вручную
yc config set token &amp;lt;новый_токен&amp;gt;&lt;/pre&gt;
  &lt;h3 id=&quot;kWHj&quot;&gt;Проблема 6: Нет прав на создание адресов&lt;/h3&gt;
  &lt;p id=&quot;pdnc&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;tngv&quot;&gt;# Проверить права
yc resource-manager folder get &amp;lt;folder-id&amp;gt;

# Если прав нет, нужно обратиться к администратору облака
# Или создать сервисный аккаунт с правами
yc iam service-account create --name ip-hunter-sa
yc resource-manager folder add-access-binding &amp;lt;folder-id&amp;gt; \
    --role editor \
    --subject serviceAccount:&amp;lt;service-account-id&amp;gt;&lt;/pre&gt;
  &lt;h3 id=&quot;yLNg&quot;&gt;Проблема 7: Скрипт работает медленно&lt;/h3&gt;
  &lt;p id=&quot;RWVR&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;1g5j&quot;&gt;# Уменьшить задержки
MIN_DELAY=2
MAX_DELAY=4

# Увеличить количество зон для большего покрытия
AVAILABLE_ZONES=(
    &amp;quot;ru-central1-a&amp;quot;
    &amp;quot;ru-central1-b&amp;quot;
    &amp;quot;ru-central1-c&amp;quot;
    &amp;quot;ru-central1-d&amp;quot;
)&lt;/pre&gt;
  &lt;h3 id=&quot;t9Bu&quot;&gt;Проблема 8: Не сохраняются найденные IP&lt;/h3&gt;
  &lt;p id=&quot;kQzm&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;7tYC&quot;&gt;# Проверить права на запись
ls -la ip_hunter_success.log

# Если нет файла, он создастся автоматически
# Проверить, есть ли запись
tail -f ip_hunter_success.log&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;LVZe&quot;&gt;9. Дополнительные настройки&lt;/h2&gt;
  &lt;h3 id=&quot;J0DT&quot;&gt;9.1. Создание alias для быстрого запуска&lt;/h3&gt;
  &lt;p id=&quot;Pbav&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Jrjw&quot;&gt;# Добавить в ~/.bashrc
echo &amp;#x27;alias iphunter=&amp;quot;~/scripts/ip_hunter.sh&amp;quot;&amp;#x27; &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc

# Теперь можно запускать просто:
iphunter&lt;/pre&gt;
  &lt;h3 id=&quot;W7XE&quot;&gt;9.2. Настройка уведомлений&lt;/h3&gt;
  &lt;p id=&quot;JIM5&quot;&gt;Добавьте в скрипт уведомления при успехе:&lt;/p&gt;
  &lt;p id=&quot;zU91&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;TyFv&quot;&gt;# Добавить Telegram уведомление
# В секцию успеха добавьте:
curl -s &amp;quot;https://api.telegram.org/bot&amp;lt;TOKEN&amp;gt;/sendMessage&amp;quot; \
    -d &amp;quot;chat_id=&amp;lt;CHAT_ID&amp;gt;&amp;quot; \
    -d &amp;quot;text=✅ Найден IP: $IP_ADDR в зоне $RANDOM_ZONE&amp;quot;&lt;/pre&gt;
  &lt;h3 id=&quot;0a5k&quot;&gt;9.3. Ограничение времени работы&lt;/h3&gt;
  &lt;p id=&quot;7oPS&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Ig7S&quot;&gt;# Запустить скрипт на 1 час
timeout 3600 ./ip_hunter.sh

# Или добавить в сам скрипт:
MAX_RUNTIME=3600  # 1 час в секундах
if [ $(date +%s) -gt $((START_TIME + MAX_RUNTIME)) ]; then
    echo &amp;quot;Превышено время работы&amp;quot;
    exit 0
fi&lt;/pre&gt;
  &lt;h3 id=&quot;GR1e&quot;&gt;9.4. Многопоточный режим (экспериментально)&lt;/h3&gt;
  &lt;p id=&quot;CHqu&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;05FC&quot;&gt;# Создать несколько копий скрипта
./ip_hunter.sh &amp;amp;  # Запуск в фоне
./ip_hunter.sh &amp;amp;  # Второй экземпляр

# Но будьте осторожны с квотой!&lt;/pre&gt;
  &lt;h3 id=&quot;4cZ5&quot;&gt;9.5. Создание systemd сервиса&lt;/h3&gt;
  &lt;p id=&quot;1YuN&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;p8PO&quot;&gt;# Создать файл сервиса
sudo nano /etc/systemd/system/ip-hunter.service&lt;/pre&gt;
  &lt;p id=&quot;H3dK&quot;&gt;ini&lt;/p&gt;
  &lt;pre id=&quot;ReVT&quot;&gt;[Unit]
Description=Yandex Cloud IP Hunter
After=network.target

[Service]
Type=simple
User=your_username
WorkingDirectory=/home/your_username/scripts
ExecStart=/home/your_username/scripts/ip_hunter.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target&lt;/pre&gt;
  &lt;p id=&quot;CkdU&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;91B6&quot;&gt;# Включить сервис
sudo systemctl enable ip-hunter
sudo systemctl start ip-hunter

# Проверить статус
sudo systemctl status ip-hunter

# Посмотреть логи
sudo journalctl -u ip-hunter -f&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;lguL&quot;&gt;10. Проверка работоспособности&lt;/h2&gt;
  &lt;h3 id=&quot;EINc&quot;&gt;Тестовый запуск&lt;/h3&gt;
  &lt;p id=&quot;Mp6K&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;NhWi&quot;&gt;# Сделать тестовый прогон (1-2 итерации)
# Временно измените MIN_DELAY=1 и MAX_DELAY=1
# И запустите
./ip_hunter.sh&lt;/pre&gt;
  &lt;h3 id=&quot;MPgA&quot;&gt;Ожидаемый вывод при успехе:&lt;/h3&gt;
  &lt;p id=&quot;vyiO&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;e59S&quot;&gt;╔══════════════════════════════════════════════════════════════════════════╗
║                    YANDEX CLOUD IP HUNTER v3.0                           ║
║                    Cross-Zone IP Scanner                                 ║
╚══════════════════════════════════════════════════════════════════════════╝
🎯 Цели поиска:
  → 178.154.*.*.* (любая зона)
  → 51.250.*.*.* (любая зона)
🌍 Зоны для сканирования:
  → ru-central1-a
  → ru-central1-b
  → ru-central1-c
⏱️  Задержка: 3-8 сек (рандом)
🧹 Авто-очистка: ВКЛ

🧹 Очистка всех адресов... ✅ Чисто (нет адресов)

№    | IP Адрес          | Префикс      | Статус                | Зона создания
──────────────────────────────────────────────────────────────────────────────────
1    | 178.154.23.45     | 178.154      | 🎉 ПОЙМАЛ! 🎉         | ru-central1-b&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;J0s4&quot;&gt;11. Полезные команды для мониторинга&lt;/h2&gt;
  &lt;p id=&quot;IOHy&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;RKD7&quot;&gt;# Посмотреть созданные адреса
yc vpc address list

# Посмотреть детали конкретного адреса
yc vpc address get &amp;lt;address-id&amp;gt;

# Удалить все адреса вручную
yc vpc address list --format json | jq -r &amp;#x27;.[].id&amp;#x27; | xargs -I {} yc vpc address delete {}

# Посмотреть квоты
yc resource-manager folder get &amp;lt;folder-id&amp;gt; --format json | jq &amp;#x27;.quotas&amp;#x27;

# Посмотреть логи успешных находок
cat ip_hunter_success.log

# Мониторить логи в реальном времени
tail -f ip_hunter_success.log&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;gbfV&quot;&gt;12. Безопасность и лучшие практики&lt;/h2&gt;
  &lt;h3 id=&quot;kBiX&quot;&gt;12.1. Использование сервисного аккаунта&lt;/h3&gt;
  &lt;p id=&quot;jT8L&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Bwk8&quot;&gt;# Создать сервисный аккаунт
yc iam service-account create --name ip-hunter

# Создать ключ доступа
yc iam access-key create --service-account-name ip-hunter

# Использовать ключ в скрипте
export YC_TOKEN=&amp;lt;token&amp;gt;
export YC_FOLDER_ID=&amp;lt;folder-id&amp;gt;&lt;/pre&gt;
  &lt;h3 id=&quot;8cKe&quot;&gt;12.2. Ограничение прав&lt;/h3&gt;
  &lt;p id=&quot;rS8i&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;JNGd&quot;&gt;# Выдать только необходимые права
yc resource-manager folder add-access-binding &amp;lt;folder-id&amp;gt; \
    --role vpc.admin \
    --subject serviceAccount:&amp;lt;sa-id&amp;gt;&lt;/pre&gt;
  &lt;h3 id=&quot;YOE9&quot;&gt;12.3. Резервное копирование успешных IP&lt;/h3&gt;
  &lt;p id=&quot;cUkF&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;FZZR&quot;&gt;# Добавить в crontab для ежедневного копирования
0 0 * * * cp ~/scripts/ip_hunter_success.log ~/backups/ip_hunter_$(date +\%Y\%m\%d).log&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;wTTY&quot;&gt;13. Заключение&lt;/h2&gt;
  &lt;h3 id=&quot;Ye9U&quot;&gt;Готово! Ваш скрипт полностью настроен и готов к использованию.&lt;/h3&gt;
  &lt;p id=&quot;L3oU&quot;&gt;&lt;strong&gt;Краткое резюме:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;o6T3&quot;&gt;
    &lt;li id=&quot;OThG&quot;&gt;✅ Установлены все зависимости (yc, jq)&lt;/li&gt;
    &lt;li id=&quot;Ryxt&quot;&gt;✅ Настроен Yandex Cloud CLI&lt;/li&gt;
    &lt;li id=&quot;g2mG&quot;&gt;✅ Скачан и настроен скрипт&lt;/li&gt;
    &lt;li id=&quot;9vBp&quot;&gt;✅ Проведено тестирование&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;HJ6E&quot;&gt;&lt;strong&gt;Теперь вы можете:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;nLn5&quot;&gt;
    &lt;li id=&quot;4ofM&quot;&gt;Искать IP-адреса с нужными префиксами&lt;/li&gt;
    &lt;li id=&quot;ucAB&quot;&gt;Сканировать несколько зон одновременно&lt;/li&gt;
    &lt;li id=&quot;P98G&quot;&gt;Автоматически очищать квоту&lt;/li&gt;
    &lt;li id=&quot;f9Dy&quot;&gt;Получать статистику в реальном времени&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;oonh&quot;&gt;&lt;strong&gt;Приятного использования! 🚀&lt;/strong&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;Qw4H&quot;&gt;&lt;em&gt;Если у вас остались вопросы, проверьте:&lt;/em&gt;&lt;/p&gt;
  &lt;ol id=&quot;YpHl&quot;&gt;
    &lt;li id=&quot;eyol&quot;&gt;Логи ошибок: &lt;code&gt;cat ip_hunter_success.log&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;amYt&quot;&gt;Статус YC CLI: &lt;code&gt;yc config list&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;zjMp&quot;&gt;Версии утилит: &lt;code&gt;yc version &amp;amp;&amp;amp; jq --version &amp;amp;&amp;amp; bash --version&lt;/code&gt;&lt;/li&gt;
  &lt;/ol&gt;

</content></entry><entry><id>idsmef:7GiK8jvCmUb</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/7GiK8jvCmUb?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>Пост 28.03.2026</title><published>2026-03-28T12:00:17.464Z</published><updated>2026-03-28T12:00:17.464Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/69/80/69807b3b-fed5-42f9-bc56-391ffab7401b.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/26/e7/26e7a6aa-7d66-462b-a699-f611001d63a6.png&quot;&gt;1. Получите ключ подписки (ссылку):</summary><content type="html">
  &lt;h3 id=&quot;DKiA&quot;&gt;Инструкция по подключению VPN (&lt;a href=&quot;https://bill.pbalka.ru/&quot; target=&quot;_blank&quot;&gt;bill.pbalka.ru&lt;/a&gt;)&lt;/h3&gt;
  &lt;p id=&quot;x4mA&quot;&gt;&lt;strong&gt;1. Получите ключ подписки (ссылку):&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;JjWy&quot;&gt;
    &lt;li id=&quot;Rvat&quot;&gt;Откройте браузер на телефоне и перейдите на сайт &lt;strong&gt;&lt;a href=&quot;https://bill.pbalka.ru/&quot; target=&quot;_blank&quot;&gt;bill.pbalka.ru&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li id=&quot;c6cf&quot;&gt;Авторизуйтесь в системе (если у вас еще нет аккаунта — зарегистрируйтесь).&lt;/li&gt;
    &lt;li id=&quot;rK8g&quot;&gt;Перейдите в раздел &lt;strong&gt;«Услуги»&lt;/strong&gt;.&lt;/li&gt;
    &lt;li id=&quot;zsPc&quot;&gt;нажмите на  активную VPN-подписки &lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;NH2i&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/26/e7/26e7a6aa-7d66-462b-a699-f611001d63a6.png&quot; width=&quot;1153&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul id=&quot;71J9&quot;&gt;
    &lt;li id=&quot;807B&quot;&gt;перейдите в раздел &amp;lt;&amp;lt;&lt;strong&gt;Подключение&lt;/strong&gt;&amp;gt;&amp;gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;2jD2&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9f/dc/9fdc0dd0-198b-4f70-9563-0e6c596201ca.png&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;GB3k&quot;&gt;Нажмите кнопку &amp;quot;Добавить в приложение&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;4Fng&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;oOug&quot;&gt;&lt;strong&gt;2. Установка приложения на телевизор (ТВ-приставку):&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;Ldzs&quot;&gt;
    &lt;li id=&quot;z99w&quot;&gt;На телевизоре или ТВ-приставке откройте &lt;strong&gt;Google Play Market&lt;/strong&gt;.&lt;/li&gt;
    &lt;li id=&quot;QHVG&quot;&gt;Найдите и установите приложение &lt;strong&gt;Happ&lt;/strong&gt; (или используйте заранее скачанный APK-файл, если установка из маркета недоступна).&lt;/li&gt;
    &lt;li id=&quot;G3EG&quot;&gt;Запустите приложение &lt;strong&gt;Happ&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;W8qj&quot;&gt;&lt;strong&gt;3. Подготовка к передаче данных:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;b3Cj&quot;&gt;
    &lt;li id=&quot;xkaS&quot;&gt;В интерфейсе приложения Happ найдите и нажмите кнопку &lt;strong&gt;«Отправить через API вручную»&lt;/strong&gt; (обычно она расположена в боковом меню или на главном экране).&lt;/li&gt;
    &lt;li id=&quot;zk2t&quot;&gt;На экране телевизора справа появится &lt;strong&gt;QR-код&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;vd74&quot;&gt;&lt;strong&gt;4. Передача ключа через телефон:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;wD0o&quot;&gt;
    &lt;li id=&quot;OZSE&quot;&gt;Возьмите телефон, откройте приложение камеры (или любой QR-сканер) и наведите на QR-код на экране телевизора.&lt;/li&gt;
    &lt;li id=&quot;XcGL&quot;&gt;Перейдите по открывшейся ссылке в браузере телефона.&lt;/li&gt;
    &lt;li id=&quot;hisK&quot;&gt;На открывшемся сайте найдите поле &lt;strong&gt;«Данные»&lt;/strong&gt;.&lt;/li&gt;
    &lt;li id=&quot;MaOc&quot;&gt;Вставьте в это поле &lt;strong&gt;ключ-ссылку&lt;/strong&gt;, которую вы скопировали на сайте &lt;strong&gt;&lt;a href=&quot;https://bill.pbalka.ru/&quot; target=&quot;_blank&quot;&gt;bill.pbalka.ru&lt;/a&gt;&lt;/strong&gt; в пункте 1.&lt;/li&gt;
    &lt;li id=&quot;BmRs&quot;&gt;Нажмите кнопку &lt;strong&gt;«Отправить данные»&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;3sjY&quot;&gt;&lt;strong&gt;5. Активация VPN на телевизоре:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;zNx2&quot;&gt;
    &lt;li id=&quot;dsKY&quot;&gt;После отправки данных на телевизоре автоматически загрузится конфигурация подписки.&lt;/li&gt;
    &lt;li id=&quot;vNql&quot;&gt;Чтобы подключиться, нажмите на большую круглую кнопку с символом включения &lt;strong&gt;(⏻)&lt;/strong&gt;.&lt;/li&gt;
    &lt;li id=&quot;sBL2&quot;&gt;&lt;em&gt;(Опционально)&lt;/em&gt; Если нужно сменить страну, выберите другую локацию в списке перед подключением или после нажатия на кнопку.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;9C9S&quot;&gt;&lt;strong&gt;6. Проверка подключения:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;Swqz&quot;&gt;
    &lt;li id=&quot;Bdyl&quot;&gt;✅ &lt;strong&gt;Успех:&lt;/strong&gt; Если после проверки соединения вместо красной кнопки «Проверить текущее подключение» появится надпись &lt;strong&gt;«Успешно»&lt;/strong&gt; — вы подключены к VPN.&lt;/li&gt;
    &lt;li id=&quot;pvmI&quot;&gt;❌ &lt;strong&gt;Ошибка:&lt;/strong&gt; Если отобразится ошибка — повторите попытку. Если не срабатывает, смените локацию (страну) в приложении Happ и повторите проверку.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h3 id=&quot;N1jm&quot;&gt;Видео-инструкции (для наглядности)&lt;/h3&gt;
  &lt;p id=&quot;xtjs&quot;&gt;Чтобы процесс был максимально понятным, воспользуйтесь видео-гайдами:&lt;/p&gt;
  &lt;ol id=&quot;uexL&quot;&gt;
    &lt;li id=&quot;3J2f&quot;&gt;&lt;strong&gt;Как получить ключ в &lt;a href=&quot;https://bill.pbalka.ru/&quot; target=&quot;_blank&quot;&gt;bill.pbalka.ru&lt;/a&gt;:&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;(Здесь обычно вставляется ссылка на видео, где показан личный кабинет и кнопка копирования ссылки)&lt;/em&gt;&lt;br /&gt;👉 &lt;strong&gt;[Ссылка: &lt;a href=&quot;https://t.me/srvpbalka/1/13&quot; target=&quot;_blank&quot;&gt;Как скопировать VPN-ссылку в биллинге&lt;/a&gt;]&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;X7By&quot;&gt;&lt;strong&gt;Как настроить Happ на телевизоре (универсально):&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;(Видео, демонстрирующее установку приложения, сканирование QR-кода и нажатие кнопки питания)&lt;/em&gt;&lt;br /&gt;👉 &lt;strong&gt;[Ссылка: &lt;a href=&quot;https://t.me/srvpbalka/1/14&quot; target=&quot;_blank&quot;&gt;Настройка Happ для Smart TV&lt;/a&gt;]&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;9sup&quot;&gt;&lt;strong&gt;Видео: Полная настройка от А до Я (&lt;a href=&quot;https://bill.pbalka.ru/&quot; target=&quot;_blank&quot;&gt;bill.pbalka.ru&lt;/a&gt; + Happ):&lt;/strong&gt;&lt;br /&gt;*(Краткий ролик (1-2 минуты), объединяющий оба этапа)*&lt;br /&gt;👉 &lt;strong&gt;[Ссылка: Готовая видеоинструкция подключения]&lt;/strong&gt;&lt;/li&gt;
  &lt;/ol&gt;

</content></entry><entry><id>idsmef:NAiIda38_2E</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/NAiIda38_2E?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>ПОЛЬЗОВАТЕЛЬСКОЕ СОГЛАШЕНИЕ</title><published>2026-03-09T17:00:16.524Z</published><updated>2026-03-09T17:00:16.524Z</updated><summary type="html">1.1. Администрация / Правообладатель — лицо, осуществляющее управление Телеграм-ботом @mrzbill_bot и предоставляющее доступ к Сервисам.
1.2. Пользователь — любое дееспособное физическое лицо, использующее Сервисы через Телеграм-бота.
1.3. Сервис / Услуга — функционал Бота, позволяющий Пользователю приобретать, активировать и управлять подписками на VPN-сервисы, а также использовать сопутствующие функции (реферальная программа, бонусы и т.д.).</summary><content type="html">
  &lt;h3 id=&quot;dJTi&quot;&gt;1. Термины и определения&lt;/h3&gt;
  &lt;p id=&quot;3Jk8&quot;&gt;1.1. &lt;strong&gt;Администрация / Правообладатель&lt;/strong&gt; — лицо, осуществляющее управление Телеграм-ботом &lt;code&gt;@mrzbill_bot&lt;/code&gt; и предоставляющее доступ к Сервисам.&lt;br /&gt;1.2. &lt;strong&gt;Пользователь&lt;/strong&gt; — любое дееспособное физическое лицо, использующее Сервисы через Телеграм-бота.&lt;br /&gt;1.3. &lt;strong&gt;Сервис / Услуга&lt;/strong&gt; — функционал Бота, позволяющий Пользователю приобретать, активировать и управлять подписками на VPN-сервисы, а также использовать сопутствующие функции (реферальная программа, бонусы и т.д.).&lt;/p&gt;
  &lt;h3 id=&quot;rAQr&quot;&gt;2. Предмет Соглашения&lt;/h3&gt;
  &lt;p id=&quot;VjYG&quot;&gt;2.1. Настоящее Соглашение регулирует отношения между Администрацией и Пользователем по поводу использования функционала Бота.&lt;br /&gt;2.2. Администрация предоставляет Пользователю доступ к Сервисам, перечень которых определен в меню Бота, а Пользователь обязуется оплачивать и использовать их в соответствии с условиями Соглашения.&lt;br /&gt;2.3. Полный перечень тарифов, их стоимость и характеристики публикуются в соответствующих разделах Бота (команда &lt;code&gt;/pricelist&lt;/code&gt;).&lt;/p&gt;
  &lt;h3 id=&quot;JHKW&quot;&gt;3. Порядок оказания услуг&lt;/h3&gt;
  &lt;p id=&quot;kmTc&quot;&gt;3.1. Пользователь самостоятельно заказывает услугу через интерфейс Бота.&lt;br /&gt;3.2. Услуга считается оказанной с момента предоставления Пользователю доступа к ключу/ссылке/QR-коду для настройки VPN, если иное не предусмотрено конкретным тарифом.&lt;br /&gt;3.3. Обязанность Администрации по предоставлению услуги считается исполненной с момента активации подписки для Пользователя и предоставления доступа к конфигурации.&lt;/p&gt;
  &lt;h3 id=&quot;ps7k&quot;&gt;4. Оплата и возврат средств&lt;/h3&gt;
  &lt;p id=&quot;V2PT&quot;&gt;4.1. Оплата услуг производится через интегрированные платежные системы (ЮKassa, Telegram Stars) или по квитанции на реквизиты администратора.&lt;br /&gt;4.2. Пользователь обязуется своевременно оплачивать выбранные тарифы. При недостатке средств на балансе услуга может быть заблокирована (статус &lt;code&gt;BLOCK&lt;/code&gt;).&lt;br /&gt;4.3. &lt;strong&gt;Возврат денежных средств&lt;/strong&gt; производится в соответствии с Законом РФ &amp;quot;О защите прав потребителей&amp;quot;.&lt;/p&gt;
  &lt;ul id=&quot;enRL&quot;&gt;
    &lt;li id=&quot;TVB6&quot;&gt;Пользователь вправе отказаться от услуги до момента получения доступа к конфигурации (ключа).&lt;/li&gt;
    &lt;li id=&quot;KqYU&quot;&gt;Если услуга была активирована, возврат производится пропорционально неиспользованному времени (расчет ведется в сутках), за вычетом фактических расходов Администрации (например, комиссии платежных систем).&lt;/li&gt;
    &lt;li id=&quot;lKDz&quot;&gt;Для инициирования возврата необходимо обратиться в поддержку.&lt;br /&gt;4.4. В случае технической невозможности оказания услуги по вине Администрации, средства подлежат возврату в полном объеме.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;LE4L&quot;&gt;5. Права и обязанности Сторон&lt;/h3&gt;
  &lt;p id=&quot;EH5U&quot;&gt;5.1. &lt;strong&gt;Администрация обязуется:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;lSzk&quot;&gt;
    &lt;li id=&quot;a8MG&quot;&gt;Обеспечивать работоспособность Сервиса 24/7, за исключением времени проведения профилактических работ.&lt;/li&gt;
    &lt;li id=&quot;DEAH&quot;&gt;Обеспечивать конфиденциальность данных Пользователя (см. Политику конфиденциальности).&lt;/li&gt;
    &lt;li id=&quot;5UYJ&quot;&gt;Оказывать техническую поддержку Пользователям.&lt;br /&gt;5.2. &lt;strong&gt;Администрация имеет право:&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;0z7r&quot;&gt;Приостанавливать оказание услуг в случае нарушения Пользователем условий Соглашения.&lt;/li&gt;
    &lt;li id=&quot;ULp1&quot;&gt;Изменять стоимость тарифов в одностороннем порядке с предварительным уведомлением Пользователей (например, через рассылку). Для текущих подписок изменение стоимости применяется с момента следующего продления.&lt;/li&gt;
    &lt;li id=&quot;iCMl&quot;&gt;Блокировать доступ Пользователя в случае попыток взлома, спама или иных деструктивных действий.&lt;br /&gt;5.3. &lt;strong&gt;Пользователь обязуется:&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;BMGQ&quot;&gt;Не использовать Сервис для целей, противоречащих законодательству РФ (например, для обхода блокировок экстремистских ресурсов, распространения вредоносного ПО).&lt;/li&gt;
    &lt;li id=&quot;aZDE&quot;&gt;Не передавать свои ключи доступа третьим лицам, если это ограничено условиями тарифа.&lt;/li&gt;
    &lt;li id=&quot;02xV&quot;&gt;Самостоятельно нести ответственность за сохранность своих данных для входа.&lt;br /&gt;5.4. &lt;strong&gt;Пользователь имеет право:&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;osSW&quot;&gt;Получать услуги в соответствии с выбранным тарифом.&lt;/li&gt;
    &lt;li id=&quot;kiqg&quot;&gt;Обращаться в службу поддержки по вопросам работы Сервиса.&lt;/li&gt;
    &lt;li id=&quot;otqU&quot;&gt;Отказаться от услуг и потребовать возврата средств на условиях п. 4.3.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;KEJI&quot;&gt;6. Ограничение ответственности&lt;/h3&gt;
  &lt;p id=&quot;5VRh&quot;&gt;6.1. Сервис предоставляется &amp;quot;как есть&amp;quot;. Администрация не несет ответственности за прямой или косвенный ущерб, возникший в результате использования или невозможности использования Сервиса.&lt;br /&gt;6.2. Администрация не несет ответственности за качество работы интернет-канала Пользователя, а также за блокировки со стороны интернет-провайдеров или государственных органов.&lt;br /&gt;6.3. Администрация не гарантирует 100% доступность серверов во всех странах мира в любой момент времени, но прилагает все усилия для обеспечения стабильности соединения.&lt;/p&gt;
  &lt;h3 id=&quot;lGap&quot;&gt;7. Реферальная программа&lt;/h3&gt;
  &lt;p id=&quot;a7yN&quot;&gt;7.1. Пользователь может участвовать в реферальной программе.&lt;br /&gt;7.2. За привлеченных пользователей (рефералов) начисляются бонусы в размере, указанном в разделе &lt;code&gt;/referrals&lt;/code&gt;.&lt;br /&gt;7.3. Бонусы могут быть использованы для оплаты услуг. Администрация оставляет за собой право блокировать бонусный счет в случае выявления накруток или мошеннических действий.&lt;/p&gt;
  &lt;h3 id=&quot;lo0F&quot;&gt;8. Прочие условия&lt;/h3&gt;
  &lt;p id=&quot;0Kky&quot;&gt;8.1. Настоящее Соглашение может быть изменено Администрацией в одностороннем порядке. Актуальная версия всегда доступна в Боте.&lt;br /&gt;8.2. Начало использования Сервиса означает полное и безоговорочное принятие Пользователем условий настоящего Соглашения.&lt;br /&gt;8.3. По всем вопросам обращаться в поддержку: &lt;code&gt;@idsmef&lt;/code&gt;.&lt;/p&gt;

</content></entry><entry><id>idsmef:LZ1RSkqHVtV</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/LZ1RSkqHVtV?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ</title><published>2026-03-09T16:57:43.019Z</published><updated>2026-03-09T16:57:43.019Z</updated><summary type="html">1.1. Настоящая Политика конфиденциальности (далее — Политика) действует в отношении всей информации, которую Телеграм-бот @[BotUsername] (далее — Бот) может получить о Пользователе во время использования им Сервисов.
1.2. Использование Сервисов означает безоговорочное согласие Пользователя с настоящей Политикой и указанными в ней условиями обработки его персональной информации.
1.3. В случае несогласия с условиями Политики Пользователь должен воздержаться от использования Сервисов.</summary><content type="html">
  &lt;h3 id=&quot;zgBT&quot;&gt;1. Общие положения&lt;/h3&gt;
  &lt;p id=&quot;sonP&quot;&gt;1.1. Настоящая Политика конфиденциальности (далее — Политика) действует в отношении всей информации, которую Телеграм-бот &lt;code&gt;@[BotUsername]&lt;/code&gt; (далее — Бот) может получить о Пользователе во время использования им Сервисов.&lt;br /&gt;1.2. Использование Сервисов означает безоговорочное согласие Пользователя с настоящей Политикой и указанными в ней условиями обработки его персональной информации.&lt;br /&gt;1.3. В случае несогласия с условиями Политики Пользователь должен воздержаться от использования Сервисов.&lt;/p&gt;
  &lt;h3 id=&quot;GshZ&quot;&gt;2. Персональная информация Пользователей&lt;/h3&gt;
  &lt;p id=&quot;r4eR&quot;&gt;2.1. &lt;strong&gt;Под персональной информацией в настоящей Политике понимается:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;NaOF&quot;&gt;
    &lt;li id=&quot;KSa5&quot;&gt;&lt;strong&gt;Техническая информация:&lt;/strong&gt; Ваш Telegram ID, имя пользователя (username), имя и фамилия (full_name), указанные в Telegram, а также идентификатор чата (chat_id).&lt;/li&gt;
    &lt;li id=&quot;lw59&quot;&gt;&lt;strong&gt;Информация об активности:&lt;/strong&gt; Дата регистрации, история заказов услуг (VPN-подписок), история платежей и начислений бонусов, IP-адрес (в журналах безопасности), информация о действиях в Боте (нажатия на кнопки, ввод данных).&lt;/li&gt;
    &lt;li id=&quot;cCHb&quot;&gt;&lt;strong&gt;Информация, предоставляемая Пользователем добровольно:&lt;/strong&gt; Тексты обращений в поддержку, файлы квитанций об оплате, введенные промокоды.&lt;br /&gt;2.2. &lt;strong&gt;Цели сбора и обработки информации:&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;xrKU&quot;&gt;Идентификация Пользователя в рамках Сервиса.&lt;/li&gt;
    &lt;li id=&quot;16DX&quot;&gt;Предоставление функционала Бота: создание и управление подписками, обработка платежей, активация услуг.&lt;/li&gt;
    &lt;li id=&quot;LMsv&quot;&gt;Связь с Пользователем (направление уведомлений о статусе подписок, платежей, информационных сообщений).&lt;/li&gt;
    &lt;li id=&quot;I65P&quot;&gt;Ведение статистики и улучшение работы Сервиса.&lt;/li&gt;
    &lt;li id=&quot;7T0n&quot;&gt;Начисление и списание бонусов в рамках реферальной программы.&lt;/li&gt;
    &lt;li id=&quot;UsaO&quot;&gt;Обработка запросов в службу поддержки.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;jiDg&quot;&gt;3. Условия обработки персональной информации&lt;/h3&gt;
  &lt;p id=&quot;DefV&quot;&gt;3.1. Обработка персональной информации осуществляется на основе принципов законности и справедливости. Обработка осуществляется в автоматизированном режиме с использованием баз данных на платформе [Название платформы, если известно, например: &amp;quot;SHM&amp;quot;].&lt;/p&gt;
  &lt;h3 id=&quot;qlHu&quot;&gt;4. Передача информации третьим лицам&lt;/h3&gt;
  &lt;p id=&quot;u54X&quot;&gt;4.1. Бот не передает персональную информацию Пользователей третьим лицам, за исключением случаев, прямо предусмотренных настоящей Политикой:&lt;/p&gt;
  &lt;ul id=&quot;S8H1&quot;&gt;
    &lt;li id=&quot;TNev&quot;&gt;&lt;strong&gt;Платежные системы (ЮKassa, Telegram Stars и др.):&lt;/strong&gt; Для проведения транзакций передается необходимая информация (сумма платежа, идентификатор пользователя).&lt;/li&gt;
    &lt;li id=&quot;yLR0&quot;&gt;&lt;strong&gt;Провайдеры услуг (VPN-серверы):&lt;/strong&gt; Для активации подписки может передаваться техническая информация (например, UUID пользователя).&lt;/li&gt;
    &lt;li id=&quot;mp3u&quot;&gt;&lt;strong&gt;Государственные органы:&lt;/strong&gt; В случаях, предусмотренных законодательством РФ.&lt;br /&gt;4.2. Бот может использовать обезличенные данные для аналитики с привлечением сторонних сервисов.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;XroQ&quot;&gt;5. Обязательства Сторон&lt;/h3&gt;
  &lt;p id=&quot;WVPm&quot;&gt;5.1. &lt;strong&gt;Администрация Бота обязуется:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;1cOp&quot;&gt;
    &lt;li id=&quot;KOBn&quot;&gt;Использовать полученную информацию исключительно для целей, указанных в п. 2.2.&lt;/li&gt;
    &lt;li id=&quot;nhna&quot;&gt;Обеспечить хранение конфиденциальной информации в тайне.&lt;/li&gt;
    &lt;li id=&quot;6MHH&quot;&gt;Принимать меры для защиты информации от несанкционированного доступа.&lt;br /&gt;5.2. &lt;strong&gt;Пользователь обязуется:&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;yKH0&quot;&gt;Не передавать данные своей учетной записи (файлы конфигурации, ссылки на подключение) третьим лицам.&lt;/li&gt;
    &lt;li id=&quot;NVlI&quot;&gt;Сообщать в поддержку о любых случаях подозрительной активности в аккаунте.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;Kxfp&quot;&gt;6. Хранение и удаление данных&lt;/h3&gt;
  &lt;p id=&quot;xEDn&quot;&gt;6.1. Персональные данные Пользователя хранятся до момента удаления его аккаунта.&lt;br /&gt;6.2. Удаление аккаунта происходит автоматически после команды администратора или через функционал Бота (если предусмотрено). После удаления информация о Пользователе удаляется из активных баз данных. Информация о платежах и транзакциях может храниться в резервных копиях в целях финансовой отчетности.&lt;/p&gt;
  &lt;h3 id=&quot;hByT&quot;&gt;7. Изменение Политики конфиденциальности&lt;/h3&gt;
  &lt;p id=&quot;NAxf&quot;&gt;7.1. Администрация Бота имеет право вносить изменения в настоящую Политику. Новая редакция Политики вступает в силу с момента ее опубликования в Боте, если иное не предусмотрено новой редакцией.&lt;/p&gt;
  &lt;h3 id=&quot;zB7b&quot;&gt;8. Контакты и вопросы&lt;/h3&gt;
  &lt;p id=&quot;qwKd&quot;&gt;8.1. По всем вопросам, связанным с обработкой персональных данных, Пользователь может связаться со службой поддержки: &lt;code&gt;@idsmef&lt;/code&gt;.&lt;/p&gt;

</content></entry><entry><id>idsmef:IeWDvvMOYkR</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/IeWDvvMOYkR?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>📱 mobile443 - Фильтрация 443 порта по мобильным сетям РФ</title><published>2026-03-09T10:53:30.376Z</published><updated>2026-03-09T10:56:52.651Z</updated><summary type="html">Данный скрипт реализует белый список (allowlist) для порта 443. Он разрешает входящие соединения на 443 порт (TCP и UDP, то есть HTTPS и QUIC) только с IP-адресов, принадлежащих основным российским мобильным операторам и некоторым связанным сетям (MVNO, Yandex Cloud, Ростелеком). Все остальные попытки подключиться к 443 порту блокируются.</summary><content type="html">
  &lt;h2 id=&quot;ASfn&quot;&gt;📋 Содержание&lt;/h2&gt;
  &lt;ol id=&quot;3i0e&quot;&gt;
    &lt;li id=&quot;EJho&quot;&gt;Назначение&lt;/li&gt;
    &lt;li id=&quot;6a5e&quot;&gt;Принцип работы&lt;/li&gt;
    &lt;li id=&quot;YfSq&quot;&gt;Системные требования&lt;/li&gt;
    &lt;li id=&quot;YQ8E&quot;&gt;Установка&lt;/li&gt;
    &lt;li id=&quot;a0ER&quot;&gt;Проверка работы&lt;/li&gt;
    &lt;li id=&quot;WpFY&quot;&gt;Мониторинг и логи&lt;/li&gt;
    &lt;li id=&quot;5AWu&quot;&gt;Управление&lt;/li&gt;
    &lt;li id=&quot;HhXK&quot;&gt;Удаление&lt;/li&gt;
    &lt;li id=&quot;bi77&quot;&gt;Настройка AS-списка&lt;/li&gt;
    &lt;li id=&quot;dYTQ&quot;&gt;Устранение неполадок&lt;/li&gt;
  &lt;/ol&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;Acb0&quot;&gt;🎯 Назначение&lt;/h2&gt;
  &lt;p id=&quot;9bYc&quot;&gt;Скрипт создает систему фильтрации входящих подключений на &lt;strong&gt;TCP/UDP порт 443&lt;/strong&gt; (HTTPS/QUIC), разрешая трафик только из &lt;strong&gt;мобильных сетей России&lt;/strong&gt; (MTS, Beeline, MegaFon, Tele2, Yota и др.) и блокируя все остальные подключения.&lt;/p&gt;
  &lt;p id=&quot;0HcK&quot;&gt;&lt;strong&gt;Идеально подходит для:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;hJfP&quot;&gt;
    &lt;li id=&quot;TU2D&quot;&gt;Защиты от ботов и сканеров из зарубежных дата-центров&lt;/li&gt;
    &lt;li id=&quot;uHGC&quot;&gt;Ограничения доступа к сервисам только для мобильных абонентов РФ&lt;/li&gt;
    &lt;li id=&quot;6Gij&quot;&gt;Снижения нагрузки от автоматических атак&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;WDnL&quot;&gt;⚙️ Принцип работы&lt;/h2&gt;
  &lt;ol id=&quot;FeMw&quot;&gt;
    &lt;li id=&quot;EHeN&quot;&gt;&lt;strong&gt;Сбор префиксов&lt;/strong&gt; - ежедневно в 00:00 скрипт запрашивает у RIPEstat (статистика RIPE) все объявленные префиксы для указанных AS-номеров&lt;/li&gt;
    &lt;li id=&quot;WJfi&quot;&gt;&lt;strong&gt;Фильтрация и валидация&lt;/strong&gt; - собранные префиксы сортируются, проверяются на валидность&lt;/li&gt;
    &lt;li id=&quot;gQWq&quot;&gt;&lt;strong&gt;Защита от ошибок&lt;/strong&gt; - система не применит обновление, если префиксов слишком мало или их количество упало более чем на 30%&lt;/li&gt;
    &lt;li id=&quot;SS6d&quot;&gt;&lt;strong&gt;Применение правил&lt;/strong&gt; - создается ipset с подсетями, iptables цепочка FILTER_MOBILE_443, которая разрешает трафик только из этих подсетей&lt;/li&gt;
    &lt;li id=&quot;VJCL&quot;&gt;&lt;strong&gt;Автоматическое восстановление&lt;/strong&gt; - при загрузке системы применяется последний успешно загруженный кеш префиксов&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;XRTT&quot;&gt;&lt;strong&gt;Схема работы:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;6PXq&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;blUf&quot;&gt;RIPEstat API (список префиксов AS) → mobile443-update.sh → ipset → iptables
                                          ↓
                                  /var/lib/mobile443/prefixes.txt (кеш)&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;MDjm&quot;&gt;💻 Системные требования&lt;/h2&gt;
  &lt;ul id=&quot;Ongs&quot;&gt;
    &lt;li id=&quot;7JLg&quot;&gt;&lt;strong&gt;ОС&lt;/strong&gt;: Ubuntu 18.04+, Debian 10+, CentOS 7+ (с поддержкой systemd)&lt;/li&gt;
    &lt;li id=&quot;s7jd&quot;&gt;&lt;strong&gt;Ядро&lt;/strong&gt;: с поддержкой ipset и iptables&lt;/li&gt;
    &lt;li id=&quot;itBk&quot;&gt;&lt;strong&gt;Память&lt;/strong&gt;: от 256 MB RAM&lt;/li&gt;
    &lt;li id=&quot;ctUk&quot;&gt;&lt;strong&gt;Диск&lt;/strong&gt;: от 50 MB свободного места&lt;/li&gt;
    &lt;li id=&quot;LwBA&quot;&gt;&lt;strong&gt;Зависимости&lt;/strong&gt;: curl, jq, ipset, iptables, util-linux (flock)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;NVxu&quot;&gt;🚀 Установка&lt;/h2&gt;
  &lt;h3 id=&quot;kSPX&quot;&gt;1. Сохраните скрипт&lt;/h3&gt;
  &lt;p id=&quot;iwKr&quot;&gt;Сохраните полный код скрипта (который начинается с &lt;code&gt;#!/usr/bin/env bash&lt;/code&gt;) в файл:&lt;/p&gt;
  &lt;p id=&quot;IRCR&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;8pnb&quot;&gt;sudo nano /usr/local/bin/mobile443-installer.sh&lt;/pre&gt;
  &lt;p id=&quot;IwDS&quot;&gt;Вставьте код и сохраните (Ctrl+X, Y, Enter).&lt;/p&gt;
  &lt;h3 id=&quot;ETdl&quot;&gt;2. Сделайте скрипт исполняемым&lt;/h3&gt;
  &lt;p id=&quot;27mu&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;yqhE&quot;&gt;sudo chmod +x /usr/local/bin/mobile443-installer.sh&lt;/pre&gt;
  &lt;h3 id=&quot;avwK&quot;&gt;3. Запустите установку&lt;/h3&gt;
  &lt;p id=&quot;M7Ec&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;9EFF&quot;&gt;sudo /usr/local/bin/mobile443-installer.sh install&lt;/pre&gt;
  &lt;h3 id=&quot;7FJu&quot;&gt;4. Что происходит при установке:&lt;/h3&gt;
  &lt;p id=&quot;u7We&quot;&gt;✅ Создаются директории:&lt;/p&gt;
  &lt;ul id=&quot;xdq0&quot;&gt;
    &lt;li id=&quot;YcGH&quot;&gt;&lt;code&gt;/opt/mobile443/&lt;/code&gt; - конфигурация (asns.conf)&lt;/li&gt;
    &lt;li id=&quot;G3pm&quot;&gt;&lt;code&gt;/var/lib/mobile443/&lt;/code&gt; - состояние (кеш префиксов, lock-файл)&lt;/li&gt;
    &lt;li id=&quot;ygUV&quot;&gt;&lt;code&gt;/usr/local/sbin/&lt;/code&gt; - исполняемые скрипты&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;UT0T&quot;&gt;✅ Устанавливаются скрипты:&lt;/p&gt;
  &lt;ul id=&quot;MxPu&quot;&gt;
    &lt;li id=&quot;cqkw&quot;&gt;&lt;code&gt;mobile443-common.sh&lt;/code&gt; - общие функции&lt;/li&gt;
    &lt;li id=&quot;9zWn&quot;&gt;&lt;code&gt;mobile443-update.sh&lt;/code&gt; - обновление списка префиксов&lt;/li&gt;
    &lt;li id=&quot;svZO&quot;&gt;&lt;code&gt;mobile443-apply-cache.sh&lt;/code&gt; - применение кеша при загрузке&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;fZve&quot;&gt;✅ Создаются systemd-юниты:&lt;/p&gt;
  &lt;ul id=&quot;1sip&quot;&gt;
    &lt;li id=&quot;Uab9&quot;&gt;&lt;code&gt;mobile443-update.service&lt;/code&gt; - разовое обновление&lt;/li&gt;
    &lt;li id=&quot;fxtH&quot;&gt;&lt;code&gt;mobile443-update.timer&lt;/code&gt; - ежедневное обновление в 00:00&lt;/li&gt;
    &lt;li id=&quot;qy5v&quot;&gt;&lt;code&gt;mobile443-apply.service&lt;/code&gt; - применение кеша при старте&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;99HM&quot;&gt;✅ Запускается первое обновление&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;BQx9&quot;&gt;🔍 Проверка работы&lt;/h2&gt;
  &lt;p id=&quot;CiLY&quot;&gt;После установки выполните следующие проверки:&lt;/p&gt;
  &lt;h3 id=&quot;8T4v&quot;&gt;Статус служб&lt;/h3&gt;
  &lt;p id=&quot;l1lJ&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;WYO5&quot;&gt;# Статус таймера (должен быть active и waiting)
systemctl status mobile443-update.timer

# Статус последнего обновления
systemctl status mobile443-update.service --no-pager

# Статус службы применения кеша
systemctl status mobile443-apply.service --no-pager&lt;/pre&gt;
  &lt;h3 id=&quot;HTv6&quot;&gt;Проверка ipset&lt;/h3&gt;
  &lt;p id=&quot;QjNb&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;lmWv&quot;&gt;# Информация о множестве
ipset list allowed_mobile_443 | head -20

# Количество подсетей (должно быть несколько тысяч)
ipset list allowed_mobile_443 | grep -c &amp;quot;^[0-9]&amp;quot;&lt;/pre&gt;
  &lt;h3 id=&quot;uvh8&quot;&gt;Проверка iptables&lt;/h3&gt;
  &lt;p id=&quot;TVqR&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;CBWH&quot;&gt;# Просмотр правил
iptables -L FILTER_MOBILE_443 -n -v --line-numbers

# Где применяется цепочка
iptables -L INPUT -n -v | grep -A 2 FILTER_MOBILE_443
iptables -L FORWARD -n -v | grep -A 2 FILTER_MOBILE_443&lt;/pre&gt;
  &lt;h3 id=&quot;sUvl&quot;&gt;Тестирование фильтрации&lt;/h3&gt;
  &lt;p id=&quot;qGD1&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Z9vS&quot;&gt;# С сервера, который НЕ в мобильной сети (например, зарубежный VPS):
curl -I https://ваш-сервер.com

# С мобильного телефона РФ (через мобильный интернет):
curl -I https://ваш-сервер.com&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;7zhx&quot;&gt;📊 Мониторинг и логи&lt;/h2&gt;
  &lt;h3 id=&quot;gOSL&quot;&gt;Просмотр логов обновлений&lt;/h3&gt;
  &lt;p id=&quot;OV6e&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;9tvY&quot;&gt;# Последние обновления
journalctl -u mobile443-update.service -n 30 --no-pager

# Следить за обновлениями в реальном времени
journalctl -u mobile443-update.service -f

# Логи применения кеша
journalctl -u mobile443-apply.service -n 30&lt;/pre&gt;
  &lt;h3 id=&quot;FRDw&quot;&gt;Статистика по трафику&lt;/h3&gt;
  &lt;p id=&quot;4uXv&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;XmXv&quot;&gt;# Сколько пакетов пропущено/заблокировано
iptables -L FILTER_MOBILE_443 -n -v -x

# Сброс счетчиков (если нужно)
iptables -Z FILTER_MOBILE_443&lt;/pre&gt;
  &lt;h3 id=&quot;0Cvb&quot;&gt;Проверка кеша&lt;/h3&gt;
  &lt;p id=&quot;Uhbn&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;PUuX&quot;&gt;# Размер кеша (количество подсетей)
wc -l /var/lib/mobile443/prefixes.txt

# Просмотр первых записей
head -20 /var/lib/mobile443/prefixes.txt&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;hNkL&quot;&gt;🛠️ Управление&lt;/h2&gt;
  &lt;h3 id=&quot;m3NY&quot;&gt;Ручное обновление списка префиксов&lt;/h3&gt;
  &lt;p id=&quot;a66v&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;MDXb&quot;&gt;sudo systemctl start mobile443-update.service
journalctl -u mobile443-update.service -f  # следить за процессом&lt;/pre&gt;
  &lt;h3 id=&quot;X5Vl&quot;&gt;Применение кеша (если правила &amp;quot;слетели&amp;quot;)&lt;/h3&gt;
  &lt;p id=&quot;WRLM&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;rzc2&quot;&gt;sudo systemctl start mobile443-apply.service&lt;/pre&gt;
  &lt;h3 id=&quot;8JdV&quot;&gt;Временное отключение фильтрации (для отладки)&lt;/h3&gt;
  &lt;p id=&quot;v50E&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;GwPM&quot;&gt;# Удалить правила из INPUT/FORWARD/DOCKER-USER (фильтрация отключится)
sudo iptables -D INPUT -p tcp --dport 443 -j FILTER_MOBILE_443
sudo iptables -D INPUT -p udp --dport 443 -j FILTER_MOBILE_443

# Вернуть обратно
sudo /usr/local/sbin/mobile443-apply-cache.sh&lt;/pre&gt;
  &lt;h3 id=&quot;LkAi&quot;&gt;Полная перезагрузка правил&lt;/h3&gt;
  &lt;p id=&quot;CC77&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Jsi3&quot;&gt;# Очистить и пересоздать всё
sudo ipset destroy allowed_mobile_443
sudo ipset destroy allowed_mobile_443_tmp
sudo /usr/local/sbin/mobile443-apply-cache.sh&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;d2Tz&quot;&gt;🗑️ Удаление&lt;/h2&gt;
  &lt;p id=&quot;ctXX&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;i6yI&quot;&gt;sudo /usr/local/bin/mobile443-installer.sh remove&lt;/pre&gt;
  &lt;p id=&quot;qkpf&quot;&gt;&lt;strong&gt;Что будет удалено:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;ip0Q&quot;&gt;
    &lt;li id=&quot;IKAb&quot;&gt;Все systemd-юниты (mobile443-*)&lt;/li&gt;
    &lt;li id=&quot;VdEE&quot;&gt;Все iptables правила и цепочки&lt;/li&gt;
    &lt;li id=&quot;5Y9t&quot;&gt;Все ipset множества&lt;/li&gt;
    &lt;li id=&quot;Wh98&quot;&gt;Скрипты в /usr/local/sbin/&lt;/li&gt;
    &lt;li id=&quot;aFIW&quot;&gt;Директории /opt/mobile443/ и /var/lib/mobile443/&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;Afjp&quot;&gt;⚙️ Настройка AS-списка&lt;/h2&gt;
  &lt;p id=&quot;mS7S&quot;&gt;Список AS-номеров находится в &lt;code&gt;/opt/mobile443/asns.conf&lt;/code&gt;&lt;/p&gt;
  &lt;h3 id=&quot;OomJ&quot;&gt;Текущий состав (по умолчанию):&lt;/h3&gt;
  &lt;ul id=&quot;3RGH&quot;&gt;
    &lt;li id=&quot;SRW5&quot;&gt;MTS (8359)&lt;/li&gt;
    &lt;li id=&quot;JlIs&quot;&gt;Beeline (3216)&lt;/li&gt;
    &lt;li id=&quot;a1Ji&quot;&gt;MegaFon (31133, 8263, и др.)&lt;/li&gt;
    &lt;li id=&quot;h2pm&quot;&gt;Tele2 (12958, 15378, и др.)&lt;/li&gt;
    &lt;li id=&quot;7wGH&quot;&gt;Ростелеком (12389) - &lt;em&gt;добавлен для расширения покрытия&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;wHZF&quot;&gt;Yandex Cloud (205638)&lt;/li&gt;
    &lt;li id=&quot;6rGu&quot;&gt;Другие мобильные операторы&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;g5Z9&quot;&gt;Редактирование списка:&lt;/h3&gt;
  &lt;p id=&quot;PcPj&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;umSV&quot;&gt;sudo nano /opt/mobile443/asns.conf&lt;/pre&gt;
  &lt;p id=&quot;QquY&quot;&gt;&lt;strong&gt;Формат:&lt;/strong&gt; один AS-номер на строку, строки начинающиеся с &lt;code&gt;#&lt;/code&gt; игнорируются.&lt;/p&gt;
  &lt;p id=&quot;DqAE&quot;&gt;Пример добавления нового AS:&lt;/p&gt;
  &lt;p id=&quot;eUHP&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;tcOc&quot;&gt;echo &amp;quot;12345  # Новый оператор&amp;quot; | sudo tee -a /opt/mobile443/asns.conf&lt;/pre&gt;
  &lt;p id=&quot;ZCH9&quot;&gt;&lt;strong&gt;После изменения списка&lt;/strong&gt; необходимо выполнить обновление:&lt;/p&gt;
  &lt;p id=&quot;Sz1Q&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;qg69&quot;&gt;sudo systemctl start mobile443-update.service
journalctl -u mobile443-update.service -f&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;qpRz&quot;&gt;🔧 Устранение неполадок&lt;/h2&gt;
  &lt;h3 id=&quot;n72l&quot;&gt;Проблема: &amp;quot;Refusing update: too few prefixes&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;Anhy&quot;&gt;&lt;strong&gt;Причина:&lt;/strong&gt; API вернуло менее 500 префиксов (обычно проблема с сетью или API RIPE)&lt;br /&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;loqR&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;ZFqT&quot;&gt;# Проверить соединение с RIPE
curl -I https://stat.ripe.net

# Применить последний рабочий кеш
sudo systemctl start mobile443-apply.service

# Проверить логи ошибок
journalctl -u mobile443-update.service -n 50&lt;/pre&gt;
  &lt;h3 id=&quot;kJXQ&quot;&gt;Проблема: &amp;quot;Refusing update: new prefix count dropped too much&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;vcod&quot;&gt;&lt;strong&gt;Причина:&lt;/strong&gt; Количество префиксов упало более чем на 30% от предыдущего значения (защита от битого обновления)&lt;br /&gt;&lt;strong&gt;Решение:&lt;/strong&gt; Если изменение ожидаемое (например, удалили AS из списка), можно принудительно обновить:&lt;/p&gt;
  &lt;p id=&quot;oQdt&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;zcOh&quot;&gt;# Удалить старый кеш и запустить обновление
sudo rm /var/lib/mobile443/prefixes.txt
sudo systemctl start mobile443-update.service&lt;/pre&gt;
  &lt;h3 id=&quot;zqGk&quot;&gt;Проблема: Нет доступа с мобильных устройств&lt;/h3&gt;
  &lt;p id=&quot;p5W6&quot;&gt;&lt;strong&gt;Причина:&lt;/strong&gt; Ваш мобильный оператор не в списке AS или использует нестандартные префиксы&lt;br /&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;ol id=&quot;NO1i&quot;&gt;
    &lt;li id=&quot;66eV&quot;&gt;Узнать AS своего оператора: &lt;a href=&quot;https://2ip.ru/whois/&quot; target=&quot;_blank&quot;&gt;https://2ip.ru/whois/&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;JYl0&quot;&gt;Добавить AS в &lt;code&gt;/opt/mobile443/asns.conf&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;jY3O&quot;&gt;Обновить список&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;8f39&quot;&gt;Проблема: Docker контейнеры не могут принимать соединения&lt;/h3&gt;
  &lt;p id=&quot;azah&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt; Скрипт автоматически добавляет правила в цепочку DOCKER-USER, если она существует. Проверьте:&lt;/p&gt;
  &lt;p id=&quot;8yTo&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;sftI&quot;&gt;# Убедиться, что правила есть
iptables -L DOCKER-USER -n -v | grep FILTER_MOBILE_443

# Если нет - применить кеш заново
sudo systemctl start mobile443-apply.service&lt;/pre&gt;
  &lt;h3 id=&quot;ZuHK&quot;&gt;Проблема: Не запускается таймер&lt;/h3&gt;
  &lt;p id=&quot;OsBs&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;kate&quot;&gt;# Проверить статус
systemctl status mobile443-update.timer

# Перезапустить таймер
sudo systemctl restart mobile443-update.timer
sudo systemctl daemon-reload&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;2VVJ&quot;&gt;📝 Примечания&lt;/h2&gt;
  &lt;ul id=&quot;eQNW&quot;&gt;
    &lt;li id=&quot;qN9u&quot;&gt;Скрипт использует &lt;strong&gt;flock&lt;/strong&gt; для предотвращения одновременных запусков&lt;/li&gt;
    &lt;li id=&quot;4iMV&quot;&gt;Применяется &lt;strong&gt;защита от &amp;quot;пустого&amp;quot; обновления&lt;/strong&gt; (минимум 500 префиксов)&lt;/li&gt;
    &lt;li id=&quot;78xC&quot;&gt;При падении числа префиксов &amp;gt;30% обновление &lt;strong&gt;отклоняется&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;SyDg&quot;&gt;Кеш хранится в &lt;code&gt;/var/lib/mobile443/prefixes.txt&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;Qnzl&quot;&gt;Все операции &lt;strong&gt;идемпотентны&lt;/strong&gt; - можно запускать многократно&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;00n6&quot;&gt;🆘 Поддержка&lt;/h2&gt;
  &lt;p id=&quot;iZu4&quot;&gt;Если возникли проблемы:&lt;/p&gt;
  &lt;ol id=&quot;S8Pr&quot;&gt;
    &lt;li id=&quot;shNY&quot;&gt;Проверьте раздел Устранение неполадок&lt;/li&gt;
    &lt;li id=&quot;SLCw&quot;&gt;Посмотрите логи: &lt;code&gt;journalctl -u mobile443-update.service -n 100&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;SrvS&quot;&gt;Проверьте доступность API: &lt;code&gt;curl -I https://stat.ripe.net&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;kdOg&quot;&gt;Убедитесь, что файл ASNs существует: &lt;code&gt;cat /opt/mobile443/asns.conf&lt;/code&gt;&lt;/li&gt;
  &lt;/ol&gt;

</content></entry><entry><id>idsmef:-4k4l5vCDqs</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/-4k4l5vCDqs?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ VK CLOUD SUBNET HUNTER</title><published>2026-03-01T13:16:45.768Z</published><updated>2026-03-01T13:16:45.768Z</updated><summary type="html">Скрипт предназначен для автоматического поиска и получения внешних IP-адресов с определенными префиксами (российские IP) в VK Cloud. Он последовательно перебирает указанные подсети, создавая и удаляя floating IP, пока не найдет IP с нужным префиксом.</summary><content type="html">
  &lt;h1 id=&quot;JQXq&quot;&gt;ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ VK CLOUD SUBNET HUNTER&lt;/h1&gt;
  &lt;h2 id=&quot;9Wq9&quot;&gt;📋 СОДЕРЖАНИЕ&lt;/h2&gt;
  &lt;ol id=&quot;bYF6&quot;&gt;
    &lt;li id=&quot;Up7V&quot;&gt;Назначение скрипта&lt;/li&gt;
    &lt;li id=&quot;03X8&quot;&gt;Системные требования&lt;/li&gt;
    &lt;li id=&quot;k2br&quot;&gt;Подготовка к работе&lt;/li&gt;
    &lt;li id=&quot;348u&quot;&gt;Настройка скрипта&lt;/li&gt;
    &lt;li id=&quot;nEji&quot;&gt;Запуск скрипта&lt;/li&gt;
    &lt;li id=&quot;QS7h&quot;&gt;Понимание вывода&lt;/li&gt;
    &lt;li id=&quot;I957&quot;&gt;Устранение проблем&lt;/li&gt;
    &lt;li id=&quot;02vj&quot;&gt;Дополнительные советы&lt;/li&gt;
  &lt;/ol&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;bNAi&quot;&gt;🎯 НАЗНАЧЕНИЕ СКРИПТА&lt;/h2&gt;
  &lt;p id=&quot;6fbG&quot;&gt;Скрипт предназначен для автоматического поиска и получения внешних IP-адресов с определенными префиксами (российские IP) в VK Cloud. Он последовательно перебирает указанные подсети, создавая и удаляя floating IP, пока не найдет IP с нужным префиксом.&lt;/p&gt;
  &lt;p id=&quot;SPdJ&quot;&gt;&lt;strong&gt;Целевые префиксы по умолчанию:&lt;/strong&gt; &lt;code&gt;89.&lt;/code&gt;, &lt;code&gt;185.&lt;/code&gt;, &lt;code&gt;5.&lt;/code&gt;, &lt;code&gt;95.&lt;/code&gt;, &lt;code&gt;37.&lt;/code&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;zH9x&quot;&gt;💻 СИСТЕМНЫЕ ТРЕБОВАНИЯ&lt;/h2&gt;
  &lt;h3 id=&quot;jDhZ&quot;&gt;Необходимое ПО:&lt;/h3&gt;
  &lt;ul id=&quot;ok0f&quot;&gt;
    &lt;li id=&quot;l5iK&quot;&gt;&lt;strong&gt;ОС:&lt;/strong&gt; Linux (Ubuntu/Debian/CentOS) или WSL для Windows&lt;/li&gt;
    &lt;li id=&quot;rUAS&quot;&gt;&lt;strong&gt;Python 3.x&lt;/strong&gt; (обычно предустановлен)&lt;/li&gt;
    &lt;li id=&quot;NL4q&quot;&gt;&lt;strong&gt;OpenStack Client&lt;/strong&gt; - инструмент командной строки для работы с VK Cloud&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;AlJ5&quot;&gt;Проверка установки:&lt;/h3&gt;
  &lt;p id=&quot;LPuh&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;RrZJ&quot;&gt;python3 --version
openstack --version&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;FXKZ&quot;&gt;🔧 ПОДГОТОВКА К РАБОТЕ&lt;/h2&gt;
  &lt;h3 id=&quot;rCYJ&quot;&gt;Шаг 1: Установка OpenStack клиента&lt;/h3&gt;
  &lt;p id=&quot;ZoQ1&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;khiz&quot;&gt;# Ubuntu/Debian
apt update
apt install python3-pip -y
pip3 install python-openstackclient

# CentOS/RHEL
yum install python3-pip
pip3 install python-openstackclient&lt;/pre&gt;
  &lt;h3 id=&quot;tPdZ&quot;&gt;Шаг 2: Скачивание файлов аутентификации из VK Cloud&lt;/h3&gt;
  &lt;ol id=&quot;qEkz&quot;&gt;
    &lt;li id=&quot;ulp9&quot;&gt;Войдите в личный кабинет VK Cloud&lt;/li&gt;
    &lt;li id=&quot;YG8L&quot;&gt;Перейдите в раздел &amp;quot;Аккаунт&amp;quot; → &amp;quot;OpenStack авторизация&amp;quot;&lt;/li&gt;
    &lt;li id=&quot;fAZs&quot;&gt;Скачайте файл &lt;code&gt;project-openrc.sh&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;xqOZ&quot;&gt;Поместите его в ту же папку, где будет находиться скрипт&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;pZeW&quot;&gt;Шаг 3: Структура папок&lt;/h3&gt;
  &lt;p id=&quot;TP2N&quot;&gt;Создайте отдельную папку для скрипта:&lt;/p&gt;
  &lt;p id=&quot;o0yt&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Q4Ah&quot;&gt;mkdir ~/vk-hunter
cd ~/vk-hunter&lt;/pre&gt;
  &lt;p id=&quot;ilU5&quot;&gt;Поместите в эту папку:&lt;/p&gt;
  &lt;ul id=&quot;mPSG&quot;&gt;
    &lt;li id=&quot;8bJt&quot;&gt;&lt;code&gt;project-openrc.sh&lt;/code&gt; (файл аутентификации)&lt;/li&gt;
    &lt;li id=&quot;T2Af&quot;&gt;&lt;code&gt;hunter.sh&lt;/code&gt; (сам скрипт)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;sCgB&quot;&gt;⚙️ НАСТРОЙКА СКРИПТА&lt;/h2&gt;
  &lt;h3 id=&quot;l5Fq&quot;&gt;Редактирование целевых подсетей&lt;/h3&gt;
  &lt;p id=&quot;ph4u&quot;&gt;Откройте скрипт в текстовом редакторе:&lt;/p&gt;
  &lt;p id=&quot;pU5a&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;bYVJ&quot;&gt;nano hunter.sh&lt;/pre&gt;
  &lt;p id=&quot;IsuT&quot;&gt;Найдите строку (примерно 14-15):&lt;/p&gt;
  &lt;p id=&quot;XmTC&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;kvnh&quot;&gt;TARGET_SUBNETS=(&amp;quot;ext-sub19&amp;quot; &amp;quot;ext-sub21&amp;quot; &amp;quot;ext-sub26&amp;quot; &amp;quot;ext-sub35&amp;quot; &amp;quot;ext-sub37&amp;quot;)&lt;/pre&gt;
  &lt;p id=&quot;tmBI&quot;&gt;&lt;strong&gt;Замените на названия ваших подсетей&lt;/strong&gt;, которые можно узнать командой:&lt;/p&gt;
  &lt;p id=&quot;YYRi&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;gFYP&quot;&gt;openstack subnet list&lt;/pre&gt;
  &lt;h3 id=&quot;FdQC&quot;&gt;Настройка защищенного IP&lt;/h3&gt;
  &lt;p id=&quot;ZHbH&quot;&gt;Найдите строку (примерно 21):&lt;/p&gt;
  &lt;p id=&quot;OYgW&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;6kG3&quot;&gt;SAVED_IP=&amp;quot;90.x.x.x&amp;quot;&lt;/pre&gt;
  &lt;p id=&quot;L56p&quot;&gt;Замените на ваш реальный IP, который нельзя удалять (если есть).&lt;/p&gt;
  &lt;h3 id=&quot;WlwC&quot;&gt;Настройка префиксов (опционально)&lt;/h3&gt;
  &lt;p id=&quot;QpGQ&quot;&gt;При необходимости измените целевые префиксы:&lt;/p&gt;
  &lt;p id=&quot;k1xb&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;V8nb&quot;&gt;PREFIXES=(&amp;quot;89.&amp;quot; &amp;quot;185.&amp;quot; &amp;quot;5.&amp;quot; &amp;quot;95.&amp;quot; &amp;quot;37.&amp;quot;)&lt;/pre&gt;
  &lt;h3 id=&quot;aPiw&quot;&gt;Настройка задержек (опционально)&lt;/h3&gt;
  &lt;p id=&quot;oy39&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;udVz&quot;&gt;MIN_DELAY=3  # Минимальная задержка между попытками
MAX_DELAY=7  # Максимальная задержка&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;euw5&quot;&gt;🚀 ЗАПУСК СКРИПТА&lt;/h2&gt;
  &lt;h3 id=&quot;5ICV&quot;&gt;Шаг 1: Сделайте скрипт исполняемым&lt;/h3&gt;
  &lt;p id=&quot;xD8T&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;lQs7&quot;&gt;chmod +x hunter.sh&lt;/pre&gt;
  &lt;h3 id=&quot;g6Iq&quot;&gt;Шаг 2: Запустите скрипт&lt;/h3&gt;
  &lt;p id=&quot;dVxk&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;anGg&quot;&gt;./hunter.sh&lt;/pre&gt;
  &lt;h3 id=&quot;kTwK&quot;&gt;Шаг 3: Введите пароль (при первом запуске)&lt;/h3&gt;
  &lt;p id=&quot;hb6l&quot;&gt;Скрипт запросит пароль от VK Cloud (тот же, что используете для входа в личный кабинет):&lt;/p&gt;
  &lt;p id=&quot;gEOM&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;LSNf&quot;&gt;🔐 Требуется аутентификация в VK Cloud
Введите ваш пароль от VK Cloud: [введите пароль]&lt;/pre&gt;
  &lt;p id=&quot;rZRT&quot;&gt;Пароль не отображается на экране - это нормально.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;9lUY&quot;&gt;📊 ПОНИМАНИЕ ВЫВОДА&lt;/h2&gt;
  &lt;h3 id=&quot;DUAU&quot;&gt;Начальный экран&lt;/h3&gt;
  &lt;p id=&quot;E8n0&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;EtmZ&quot;&gt;⚡ VK CLOUD SUBNET HUNTER v3.3 ⚡
🎯 Охотник за российскими IP-адресами
📡 Целевые префиксы: 89. 185. 5. 95. 37.
🛡️ Защищенный IP: 90.x.x.x&lt;/pre&gt;
  &lt;h3 id=&quot;HUNT&quot;&gt;Процесс охоты&lt;/h3&gt;
  &lt;p id=&quot;AQeS&quot;&gt;Скрипт создает таблицу с колонками:&lt;/p&gt;
  &lt;ul id=&quot;kVwP&quot;&gt;
    &lt;li id=&quot;28QG&quot;&gt;&lt;strong&gt;№&lt;/strong&gt; - номер попытки&lt;/li&gt;
    &lt;li id=&quot;Fhq0&quot;&gt;&lt;strong&gt;IP Адрес&lt;/strong&gt; - полученный IP&lt;/li&gt;
    &lt;li id=&quot;wxP3&quot;&gt;&lt;strong&gt;Подсеть&lt;/strong&gt; - подсеть, из которой получен IP&lt;/li&gt;
    &lt;li id=&quot;2OZN&quot;&gt;&lt;strong&gt;Статус&lt;/strong&gt; - результат проверки&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;v1Fc&quot;&gt;&lt;strong&gt;Возможные статусы:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;ue5u&quot;&gt;
    &lt;li id=&quot;XfQQ&quot;&gt;&lt;code&gt;❌ Мимо&lt;/code&gt; - IP не подходит под целевые префиксы&lt;/li&gt;
    &lt;li id=&quot;07su&quot;&gt;&lt;code&gt;⚠️ Подсеть занята&lt;/code&gt; - в подсети нет свободных IP&lt;/li&gt;
    &lt;li id=&quot;KHlr&quot;&gt;&lt;code&gt;✅ БИНГО! (89.*)&lt;/code&gt; - НАЙДЕН НУЖНЫЙ IP! 🎉&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;I8MD&quot;&gt;Пример успешного нахождения&lt;/h3&gt;
  &lt;p id=&quot;RRaq&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;WE6I&quot;&gt;🏆🏆🏆  ПОЗДРАВЛЯЮ! ЦЕЛЕВОЙ IP НАЙДЕН!  🏆🏆🏆

┌──────────────────────────────────────────────────────────┐
│ IP адрес:     89.123.45.67                               │
│ ID:           6a7b8c9d-0e1f-2a3b-4c5d-6e7f8a9b0c1d      │
│ Подсеть:      ext-sub19                                   │
│ Подсеть ID:   1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d      │
│ Найден в:     2024-01-15 14:23:45                        │
│ Попыток:      47                                          │
└──────────────────────────────────────────────────────────┘&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;m9Ds&quot;&gt;🔍 УСТРАНЕНИЕ ПРОБЛЕМ&lt;/h2&gt;
  &lt;h3 id=&quot;SllE&quot;&gt;Проблема: &amp;quot;OpenStack клиент не найден!&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;bphA&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;N6Qi&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;4Vuj&quot;&gt;pip3 install python-openstackclient
# или
sudo apt install python3-openstackclient  # для Ubuntu&lt;/pre&gt;
  &lt;h3 id=&quot;VfIU&quot;&gt;Проблема: &amp;quot;Не удалось аутентифицироваться&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;E6Ca&quot;&gt;&lt;strong&gt;Проверьте:&lt;/strong&gt;&lt;/p&gt;
  &lt;ol id=&quot;efXI&quot;&gt;
    &lt;li id=&quot;Kdi2&quot;&gt;Правильность пароля&lt;/li&gt;
    &lt;li id=&quot;HSiU&quot;&gt;Наличие файла &lt;code&gt;project-openrc.sh&lt;/code&gt; в текущей папке&lt;/li&gt;
    &lt;li id=&quot;rCfo&quot;&gt;Срок действия аккаунта в VK Cloud&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;Imh6&quot;&gt;Проблема: &amp;quot;Ни одна из указанных подсетей не найдена&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;0r1x&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;ol id=&quot;8hU1&quot;&gt;
    &lt;li id=&quot;NOK0&quot;&gt;Проверьте названия подсетей:&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;MG6y&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;cHyS&quot;&gt;openstack subnet list&lt;/pre&gt;
  &lt;ol id=&quot;6nBl&quot;&gt;
    &lt;li id=&quot;KbKa&quot;&gt;Исправьте массив &lt;code&gt;TARGET_SUBNETS&lt;/code&gt; в скрипте&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;10K4&quot;&gt;Проблема: Скрипт работает медленно&lt;/h3&gt;
  &lt;p id=&quot;wYJX&quot;&gt;&lt;strong&gt;Настройте задержки в скрипте:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;swlb&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;SuQh&quot;&gt;MIN_DELAY=1  # Уменьшите до 1 секунды
MAX_DELAY=3  # Уменьшите до 3 секунд&lt;/pre&gt;
  &lt;h3 id=&quot;JoX0&quot;&gt;Проблема: Постоянно &amp;quot;Подсеть занята&amp;quot;&lt;/h3&gt;
  &lt;p id=&quot;WrcO&quot;&gt;&lt;strong&gt;Возможные причины:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;iXzJ&quot;&gt;
    &lt;li id=&quot;AQol&quot;&gt;Достигнут лимит квоты на IP-адреса&lt;/li&gt;
    &lt;li id=&quot;bKVB&quot;&gt;В подсети закончились свободные IP&lt;/li&gt;
    &lt;li id=&quot;KPjx&quot;&gt;Слишком быстрые запросы (увеличьте задержки)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;es6B&quot;&gt;💡 ДОПОЛНИТЕЛЬНЫЕ СОВЕТЫ&lt;/h2&gt;
  &lt;h3 id=&quot;fpEE&quot;&gt;1. Запуск в фоне (screen/tmux)&lt;/h3&gt;
  &lt;p id=&quot;WYCJ&quot;&gt;Для длительной работы:&lt;/p&gt;
  &lt;p id=&quot;mTJU&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;dmhm&quot;&gt;# Установка screen
apt install screen

# Создание сессии
screen -S vk-hunter

# Запуск скрипта
./hunter.sh

# Отсоединение: Ctrl+A, затем D
# Возврат: screen -r vk-hunter&lt;/pre&gt;
  &lt;h3 id=&quot;UuRM&quot;&gt;2. Использование найденного IP&lt;/h3&gt;
  &lt;p id=&quot;Z0ud&quot;&gt;После нахождения IP, прикрепите его к серверу:&lt;/p&gt;
  &lt;p id=&quot;95XU&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;PQbP&quot;&gt;# Список серверов
openstack server list

# Прикрепление IP к серверу
openstack server add floating ip ИМЯ_СЕРВЕРА НАЙДЕННЫЙ_IP

# Пример
openstack server add floating ip my-server 89.123.45.67&lt;/pre&gt;
  &lt;h3 id=&quot;tEb6&quot;&gt;3. Автоматическое сохранение логов&lt;/h3&gt;
  &lt;p id=&quot;u0P9&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;s0X1&quot;&gt;./hunter.sh | tee hunt.log&lt;/pre&gt;
  &lt;h3 id=&quot;zf6T&quot;&gt;4. Экспорт переменных без пароля&lt;/h3&gt;
  &lt;p id=&quot;wnL7&quot;&gt;Для автоматизации можно экспортировать пароль заранее:&lt;/p&gt;
  &lt;p id=&quot;dMIp&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Ecpb&quot;&gt;export OS_PASSWORD=&amp;quot;ваш_пароль&amp;quot;
./hunter.sh&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;N0Ev&quot;&gt;⚠️ ВАЖНЫЕ ЗАМЕЧАНИЯ&lt;/h2&gt;
  &lt;ol id=&quot;HPbi&quot;&gt;
    &lt;li id=&quot;4FSt&quot;&gt;&lt;strong&gt;Квоты:&lt;/strong&gt; VK Cloud имеет ограничения на количество floating IP&lt;/li&gt;
    &lt;li id=&quot;oj4E&quot;&gt;&lt;strong&gt;Стоимость:&lt;/strong&gt; За каждый созданный IP может взиматься плата&lt;/li&gt;
    &lt;li id=&quot;rYXw&quot;&gt;&lt;strong&gt;Безопасность:&lt;/strong&gt; Не передавайте файл &lt;code&gt;project-openrc.sh&lt;/code&gt; третьим лицам&lt;/li&gt;
    &lt;li id=&quot;HNEk&quot;&gt;&lt;strong&gt;Стабильность:&lt;/strong&gt; При слишком частых запросах API может временно блокировать доступ&lt;/li&gt;
  &lt;/ol&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;SBGq&quot;&gt;🆘 ПОЛУЧЕНИЕ ПОМОЩИ&lt;/h2&gt;
  &lt;ul id=&quot;icbM&quot;&gt;
    &lt;li id=&quot;qiQk&quot;&gt;&lt;strong&gt;Автор скрипта:&lt;/strong&gt; @idsmef&lt;/li&gt;
    &lt;li id=&quot;BnX8&quot;&gt;&lt;strong&gt;Telegram канал:&lt;/strong&gt; &lt;a href=&quot;https://t.me/idsmef&quot; target=&quot;_blank&quot;&gt;https://t.me/idsmef&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;P9ji&quot;&gt;&lt;strong&gt;Документация VK Cloud:&lt;/strong&gt; &lt;a href=&quot;https://cloud.vk.com/docs/&quot; target=&quot;_blank&quot;&gt;https://cloud.vk.com/docs/&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

</content></entry><entry><id>idsmef:IiSaL4SqYaS</id><link rel="alternate" type="text/html" href="https://teletype.in/@idsmef/IiSaL4SqYaS?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=idsmef"></link><title>Инструкция: Создание пользователя adm с правами root и домашней папкой /root</title><published>2026-02-24T17:25:24.875Z</published><updated>2026-02-24T17:25:24.875Z</updated><summary type="html">Да, создать пользователя adm с домашней папкой /root и дать ему права суперпользователя возможно, хотя это нестандартная конфигурация. Вот полная инструкция:</summary><content type="html">
  &lt;p id=&quot;30sF&quot;&gt;Да, создать пользователя &lt;code&gt;adm&lt;/code&gt; с домашней папкой &lt;code&gt;/root&lt;/code&gt; и дать ему права суперпользователя возможно, хотя это нестандартная конфигурация. Вот полная инструкция:&lt;/p&gt;
  &lt;h2 id=&quot;t4e1&quot;&gt;Инструкция: Создание пользователя adm с правами root и домашней папкой /root&lt;/h2&gt;
  &lt;h3 id=&quot;uMDf&quot;&gt;Шаг 1: Создание пользователя с указанием домашней директории&lt;/h3&gt;
  &lt;p id=&quot;W54Q&quot;&gt;Создадим пользователя &lt;code&gt;adm&lt;/code&gt; с домашней папкой &lt;code&gt;/root&lt;/code&gt;:&lt;/p&gt;
  &lt;p id=&quot;GtUD&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;KeC3&quot;&gt;sudo useradd -m -d /root -s /bin/bash adm&lt;/pre&gt;
  &lt;p id=&quot;6RfN&quot;&gt;&lt;strong&gt;Объяснение параметров:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;5WNL&quot;&gt;
    &lt;li id=&quot;xVPO&quot;&gt;&lt;code&gt;-m&lt;/code&gt; — создать домашнюю директорию, если она не существует&lt;/li&gt;
    &lt;li id=&quot;CmY3&quot;&gt;&lt;code&gt;-d /root&lt;/code&gt; — указать &lt;code&gt;/root&lt;/code&gt; как домашнюю директорию&lt;/li&gt;
    &lt;li id=&quot;zLBN&quot;&gt;&lt;code&gt;-s /bin/bash&lt;/code&gt; — установить bash как командную оболочку&lt;/li&gt;
    &lt;li id=&quot;qgl6&quot;&gt;&lt;code&gt;adm&lt;/code&gt; — имя создаваемого пользователя&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;SpC4&quot;&gt;Шаг 2: Установка пароля для пользователя&lt;/h3&gt;
  &lt;p id=&quot;qmEx&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;KEUg&quot;&gt;sudo passwd adm&lt;/pre&gt;
  &lt;p id=&quot;m7so&quot;&gt;Система запросит ввод нового пароля дважды .&lt;/p&gt;
  &lt;h3 id=&quot;UywU&quot;&gt;Шаг 3: Проверка создания пользователя&lt;/h3&gt;
  &lt;p id=&quot;R2WA&quot;&gt;Убедимся, что пользователь создан с правильной домашней директорией:&lt;/p&gt;
  &lt;p id=&quot;UYLi&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;zQDD&quot;&gt;getent passwd adm&lt;/pre&gt;
  &lt;p id=&quot;UB05&quot;&gt;Вы должны увидеть строку, где последнее поле (перед командой оболочки) указывает на &lt;code&gt;/root&lt;/code&gt;:&lt;/p&gt;
  &lt;p id=&quot;2w57&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;1Ts9&quot;&gt;adm:x:1001:1001::/root:/bin/bash&lt;/pre&gt;
  &lt;h3 id=&quot;tJb7&quot;&gt;Шаг 4: Настройка прав на домашнюю директорию /root&lt;/h3&gt;
  &lt;p id=&quot;MrWB&quot;&gt;Поскольку &lt;code&gt;/root&lt;/code&gt; принадлежит пользователю root, нужно дать доступ пользователю &lt;code&gt;adm&lt;/code&gt;:&lt;/p&gt;
  &lt;p id=&quot;DNRE&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;MLW0&quot;&gt;# Добавим пользователя adm в группу root
sudo usermod -aG root adm

# Изменим права доступа к директории /root
sudo chmod 750 /root

# Убедимся, что владелец и группа установлены правильно
sudo chown root:root /root&lt;/pre&gt;
  &lt;p id=&quot;C4Zj&quot;&gt;&lt;strong&gt;Важно&lt;/strong&gt;: Права &lt;code&gt;750&lt;/code&gt; означают:&lt;/p&gt;
  &lt;ul id=&quot;6NkK&quot;&gt;
    &lt;li id=&quot;hByL&quot;&gt;&lt;code&gt;7&lt;/code&gt; (rwx) для владельца (root) — полный доступ&lt;/li&gt;
    &lt;li id=&quot;d7fS&quot;&gt;&lt;code&gt;5&lt;/code&gt; (r-x) для группы (root) — чтение и выполнение&lt;/li&gt;
    &lt;li id=&quot;aPTX&quot;&gt;&lt;code&gt;0&lt;/code&gt; (---) для остальных — нет доступа&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;qRwJ&quot;&gt;Шаг 5: Копирование файлов конфигурации (опционально)&lt;/h3&gt;
  &lt;p id=&quot;5ph0&quot;&gt;Чтобы у пользователя &lt;code&gt;adm&lt;/code&gt; были стандартные файлы конфигурации оболочки:&lt;/p&gt;
  &lt;p id=&quot;yH08&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;Oduy&quot;&gt;# Скопируем файлы из /etc/skel в /root
sudo cp -rT /etc/skel /root/

# Изменим владельца скопированных файлов
sudo chown -R adm:adm /root/.bashrc /root/.profile 2&amp;gt;/dev/null&lt;/pre&gt;
  &lt;h3 id=&quot;C7RX&quot;&gt;Шаг 6: Предоставление прав суперпользователя (sudo)&lt;/h3&gt;
  &lt;p id=&quot;eCtt&quot;&gt;&lt;strong&gt;Способ А: Через группу sudo (рекомендуется для Ubuntu/Debian)&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ridX&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;xtJe&quot;&gt;# Добавляем пользователя в группу sudo
sudo usermod -aG sudo adm&lt;/pre&gt;
  &lt;p id=&quot;ISA1&quot;&gt;&lt;strong&gt;Способ Б: Через группу wheel (для RHEL/CentOS/AlmaLinux)&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;H4bf&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;zeV9&quot;&gt;# Добавляем пользователя в группу wheel
sudo usermod -aG wheel adm&lt;/pre&gt;
  &lt;p id=&quot;mu6e&quot;&gt;&lt;strong&gt;Способ В: Напрямую через sudoers (максимальные права)&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;3vOh&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;KFoX&quot;&gt;# Редактируем файл sudoers через visudo (обязательно!)
sudo visudo -f /etc/sudoers.d/adm&lt;/pre&gt;
  &lt;p id=&quot;ylDb&quot;&gt;Добавьте строку:&lt;/p&gt;
  &lt;p id=&quot;LKp7&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;jiwY&quot;&gt;adm ALL=(ALL:ALL) ALL&lt;/pre&gt;
  &lt;p id=&quot;v7MN&quot;&gt;или для доступа без пароля:&lt;/p&gt;
  &lt;p id=&quot;fYsz&quot;&gt;text&lt;/p&gt;
  &lt;pre id=&quot;Jp0E&quot;&gt;adm ALL=(ALL:ALL) NOPASSWD: ALL&lt;/pre&gt;
  &lt;h3 id=&quot;6ZCu&quot;&gt;Шаг 7: Настройка окружения пользователя&lt;/h3&gt;
  &lt;p id=&quot;1vqw&quot;&gt;Создадим файл &lt;code&gt;.bashrc&lt;/code&gt; в &lt;code&gt;/root&lt;/code&gt; для пользователя &lt;code&gt;adm&lt;/code&gt; (если его нет):&lt;/p&gt;
  &lt;p id=&quot;dVW3&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;OoVM&quot;&gt;# Создадим базовый .bashrc
cat &amp;gt; /root/.bashrc &amp;lt;&amp;lt; &amp;#x27;EOF&amp;#x27;
# ~/.bashrc: executed by bash(1) for interactive shells

# If not running interactively, don&amp;#x27;t do anything
case $- in
    *i*) ;;
    *) return;;
esac

# Set colorful prompt
if [ &amp;quot;$USER&amp;quot; = &amp;quot;root&amp;quot; ]; then
    PS1=&amp;#x27;\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &amp;#x27;
else
    PS1=&amp;#x27;\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &amp;#x27;
fi

# Alias definitions
alias ll=&amp;#x27;ls -alF&amp;#x27;
alias la=&amp;#x27;ls -A&amp;#x27;
alias l=&amp;#x27;ls -CF&amp;#x27;

# Enable color support
if [ -x /usr/bin/dircolors ]; then
    eval &amp;quot;$(dircolors -b)&amp;quot;
    alias ls=&amp;#x27;ls --color=auto&amp;#x27;
fi

# Enable bash completion
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi
EOF

# Установим владельца
sudo chown adm:adm /root/.bashrc&lt;/pre&gt;
  &lt;h3 id=&quot;D4K5&quot;&gt;Шаг 8: Проверка прав пользователя&lt;/h3&gt;
  &lt;p id=&quot;DLnw&quot;&gt;Переключитесь на пользователя &lt;code&gt;adm&lt;/code&gt; и проверьте его права:&lt;/p&gt;
  &lt;p id=&quot;FS5n&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;VYMU&quot;&gt;# Переключение на пользователя adm
sudo su - adm

# Проверка текущего пользователя и директории
whoami
pwd
id

# Проверка sudo прав
sudo whoami
# Должно вернуть &amp;quot;root&amp;quot;

# Проверка доступа к системным файлам
sudo ls -la /root
sudo cat /etc/shadow&lt;/pre&gt;
  &lt;h3 id=&quot;jQBI&quot;&gt;Шаг 9: Настройка SSH для пользователя adm (опционально)&lt;/h3&gt;
  &lt;p id=&quot;bCdK&quot;&gt;Если нужно разрешить вход по SSH для пользователя &lt;code&gt;adm&lt;/code&gt;:&lt;/p&gt;
  &lt;p id=&quot;tATr&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;hgQ0&quot;&gt;# Создаем SSH директорию в /root (если её нет)
sudo mkdir -p /root/.ssh
sudo chmod 700 /root/.ssh

# Добавляем публичный ключ (если используется)
sudo nano /root/.ssh/authorized_keys
# Вставьте содержимое публичного ключа

# Устанавливаем правильного владельца
sudo chown -R adm:adm /root/.ssh
sudo chmod 600 /root/.ssh/authorized_keys&lt;/pre&gt;
  &lt;h3 id=&quot;w8wb&quot;&gt;Полный скрипт для автоматизации&lt;/h3&gt;
  &lt;p id=&quot;9Mg9&quot;&gt;Вот полный скрипт, который выполняет все шаги автоматически:&lt;/p&gt;
  &lt;p id=&quot;Ei4h&quot;&gt;bash&lt;/p&gt;
  &lt;pre id=&quot;1ElS&quot;&gt;#!/bin/bash

# Создание пользователя adm с домашней папкой /root
echo &amp;quot;Создание пользователя adm...&amp;quot;
sudo useradd -m -d /root -s /bin/bash adm

# Установка пароля
echo &amp;quot;Установите пароль для пользователя adm:&amp;quot;
sudo passwd adm

# Добавление в группы
echo &amp;quot;Добавление в группы sudo и root...&amp;quot;
sudo usermod -aG sudo,root adm

# Настройка прав на /root
echo &amp;quot;Настройка прав доступа к /root...&amp;quot;
sudo chmod 750 /root
sudo chown root:root /root

# Настройка sudo прав
echo &amp;quot;Предоставление sudo прав...&amp;quot;
echo &amp;quot;adm ALL=(ALL:ALL) ALL&amp;quot; | sudo tee /etc/sudoers.d/adm
sudo chmod 440 /etc/sudoers.d/adm

# Копирование файлов конфигурации
echo &amp;quot;Копирование файлов конфигурации...&amp;quot;
sudo cp -rT /etc/skel/ /root/
sudo chown -R adm:adm /root/.bashrc /root/.profile 2&amp;gt;/dev/null

# Создание .bashrc если его нет
if [ ! -f /root/.bashrc ]; then
    echo &amp;quot;Создание .bashrc...&amp;quot;
    cat &amp;gt; /root/.bashrc &amp;lt;&amp;lt; &amp;#x27;INNER_EOF&amp;#x27;
# ~/.bashrc for adm user
export PS1=&amp;#x27;\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &amp;#x27;
alias ll=&amp;#x27;ls -alF&amp;#x27;
alias la=&amp;#x27;ls -A&amp;#x27;
alias l=&amp;#x27;ls -CF&amp;#x27;
INNER_EOF
    sudo chown adm:adm /root/.bashrc
fi

echo &amp;quot;Готово! Пользователь adm создан.&amp;quot;
echo &amp;quot;Переключитесь на него: sudo su - adm&amp;quot;
echo &amp;quot;Проверьте права: sudo whoami&amp;quot;&lt;/pre&gt;
  &lt;h3 id=&quot;V5jH&quot;&gt;Важные предупреждения&lt;/h3&gt;
  &lt;ol id=&quot;pOTJ&quot;&gt;
    &lt;li id=&quot;kIHe&quot;&gt;&lt;strong&gt;Безопасность&lt;/strong&gt;: Создание пользователя с домашней папкой &lt;code&gt;/root&lt;/code&gt; нестандартно и может создать путаницу. Обычно root и обычные пользователи имеют раздельные домашние директории по соображениям безопасности .&lt;/li&gt;
    &lt;li id=&quot;Diqh&quot;&gt;&lt;strong&gt;Конфликты&lt;/strong&gt;: Если несколько пользователей используют &lt;code&gt;/root&lt;/code&gt; как домашнюю папку, возможны конфликты с файлами конфигурации.&lt;/li&gt;
    &lt;li id=&quot;lW8j&quot;&gt;&lt;strong&gt;Альтернатива&lt;/strong&gt;: Рекомендуется оставить стандартную домашнюю папку &lt;code&gt;/home/adm&lt;/code&gt; и просто дать пользователю права sudo:bashsudo adduser adm sudo usermod -aG sudo adm&lt;/li&gt;
    &lt;li id=&quot;wGEv&quot;&gt;&lt;strong&gt;Проверка&lt;/strong&gt;: После создания убедитесь, что пользователь имеет все необходимые права, но при этом не создает угроз безопасности системе.&lt;/li&gt;
  &lt;/ol&gt;

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