<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Maxim ᅠᅠ</title><generator>teletype.in</generator><description><![CDATA[Senior Developer &amp; UI/UX Designer 
Пишу про веб-разработку, серверы, дизайн и всё, что триггерит интерес.

Основной блог → 0x69.ru]]></description><image><url>https://img4.teletype.in/files/77/6b/776b8039-22b4-41ea-b4e7-beeafd85e0db.png</url><title>Maxim ᅠᅠ</title><link>https://blog.0x69.ru/</link></image><link>https://blog.0x69.ru/?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/0x69?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/0x69?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Tue, 28 Apr 2026 07:04:11 GMT</pubDate><lastBuildDate>Tue, 28 Apr 2026 07:04:11 GMT</lastBuildDate><item><guid isPermaLink="true">https://blog.0x69.ru/vk-long-poll-sniffer</guid><link>https://blog.0x69.ru/vk-long-poll-sniffer?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69</link><comments>https://blog.0x69.ru/vk-long-poll-sniffer?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69#comments</comments><dc:creator>0x69</dc:creator><title>Реверс-инжиниринг Long Poll ВКонтакте: как я написал сниффер событий</title><pubDate>Thu, 05 Feb 2026 01:54:45 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/81/35/81357b3a-0be9-48f3-8464-ea17ebf68fc4.png"></media:content><category>Разработка</category><tt:hashtag>vk</tt:hashtag><tt:hashtag>вконтакте</tt:hashtag><tt:hashtag>longpoll</tt:hashtag><tt:hashtag>websocket</tt:hashtag><tt:hashtag>javascript</tt:hashtag><tt:hashtag>реверсинжиниринг</tt:hashtag><tt:hashtag>api</tt:hashtag><tt:hashtag>разработка</tt:hashtag><description><![CDATA[<img src="https://img4.teletype.in/files/39/33/3933da69-1c22-41be-9122-6cb3153345d3.png"></img>Документация VK API врёт. Ну, не то чтобы врёт — просто недоговаривает. Половина кодов событий не описана, а онлайн-статусы вообще куда-то пропали.]]></description><content:encoded><![CDATA[
  <figure id="RD6j" class="m_column">
    <img src="https://img4.teletype.in/files/39/33/3933da69-1c22-41be-9122-6cb3153345d3.png" width="1701" />
  </figure>
  <p id="3jyi"><strong>Документация VK API врёт.</strong> Ну, не то чтобы врёт — просто недоговаривает. Половина кодов событий не описана, а онлайн-статусы вообще куда-то пропали.</p>
  <p id="HuF1">Когда я разрабатывал расширение VKify, мне нужно было отслеживать действия в реальном времени: кто печатает, кто прочитал, кто удалил сообщение. Пришлось разбираться самому.</p>
  <hr />
  <h2 id="6oIk">🔍 Что я сделал</h2>
  <p id="TvlS">Написал сниффер, который перехватывает все Long Poll события и собирает статистику. Вставляешь код в консоль — и видишь весь поток данных:</p>
  <ul id="GIFU">
    <li id="aCjS"><strong>Код 63</strong> — печатает сообщение</li>
    <li id="fONd"><strong>Код 10004</strong> — новое сообщение</li>
    <li id="sVZC"><strong>Код 10007</strong> — прочитал сообщение</li>
    <li id="MPZ8"><strong>Код 10002</strong> — удалил для всех</li>
  </ul>
  <p id="H5B6">И ещё десяток недокументированных событий.</p>
  <hr />
  <h2 id="GKqf">🤔 Загадка онлайн-статуса</h2>
  <p id="RV4g">По документации, события «онлайн/оффлайн» должны приходить через Long Poll. Но их там нет!</p>
  <p id="i2ak">Оказалось, VK перенёс их на WebSocket (<code>eh.vk.com</code>). Данные приходят в бинарном формате — полностью разобрать протокол не удалось, но направление понятно.</p>
  <hr />
  <h2 id="PP4V">📦 Что в полной статье</h2>
  <p id="2Br9">✅ Готовый код сниффера — копируй и вставляй<br />✅ Продвинутый анализатор с командами и экспортом<br />✅ Таблица всех найденных кодов событий<br />✅ Перехват WebSocket<br />✅ Production-ready модуль для расширений</p>
  <hr />
  <h2 id="VaPD">📖 Читать полностью</h2>
  <p id="GwWm"><strong><a href="https://0x69.ru/ru/posts/reverse-engineering-vk-long-poll/" target="_blank">Полная статья с кодом на 0x69.ru →</a></strong></p>
  <tt-tags id="fMQs">
    <tt-tag name="vk">#vk</tt-tag>
    <tt-tag name="вконтакте">#вконтакте</tt-tag>
    <tt-tag name="longpoll">#longpoll</tt-tag>
    <tt-tag name="websocket">#websocket</tt-tag>
    <tt-tag name="javascript">#javascript</tt-tag>
    <tt-tag name="реверсинжиниринг">#реверсинжиниринг</tt-tag>
    <tt-tag name="api">#api</tt-tag>
    <tt-tag name="разработка">#разработка</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.0x69.ru/vkify-vkontakte-extension</guid><link>https://blog.0x69.ru/vkify-vkontakte-extension?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69</link><comments>https://blog.0x69.ru/vkify-vkontakte-extension?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69#comments</comments><dc:creator>0x69</dc:creator><title>VKify — расширение, которое делает ВКонтакте твоим</title><pubDate>Thu, 05 Feb 2026 01:46:09 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/00/fd/00fd2d72-a22e-4a0b-97ae-29e6ba81506b.png"></media:content><category>Open Source</category><tt:hashtag>vk</tt:hashtag><tt:hashtag>вконтакте</tt:hashtag><tt:hashtag>vkify</tt:hashtag><tt:hashtag>расширение</tt:hashtag><tt:hashtag>блокировкарекламы</tt:hashtag><tt:hashtag>adblock</tt:hashtag><tt:hashtag>приватность</tt:hashtag><tt:hashtag>кастомизация</tt:hashtag><tt:hashtag>темы</tt:hashtag><tt:hashtag>chrome</tt:hashtag><tt:hashtag>браузер</tt:hashtag><tt:hashtag>лайфхак</tt:hashtag><tt:hashtag>соцсети</tt:hashtag><description><![CDATA[<img src="https://img3.teletype.in/files/2b/2e/2b2e71d3-c69b-4414-8626-8182149e6747.png"></img>Надоела реклама в ленте? Хочется спрятать диалоги от любопытных глаз? Или просто сменить надоевший синий цвет VK на что-то своё?]]></description><content:encoded><![CDATA[
  <figure id="W0xZ" class="m_column">
    <img src="https://img3.teletype.in/files/2b/2e/2b2e71d3-c69b-4414-8626-8182149e6747.png" width="1701" />
  </figure>
  <p id="uYMq">Надоела реклама в ленте? Хочется спрятать диалоги от любопытных глаз? Или просто сменить надоевший синий цвет VK на что-то своё?</p>
  <p id="ZSR5"><strong>VKify</strong> решает всё это одной кнопкой.</p>
  <hr />
  <h3 id="nLUg">Что умеет</h3>
  <p id="1jKy"><strong>🛡 Блокировка рекламы</strong><br />Рекламные посты, истории, баннеры в боковой панели — всё это исчезает. Чистая лента без мусора.</p>
  <p id="y7QY"><strong>🎨 Полная кастомизация</strong></p>
  <ul id="3q7Q">
    <li id="BH2X">12 готовых цветовых тем + любой свой цвет</li>
    <li id="YmjO">Кастомный фон с настройками размытия и прозрачности</li>
    <li id="JMbW">Широкий режим отображения</li>
    <li id="s3c9">Скругление углов, ширина контента — всё настраивается</li>
  </ul>
  <p id="A13b"><strong>🔐 Приватность</strong></p>
  <ul id="kBYe">
    <li id="xgW5"><strong>Ctrl+Q</strong> — мгновенно скрывает все диалоги</li>
    <li id="KKLq">Блокировка индикатора «печатает»</li>
    <li id="Tbrs">Отключение отметки о прочтении</li>
    <li id="pgHI">Режим скелетона — весь контент заменяется серыми плейсхолдерами</li>
  </ul>
  <p id="B2TE"><strong>👁 Скрытие элементов</strong><br />Истории, рекомендации, предложения друзей, эмодзи-статусы — убираешь всё лишнее одним тумблером.</p>
  <p id="VM1u"><strong>✨ И ещё</strong></p>
  <ul id="r3t6">
    <li id="2hWl">Встроенный CSS-редактор с подсветкой синтаксиса</li>
    <li id="QMQW">Автоматизация рутины (авто-добавление друзей)</li>
    <li id="INIb">Визуальные фильтры: ч/б, сепия, затемнение для ночи</li>
    <li id="iO3v">Экспорт/импорт настроек</li>
  </ul>
  <hr />
  <h3 id="7zrG">Почему это удобно</h3>
  <ul id="Amy7">
    <li id="yq6a"><strong>50+ функций</strong> — и все работают без перезагрузки страницы</li>
    <li id="FogT"><strong>Никаких аккаунтов</strong> — всё хранится локально в браузере</li>
    <li id="eIpC"><strong>Светлая и тёмная тема</strong> интерфейса самого расширения</li>
    <li id="EBkS"><strong>Работает мгновенно</strong> — изменил настройку, сразу видишь результат</li>
  </ul>
  <hr />
  <h3 id="BOd9">Как выглядит</h3>
  <figure id="NzRH" class="m_column">
    <img src="https://img1.teletype.in/files/49/32/4932f382-d0a4-4bc2-97f3-d30dd3b04c8e.png" width="1800" />
    <figcaption>Настройки ширины, тем и фона</figcaption>
  </figure>
  <figure id="k0LH" class="m_column">
    <img src="https://img2.teletype.in/files/58/32/58320fdc-50c3-48a6-924a-181fa2c90d66.png" width="1800" />
    <figcaption>Автоматизация действий и дополнительные сценарии</figcaption>
  </figure>
  <figure id="mGDB" class="m_column">
    <img src="https://img2.teletype.in/files/18/b1/18b1417c-cd13-4506-b217-ffb9bc329042.png" width="1800" />
    <figcaption>Пользовательский CSS для глубокой кастомизации</figcaption>
  </figure>
  <hr />
  <h2 id="AB3O">Попробуй сам</h2>
  <p id="abwV">Расширение бесплатное и не требует регистрации.</p>
  <p id="7JRM"><strong>🔗 Установить VKify →</strong> <a href="https://chromewebstore.google.com/detail/vkify/lofggenkgbpdmmplnbgfplnpfjhgljla" target="_blank">Chrome Web Store</a></p>
  <hr />
  <p id="H8JQ"><em>Разработка: <a href="https://t.me/cyber_way" target="_blank">Rianvy</a> • Подробности и исходники на <a href="https://0x69.ru/ru/" target="_blank">0x69.ru</a></em></p>
  <tt-tags id="ht5w">
    <tt-tag name="vk">#vk</tt-tag>
    <tt-tag name="вконтакте">#вконтакте</tt-tag>
    <tt-tag name="vkify">#vkify</tt-tag>
    <tt-tag name="расширение">#расширение</tt-tag>
    <tt-tag name="блокировкарекламы">#блокировкарекламы</tt-tag>
    <tt-tag name="adblock">#adblock</tt-tag>
    <tt-tag name="приватность">#приватность</tt-tag>
    <tt-tag name="кастомизация">#кастомизация</tt-tag>
    <tt-tag name="темы">#темы</tt-tag>
    <tt-tag name="chrome">#chrome</tt-tag>
    <tt-tag name="браузер">#браузер</tt-tag>
    <tt-tag name="лайфхак">#лайфхак</tt-tag>
    <tt-tag name="соцсети">#соцсети</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.0x69.ru/lampa-torrserver-4k</guid><link>https://blog.0x69.ru/lampa-torrserver-4k?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69</link><comments>https://blog.0x69.ru/lampa-torrserver-4k?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69#comments</comments><dc:creator>0x69</dc:creator><title>Фильмы в 4K без скачивания: Lampa + TorrServer</title><pubDate>Thu, 05 Feb 2026 01:44:17 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/08/83/08838145-f360-4fd9-8f12-d26a4cbdb49f.png"></media:content><category>Инструкции</category><tt:hashtag>lampa</tt:hashtag><tt:hashtag>torrserver</tt:hashtag><tt:hashtag>4k</tt:hashtag><tt:hashtag>стриминг</tt:hashtag><tt:hashtag>торренты</tt:hashtag><tt:hashtag>androidtv</tt:hashtag><tt:hashtag>smarttv</tt:hashtag><tt:hashtag>appletv</tt:hashtag><tt:hashtag>xbox</tt:hashtag><tt:hashtag>медиацентр</tt:hashtag><description><![CDATA[<img src="https://img4.teletype.in/files/3a/b1/3ab19c51-01eb-4ed7-be04-231aec84c9ea.png"></img>Устал ждать, пока скачается фильм на 60 ГБ? Есть способ смотреть торренты как Netflix — нажал и смотришь. Через 30 секунд. В 4K HDR.]]></description><content:encoded><![CDATA[
  <figure id="12Xw" class="m_column">
    <img src="https://img4.teletype.in/files/3a/b1/3ab19c51-01eb-4ed7-be04-231aec84c9ea.png" width="1701" />
  </figure>
  <p id="9VCz"><strong>Устал ждать, пока скачается фильм на 60 ГБ?</strong> Есть способ смотреть торренты как Netflix — нажал и смотришь. Через 30 секунд. В 4K HDR.</p>
  <hr />
  <h2 id="S9qN">🎬 Что это вообще такое?</h2>
  <p id="57MT"><strong>TorrServer</strong> превращает торренты в видеопоток. Не качаешь весь файл — смотришь сразу.</p>
  <p id="NuSP"><strong>Lampa</strong> — это красивая оболочка с обложками, рейтингами и поиском. Как Netflix, только библиотека бесконечная.</p>
  <p id="ClJM">Вместе они = <strong>домашний кинотеатр без границ</strong>.</p>
  <hr />
  <h2 id="JHOI">🔥 Почему это круто</h2>
  <ul id="IC74">
    <li id="kzje"><strong>30 секунд</strong> — и фильм играет (вместо 2 часов скачивания)</li>
    <li id="KyZg"><strong>Не забивает диск</strong> — буфер 1–4 ГБ и всё</li>
    <li id="n3U9"><strong>4K HDR Remux</strong> — качество, которого нет на стримингах</li>
    <li id="lFnP"><strong>Режиссёрские версии</strong>, редкие субтитры, контент без цензуры</li>
    <li id="qVOa"><strong>Интерфейс для всей семьи</strong> — бабушка разберётся</li>
  </ul>
  <hr />
  <h2 id="nM38">📱 Работает везде</h2>
  <p id="1qjd"></p>
  <p id="tEQI">Android TV, Apple TV (через Luxo), Xbox, Smart TV Samsung/LG, Windows/Mac/Linux</p>
  <p id="ed0X"></p>
  <hr />
  <h2 id="nJgG">Что в полной статье?</h2>
  <p id="09DK">✅ Пошаговая установка для каждой платформы<br />✅ Настройка TorrServer + подключение к Lampa<br />✅ Список рабочих плагинов (торренты, IPTV, 18+)<br />✅ Требования к интернету для разного качества<br />✅ Решение типичных проблем</p>
  <hr />
  <h2 id="qRhc">📖 Читать полностью</h2>
  <p id="Oa57"><strong><a href="https://0x69.ru/ru/posts/kak-smotret-filmy-4k-lampa-torrserver/" target="_blank">Полная инструкция на 0x69.ru →</a></strong></p>
  <tt-tags id="sSq7">
    <tt-tag name="lampa">#lampa</tt-tag>
    <tt-tag name="torrserver">#torrserver</tt-tag>
    <tt-tag name="4k">#4k</tt-tag>
    <tt-tag name="стриминг">#стриминг</tt-tag>
    <tt-tag name="торренты">#торренты</tt-tag>
    <tt-tag name="androidtv">#androidtv</tt-tag>
    <tt-tag name="smarttv">#smarttv</tt-tag>
    <tt-tag name="appletv">#appletv</tt-tag>
    <tt-tag name="xbox">#xbox</tt-tag>
    <tt-tag name="медиацентр">#медиацентр</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.0x69.ru/chatgpt_claude_gemini_dns</guid><link>https://blog.0x69.ru/chatgpt_claude_gemini_dns?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69</link><comments>https://blog.0x69.ru/chatgpt_claude_gemini_dns?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69#comments</comments><dc:creator>0x69</dc:creator><title>ChatGPT, Claude и Gemini без VPN: 4 способа через DNS</title><pubDate>Thu, 05 Feb 2026 01:37:54 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/74/d9/74d9b32b-46bc-4d1b-a83f-de3b0b6cc8c9.png"></media:content><category>Инструкции</category><tt:hashtag>dns</tt:hashtag><tt:hashtag>chatgpt</tt:hashtag><tt:hashtag>claude</tt:hashtag><tt:hashtag>gemini</tt:hashtag><tt:hashtag>ai</tt:hashtag><tt:hashtag>нейросети</tt:hashtag><tt:hashtag>инструкция</tt:hashtag><tt:hashtag>vpn</tt:hashtag><tt:hashtag>howto</tt:hashtag><description><![CDATA[<img src="https://img1.teletype.in/files/47/fa/47fa0c01-e9ce-4a93-af9d-87d2e00d2559.png"></img>Видишь «This service is not available in your region»? Забудь. Есть способ проще и быстрее, чем VPN.]]></description><content:encoded><![CDATA[
  <figure id="oAii" class="m_column">
    <img src="https://img1.teletype.in/files/47/fa/47fa0c01-e9ce-4a93-af9d-87d2e00d2559.png" width="1701" />
  </figure>
  <p id="V3OE"><strong>Видишь «This service is not available in your region»?</strong> Забудь. Есть способ проще и быстрее, чем VPN.</p>
  <hr />
  <h2 id="HPPa">🔥 В чём суть</h2>
  <p id="4zHq">AI-сервисы определяют твой регион по IP и блокируют доступ. Но фишка в том, что <strong>достаточно изменить DNS</strong> — и ты подключаешься к серверам, которые пускают всех.</p>
  <p id="S1Cm">Никакого туннелирования. Никаких платных подписок. Просто правильная настройка сети.</p>
  <hr />
  <h2 id="p0VG">4 рабочих способа</h2>
  <h3 id="psNF">1️⃣ Альтернативный DNS</h3>
  <p id="yHIU">Меняешь DNS в браузере или системе — и всё работает. <strong>2 минуты настройки.</strong></p>
  <h3 id="k24L">2️⃣ Файл hosts</h3>
  <p id="RH35">Прописываешь IP-адреса вручную. Максимальный контроль и приватность.</p>
  <h3 id="fUcG">3️⃣ AdGuard DNS</h3>
  <p id="mmKS">Облачные правила + блокировка рекламы. Один раз настроил — работает на всех устройствах.</p>
  <h3 id="5VPi">4️⃣ Comss.one DNS</h3>
  <p id="9S6Z"><strong>«Поставил и забыл»</strong> — всё уже настроено за тебя. Идеально для новичков и роутеров.</p>
  <hr />
  <h2 id="Ezfd">Что получишь в полной статье</h2>
  <p id="hgb7">✅ Пошаговые инструкции для Windows, macOS, Linux, браузеров<br />✅ Готовые IP-адреса и правила для всех AI-сервисов<br />✅ Сравнение плюсов и минусов каждого способа<br />✅ Решение типичных проблем<br />✅ Актуальные ссылки на DNS-серверы и hosts-файлы</p>
  <hr />
  <h2 id="8LGn">📖 Читать полностью</h2>
  <p id="Wu4o"><strong>Полная статья с инструкциями на <a href="https://0x69.ru/ru/posts/chatgpt-claude-gemini-dns-dostup/" target="_blank">0x69.ru →</a></strong></p>
  <tt-tags id="mgQ9">
    <tt-tag name="dns">#dns</tt-tag>
    <tt-tag name="chatgpt">#chatgpt</tt-tag>
    <tt-tag name="claude">#claude</tt-tag>
    <tt-tag name="gemini">#gemini</tt-tag>
    <tt-tag name="ai">#ai</tt-tag>
    <tt-tag name="нейросети">#нейросети</tt-tag>
    <tt-tag name="инструкция">#инструкция</tt-tag>
    <tt-tag name="vpn">#vpn</tt-tag>
    <tt-tag name="howto">#howto</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.0x69.ru/role-htaccess</guid><link>https://blog.0x69.ru/role-htaccess?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69</link><comments>https://blog.0x69.ru/role-htaccess?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=0x69#comments</comments><dc:creator>0x69</dc:creator><title>Файл .htaccess: Полное руководство по настройке Apache</title><pubDate>Wed, 04 Feb 2026 04:21:10 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/cf/d3/cfd3efc5-87ff-450a-bfa7-be3a44591fc3.png"></media:content><category>Администрирование</category><description><![CDATA[<img src="https://img3.teletype.in/files/26/63/26638ba1-36ca-406f-abd2-9824fcdcebbf.png"></img>Файл .htaccess — это конфигурационный файл веб-сервера Apache, который позволяет настраивать работу сервера прямо на уровне директорий. Не нужно лезть в глобальные настройки сервера — всё делается в одном файле.]]></description><content:encoded><![CDATA[
  <figure id="lsdr" class="m_column">
    <img src="https://img3.teletype.in/files/26/63/26638ba1-36ca-406f-abd2-9824fcdcebbf.png" width="1920" />
  </figure>
  <p id="8Fgm">Файл <strong>.htaccess</strong> — это конфигурационный файл веб-сервера Apache, который позволяет настраивать работу сервера прямо на уровне директорий. Не нужно лезть в глобальные настройки сервера — всё делается в одном файле.</p>
  <h3 id="RP3w">Что важно знать сразу:</h3>
  <ul id="OgO9">
    <li id="LyGr">Apache проверяет файл <strong>при каждом запросе</strong> к сайту</li>
    <li id="rkc0">Изменения вступают в силу моментально</li>
    <li id="FuJK">Синтаксические ошибки = ошибка 500 (сайт ляжет)</li>
    <li id="Yw5A">Слишком много правил = просадка производительности</li>
  </ul>
  <hr />
  <h2 id="duoZ">Базовые возможности</h2>
  <h3 id="VNpa">🔒 Контроль доступа по IP</h3>
  <p id="nZ0t">Заблокировать конкретный IP (например, спамера):</p>
  <pre id="y1rP">apacheOrder Deny,Allow
Deny from 123.123.123.123</pre>
  <p id="Op4u">Разрешить доступ <strong>только</strong> определённым IP (для тестовой версии сайта или админки):</p>
  <pre id="QBb2">apacheOrder Deny,Allow
Deny from all
Allow from 123.123.123.123</pre>
  <h3 id="3dke">🔤 Кодировка</h3>
  <p id="NgfD">Чтобы русский, китайский и любой другой текст отображался корректно:</p>
  <pre id="g5hG">apacheAddDefaultCharset UTF-8</pre>
  <h3 id="Vxz6">⚠️ Кастомные страницы ошибок</h3>
  <p id="ZVR3">Вместо стандартной 404 — своя страница с поиском и полезными ссылками:</p>
  <pre id="HtNS">apacheErrorDocument 404 /errors/404.html
ErrorDocument 403 /errors/403.html
ErrorDocument 500 /errors/500.html</pre>
  <hr />
  <h2 id="7Pub">Управление URL</h2>
  <h3 id="nGvj">Чистые URL без расширений</h3>
  <p id="yuMm">Превращаем <code>site.ru/about.html</code> → <code>site.ru/about</code>:</p>
  <pre id="guIZ">apacheRewriteEngine On
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]</pre>
  <h3 id="vcHD">Убираем слеш в конце</h3>
  <p id="bD3L"><code>site.ru/blog/</code> → <code>site.ru/blog</code>:</p>
  <pre id="uqof">apacheRewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]</pre>
  <h3 id="YrJ2">Редирект www → без www</h3>
  <p id="Stvp">Важно для SEO — убираем дубли страниц:</p>
  <pre id="K0lv">apacheRewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]</pre>
  <hr />
  <h2 id="ro8s">Безопасность</h2>
  <h3 id="ggyx">Защита от хотлинка</h3>
  <p id="g0cB">Кто-то встраивает ваши картинки на свой сайт? Показываем ему заглушку:</p>
  <pre id="phvS">apacheRewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?site\.ru [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ /images/stop-hotlinking.jpg [NC,R,L]</pre>
  <hr />
  <h2 id="YxRm">Это только начало</h2>
  <p id="P03h">В полной версии статьи на сайте разобраны:</p>
  <ul id="Cv76">
    <li id="cS5A"><strong>🛡 Защита от брутфорса</strong> — правила mod_security, rate-limiting, блокировка ботов</li>
    <li id="Dy8b"><strong>⚡ Кэширование статики</strong> — как правильно настроить Expires с версионированием файлов</li>
    <li id="N0Hw"><strong>📦 GZIP-сжатие</strong> — уменьшение размера HTML до 70%, CSS до 80%</li>
    <li id="B9Uv"><strong>🖥 Настройка для SPA</strong> — роутинг React/Vue через .htaccess</li>
    <li id="WCBy"><strong>🐛 Отладка и логирование</strong> — включение логов ошибок, режим разработки</li>
    <li id="PjYS"><strong>❌ Типичные ошибки</strong> — что ломает сайт и как этого избежать</li>
  </ul>
  <hr />
  <p id="D2Yh"><strong>📎 Полная версия с примерами и готовыми конфигами →</strong> <a href="https://0x69.ru/ru/posts/role-htaccess/" target="_blank">0x.69.ru</a></p>

]]></content:encoded></item></channel></rss>