<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Anastasia Tereshkina</title>
    <description>The latest articles on DEV Community by Anastasia Tereshkina (@tirlick).</description>
    <link>https://dev.to/tirlick</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2613311%2F7a8e210b-0613-43e7-86a5-c512e1c37528.png</url>
      <title>DEV Community: Anastasia Tereshkina</title>
      <link>https://dev.to/tirlick</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tirlick"/>
    <language>en</language>
    <item>
      <title>Google Introduces New Gemini-Based Text Vectorization Model</title>
      <dc:creator>Anastasia Tereshkina</dc:creator>
      <pubDate>Wed, 26 Mar 2025 09:13:11 +0000</pubDate>
      <link>https://dev.to/arcanegamingcom/google-introduces-new-gemini-based-text-vectorization-model-3ki2</link>
      <guid>https://dev.to/arcanegamingcom/google-introduces-new-gemini-based-text-vectorization-model-3ki2</guid>
      <description>&lt;p&gt;Google has announced a new experimental tool – the Gemini Embedding text vectorization model. It has been added to the Gemini-based developer API.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Text vectorization models convert text data, such as words and phrases, into numerical representations – so-called embeddings, which capture the semantic meaning of the text. In particular, embeddings are used in programs for searching and classifying documents, allowing to speed up the task and reduce its cost.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The company has previously &lt;a href="https://developers.googleblog.com/en/gemini-embedding-text-model-now-available-gemini-api/" rel="noopener noreferrer"&gt;released&lt;/a&gt; other vectorization models, but this is the first such tool trained on the Gemini family. In its blog, Google reported that the model "inherits Gemini's understanding of language and contextual nuances," which makes it applicable in a wide range of applications. The training focused on general topics, which ensures that the tool works equally well with texts from finance, science, law and other fields.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;According to the company, Gemini Embedding shows higher performance results in key benchmarks compared to Google's previous text vectorization model, text-embedding-004. In particular, it can process larger pieces of text or code and supports twice as many languages, namely more than a hundred.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Currently, the tool is in an "experimental phase", has limitations (its input token limit is limited to 8 thousand) and is undergoing changes during development. As indicated in the blog, the full version of the model is expected to be released in a few months.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comparison of the new model with previous analogs by key benchmarks / developers.googleblog.com&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7m4zcnv6cs7y4uskemcb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7m4zcnv6cs7y4uskemcb.png" alt="Image description" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>ai</category>
    </item>
    <item>
      <title>Китайские разработчики представили новое семейство ИИ-моделей Qwen2.5-VL</title>
      <dc:creator>Anastasia Tereshkina</dc:creator>
      <pubDate>Fri, 31 Jan 2025 14:43:32 +0000</pubDate>
      <link>https://dev.to/arcanegamingcom/kitaiskiie-razrabotchiki-priedstavili-novoie-siemieistvo-ii-modieliei-qwen25-vl-59k2</link>
      <guid>https://dev.to/arcanegamingcom/kitaiskiie-razrabotchiki-priedstavili-novoie-siemieistvo-ii-modieliei-qwen25-vl-59k2</guid>
      <description>&lt;p&gt;Китайская команда разработчиков Qwen, принадлежащая компании Alibaba, выпустила новое семейство ИИ-моделей Qwen2.5-VL. Инструменты могут выполнять различные задачи на основе текста, видео и изображений, а также служить в качестве ассистента на ПК и смартфонах.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Friigh48diewpt6o5fjoz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Friigh48diewpt6o5fjoz.png" alt="Источник: GitHub" width="800" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Модели умеют:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;распознавать документы разного характера (печатный текст, сканы рукописей, нотные записи) на разных языках, извлекать из них данные;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;выявлять, распознавать и подсчитывать объекты на изображениях или в видео;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;понимать суть многочасовых видеороликов (в том числе определять первоисточник, по которому снят фильм или сериал), находить в них нужный сегмент или информацию за несколько секунд;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;считывать и анализировать таблицы, диаграммы, графики, химические формулы;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;выполнять различные действия на ПК и смартфонах в помощь пользователю.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;По результатам проведённого командой сравнительного анализа, Qwen2.5-VL превосходит GPT-4o от OpenAI, Claude 3.5 Sonnet от Anthropic и Gemini 2.0 Flash от Google по ряду бенчмарков, оценивающих возможности моделей в понимании видео, решении математических задач, анализе документов и генерации ответов на общие вопросы.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zrw3sbrzkit6uvpsk0t.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zrw3sbrzkit6uvpsk0t.jpeg" alt="Источник: GitHub" width="800" height="756"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Отличительной особенностью Qwen2.5-VL является способность взаимодействовать с программным обеспечением на ПК и мобильных устройствах. В демонстрационном видео, опубликованном в X, компания показала, как на смартфонах с Android инструмент запускает приложение для покупки билетов и бронирует места на авиарейс. В другом видео демонстрируется взаимодействие модели с ПК на Linux – но там инструмент только переключает между собой вкладки. Вероятно, модель ещё находится в процессе обучения работы на ПК, поскольку показывает низкие результаты по бенчмарку OSWorld, оценивающему эффективности модели в имитированной компьютерной среде.&lt;/p&gt;

&lt;p&gt;Qwen2.5-VL выложена в открытый доступ в приложении Qwen Chat и на платформе Hugging Face.&lt;/p&gt;

&lt;p&gt;Помимо флагманской модели, в семейство также вошли две упрощенные версии – Qwen2.5-VL-3B и Qwen2.5-VL-7B. Они характеризуются меньшим размером и более ограниченным функционалом.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Changelog - Not Boring: How to Make Update Announcements Interesting for Users</title>
      <dc:creator>Anastasia Tereshkina</dc:creator>
      <pubDate>Tue, 21 Jan 2025 11:11:48 +0000</pubDate>
      <link>https://dev.to/tirlick/changelog-not-boring-how-to-make-update-announcements-interesting-for-users-51g0</link>
      <guid>https://dev.to/tirlick/changelog-not-boring-how-to-make-update-announcements-interesting-for-users-51g0</guid>
      <description>&lt;p&gt;In a world of rapidly evolving technologies, where applications are updated almost daily, it's important not only to create a high-quality product but also to effectively communicate information about its changes to users. Boring and incomprehensible changelogs can lead to users ignoring important updates, not appreciating new features, and ultimately losing interest in the application.&lt;/p&gt;

&lt;p&gt;Why is it necessary to make update announcements interesting?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;User retention&lt;/strong&gt;: Interesting announcements motivate users to update the application and continue using it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Increased engagement&lt;/strong&gt;: New features and improvements, presented in an attractive form, encourage users to actively interact with the application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Building loyalty&lt;/strong&gt;: Regular and interesting updates show users that the developers care about them and strive to improve their experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced churn&lt;/strong&gt;: Users who are aware of new features and improvements are less likely to uninstall the application.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, many developers create boring changelogs that repel users:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Technical language&lt;/strong&gt;: A changelog written in the language of developers is incomprehensible to ordinary users.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dry list&lt;/strong&gt;: A simple listing of changes without focusing on the benefits does not generate interest.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unattractive design&lt;/strong&gt;: Solid text without visual elements looks boring and does not motivate reading.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to make a changelog interesting?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fotw5zqgbib9af1nuqtnm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fotw5zqgbib9af1nuqtnm.png" alt="Image description" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Language and style:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Speak the user's language&lt;/strong&gt;: Avoid technical jargon, use simple and clear language.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus on the benefits&lt;/strong&gt;: Explain how updates will improve the user's life.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use active voice and vivid verbs&lt;/strong&gt;: "Added a new feature" sounds boring, but "Now you can do ..." is much more interesting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add humor&lt;/strong&gt;: An informal tone and a bit of humor can make the changelog more engaging.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Structure and content:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Highlight the main points&lt;/strong&gt;: Don't make users search for important information in a long list of changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Group changes&lt;/strong&gt;: Divide the changelog into sections (new features, bug fixes, improvements).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use headings and subheadings&lt;/strong&gt;: This will make reading easier and help users quickly find the information they need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add visual elements&lt;/strong&gt;: Screenshots, videos, and GIF animations will help to visually demonstrate new features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Visual design:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Design matters&lt;/strong&gt;: Use an attractive design that matches the style of your application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add images&lt;/strong&gt;: Images make the changelog more attractive and help to better perceive information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy navigation&lt;/strong&gt;: If the changelog is long, add a table of contents or navigation by sections.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Services for creating interesting update announcements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are many tools on the market to help you create interesting and informative changelogs. Here are some of them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AnnounceKit&lt;/strong&gt;: Automates the creation of changelogs and allows you to target announcements to different user groups.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beamer&lt;/strong&gt;: A platform for managing releases and creating changelogs with support for various content formats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LaunchNotes&lt;/strong&gt;: Helps create beautiful and stylish changelogs with a focus on branding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Releazio&lt;/strong&gt;: Offers a simple and convenient interface for creating changelogs with images and videos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Examples and case studies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many companies successfully use interesting changelogs to increase user engagement. For example, Slack publishes regular updates on its blog using catchy headlines, screenshots, and GIF animations. Intercom creates interactive changelogs that allow users to filter changes by category and leave feedback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A changelog is not just a dry list of changes, but an important tool for communicating with users. Make your update announcements interesting, informative, and engaging, and you will see how user engagement and loyalty to your application will increase. Experiment with different approaches, use specialized services, and don't be afraid to be creative!&lt;/p&gt;

</description>
      <category>software</category>
      <category>update</category>
      <category>changelog</category>
      <category>programming</category>
    </item>
    <item>
      <title>Как создать свой VPN и получить доступ ко всему?</title>
      <dc:creator>Anastasia Tereshkina</dc:creator>
      <pubDate>Wed, 15 Jan 2025 14:44:32 +0000</pubDate>
      <link>https://dev.to/arcanegamingcom/kak-sozdat-svoi-vpn-i-poluchit-dostup-ko-vsiemu-11pf</link>
      <guid>https://dev.to/arcanegamingcom/kak-sozdat-svoi-vpn-i-poluchit-dostup-ko-vsiemu-11pf</guid>
      <description>&lt;p&gt;VLESS XTLS – это современный протокол, который эффективно обходит ограничения, наложенные на YouTube. Он не только обеспечивает высокий уровень безопасности благодаря надежному шифрованию, но и гарантирует бесперебойную работу сервиса, позволяя наслаждаться видеоконтентом без каких-либо задержек и буферизации.&lt;/p&gt;

&lt;p&gt;Discord, платформа, ставшая неотъемлемой частью общения для геймеров и профессионалов, также нередко подвергается блокировкам.  VLESS XTLS выступает в качестве надежного инструмента, позволяющего преодолевать эти ограничения и поддерживать связь с друзьями и коллегами, обеспечивая беспрепятственный доступ к мессенджеру.&lt;/p&gt;

&lt;p&gt;В условиях, когда интернет-цензура становится все более распространенной, VLESS XTLS  превращается в ключевое решение для обхода блокировок YouTube и Discord. Этот протокол открывает пользователям  доступ к международным онлайн-ресурсам, защищая их от ограничений и обеспечивая стабильное соединение.  Сегодня многие сталкиваются с невозможностью пользоваться такими популярными сервисами, как YouTube и Instagram, из-за  ограничений доступа.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyndk9ng9z0ngl12nr99m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyndk9ng9z0ngl12nr99m.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Чтобы ваш VPN работал стабильно, следуйте этим рекомендациям:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Чего делать НЕ стоит&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Не используйте VPS для протоколов, которые легко обнаружить. WireGuard, OpenVPN, Shadowsocks и другие подобные протоколы могут привести к блокировке вашего VPS. Некоторые провайдеры блокируют серверы, на которых ранее использовались эти протоколы.&lt;br&gt;
Не заходите на российские сайты через VPS. Лучше открывать их напрямую, без прокси. Если это невозможно, используйте цепочку: ваше устройство -&amp;gt; VPS -&amp;gt; Warp -&amp;gt; российский сайт. Так вы не вызовете подозрений у цензоров. "Двойное пересечение границы" (туда и обратно через VPS) за короткий промежуток времени может быть расценено как подозрительная активность.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ограничьте количество пользователей вашего прокси. Идеально, если им будете пользоваться только вы или небольшой круг людей (до 5 человек). В Китае большой объем трафика от множества пользователей может привести к блокировке сервера, и российские провайдеры могут перенять этот опыт.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Соблюдая эти правила, вы значительно снизите риск блокировки.  Но для максимальной надежности  рекомендуется подготовить запасной вариант – проксирование трафика через CDN (сеть доставки контента).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Настройка VPS&lt;/strong&gt;&lt;br&gt;
Для начала нужно выбрать VPS - виртуальный выделенный сервер. Нам нужен VPS с хорошей скоростью (700-800 мбит/с), безлимитным трафиком и расположенный в Европе, России или США. Мы рекомендуем хостинг-провайдера Аеза, как дешевый и стабильный вариант.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Пошаговая инструкция:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Регистрация: Создайте учетную запись на сайте хостинг-провайдера и войдите в свой профиль.&lt;/li&gt;
&lt;li&gt;Выбор сервера: Закажите виртуальный сервер. Выберите самый простой тариф (Shared) с минимальными характеристиками, операционной системой Ubuntu 22.04.&lt;/li&gt;
&lt;li&gt;Оплата: Откажитесь от резервного копирования (бэкапов), чтобы сэкономить, и оплатите услугу.&lt;/li&gt;
&lt;li&gt;Активация: Дождитесь, пока сервер будет готов к работе. После этого вы получите данные для входа (IP-адрес, имя пользователя и пароль).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Подключение и настройка сервера&lt;/strong&gt;&lt;br&gt;
Теперь нужно подключиться к серверу и настроить его:&lt;br&gt;
1.SSH-подключение: Используйте команду ssh root@ip-адрес, чтобы подключиться к серверу по SSH.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Обновление системы: Выполните команду apt update &amp;amp;&amp;amp; apt full-upgrade -y, чтобы обновить систему.&lt;/li&gt;
&lt;li&gt;Перезагрузка: Перезагрузите сервер командой reboot.&lt;/li&gt;
&lt;li&gt;Установка пакетов: Установите необходимые программы: apt install docker.io docker-compose git curl bash openssl nano -y.&lt;/li&gt;
&lt;li&gt;Установка панели управления: Установите панель управления 3X-UI версии 2.0.2.
! Важно использовать именно версию 2.0.2, так как в новых версиях изменился интерфейс.!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Склонируйте репозиторий и установите 3x-ui v2.0.2:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Bash
git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui
nano docker-compose.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;В открывшемся текстовом редакторе в 6 строке замените "latest" на "v2.0.2":&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;было: image: ghcr.io/mhsanaei/3x-ui:latest
стало: image: ghcr.io/mhsanaei/3x-ui:v2.0.2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Сохраните изменения: CTRL+X, Y, ENTER.&lt;br&gt;
Используйте команду docker-compose up -d.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Установка Warp:
Удалите старую версию Warp: warp u.
Установите новую версию:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Bash
bash &amp;lt;(curl -sSL https://raw.githubusercontent.com/hamid-gh98/x-ui-scripts/main/install_warp_proxy.sh)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Во время установки скрипт запросит цифру, нужно ввести 40000.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;TLS-сертификат:
Сгенерируйте самоподписанный TLS-сертификат:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Bash
openssl req -x509 -newkey rsa:4096 -nodes -sha256 -keyout private.key -out public.key -days 3650 -subj "/CN=APP"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Скопируйте его в панель 3X-UI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Bash
docker cp private.key 3x-ui:private.key
docker cp public.key 3x-ui:public.key

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;На этом настройка сервера пока закончена.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Настройка панели 3X-UI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxotzblzce2btg2hserty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxotzblzce2btg2hserty.png" alt="Image description" width="800" height="551"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Шаг 1: Доступ к панели управления&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Откройте веб-браузер и введите в адресной строке &lt;code&gt;http://ip-адрес:2053/&lt;/code&gt;. Замените &lt;code&gt;ip-адрес&lt;/code&gt; на фактический IP-адрес вашего VPS.&lt;/li&gt;
&lt;li&gt;Введите логин &lt;code&gt;admin&lt;/code&gt; и пароль &lt;code&gt;admin&lt;/code&gt; для входа в панель управления.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Шаг 2: Настройка панели управления&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;В разделе "Panel Settings" измените следующие параметры:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Panel Port:&lt;/strong&gt;  Выберите случайное число от 1000 до 65535, исключая 40000 (зарезервировано для Warp).  Например, 54321.  &lt;strong&gt;Важно:&lt;/strong&gt; Запомните это число, оно понадобится вам для доступа к панели.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Panel Certificate Public Key Path:&lt;/strong&gt; &lt;code&gt;/public.key&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Panel Certificate Private Key Path:&lt;/strong&gt; &lt;code&gt;/private.key&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Panel URL Root Path:&lt;/strong&gt;  Создайте секретную строку, которая начинается и заканчивается символом "/". Например, &lt;code&gt;/mysecreturl/&lt;/code&gt;.  &lt;strong&gt;Важно:&lt;/strong&gt; Запомните эту строку.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Нажмите кнопку "Save", а затем "Restart Panel".&lt;/li&gt;

&lt;li&gt;После перезагрузки панели обновите страницу в браузере, изменив порт в адресной строке на тот, который вы выбрали (например, &lt;code&gt;&lt;a href="http://ip-%D0%B0%D0%B4%D1%80%D0%B5%D1%81:54321/" rel="noopener noreferrer"&gt;http://ip-адрес:54321/&lt;/a&gt;&lt;/code&gt;).&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Шаг 3:  Защита панели управления&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;В разделе "Security Settings" смените стандартные логин и пароль на новые, чтобы защитить панель от несанкционированного доступа.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Теперь вы можете получить доступ к панели управления по HTTPS-адресу, используя ваш порт и секретную строку. Например: &lt;code&gt;https://ip-адрес:54321/mysecreturl/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Шаг 4: Настройка Xray&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Перейдите в раздел "Xray Settings".&lt;/li&gt;
&lt;li&gt;Включите следующие опции:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IPv4 Configs -&amp;gt; Use IPv4 for Google.&lt;/strong&gt;  (Используйте IPv4 для Google)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WARP Configs -&amp;gt; Route OpenAI (ChatGPT) через WARP.&lt;/strong&gt; (Направляйте трафик OpenAI (ChatGPT) через WARP)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Сохраните настройки и перезагрузите Xray.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Шаг 5: Настройка правил маршрутизации&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;В разделе "Routing Rules" настройте правила, чтобы весь российский трафик проходил через WARP:

&lt;ul&gt;
&lt;li&gt;Отредактируйте строку &lt;code&gt;geosite:openai&lt;/code&gt;, добавив: &lt;code&gt;geosite:category-gov-ru,regexp:.*\.ru$,geosite:openai&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Добавьте новое правило: &lt;code&gt;IP: geoip:ru, Outbound tag: WARP&lt;/code&gt;.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Результат:&lt;/strong&gt;  Российский трафик будет направляться через WARP, а зарубежный – через ваш сервер.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Шаг 6:  Обход блокировки YouTube и Discord&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Сохраните настройки и перезагрузите Xray.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Маскировка сайта&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Шаг 1: Выбор сайта для маскировки&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Цель:&lt;/strong&gt; Нам нужно найти популярный сайт с хорошим временем отклика, чтобы наш VPN-трафик выглядел как обычный HTTPS-трафик этого сайта.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Рекомендации:&lt;/strong&gt;  Автор советует использовать крупные и надежные сайты, такие как &lt;code&gt;yadndex.ru&lt;/code&gt;, &lt;code&gt;google.com&lt;/code&gt;, &lt;code&gt;cloudflare.com&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Проверка отклика:&lt;/strong&gt;  Используйте команду &lt;code&gt;ping &amp;lt;адрес сайта&amp;gt;&lt;/code&gt; в терминале (например, &lt;code&gt;ping cloudflare.com&lt;/code&gt;), чтобы проверить время отклика. Выберите сайт с наименьшим временем отклика.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Шаг 2: Настройка VLESS&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;В панели управления Xray перейдите в раздел &lt;strong&gt;(Inbound)&lt;/strong&gt; -&amp;gt; &lt;strong&gt;(Add inbound)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Заполните поля, как показано на скриншоте (который, к сожалению, я не вижу). Обратите внимание на следующие важные моменты:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Remark&lt;/strong&gt; и &lt;strong&gt;Email:&lt;/strong&gt;  Можете ввести любые значения, эти поля не влияют на работу VPN.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Listening IP:&lt;/strong&gt;  Укажите IP-адрес вашего VPS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port:&lt;/strong&gt;  Установите значение &lt;strong&gt;443&lt;/strong&gt;. Это стандартный порт для HTTPS-трафика, что поможет замаскировать VPN.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security:&lt;/strong&gt;  Выберите &lt;strong&gt;Reality&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flow:&lt;/strong&gt;  После выбора Reality станет доступен параметр &lt;strong&gt;xtls-rprx-vision&lt;/strong&gt;. Выберите его.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;uTLS:&lt;/strong&gt;  Выберите &lt;strong&gt;Chrome&lt;/strong&gt;, чтобы имитировать трафик самого популярного браузера.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dest, Server Names:&lt;/strong&gt;  Укажите домен выбранного вами сайта-донора (например, &lt;code&gt;cloudflare.com&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Нажмите кнопку &lt;strong&gt;(Get new cert)&lt;/strong&gt; для генерации ключей.&lt;/li&gt;

&lt;li&gt;Нажмите &lt;strong&gt;(Create)&lt;/strong&gt; для завершения создания inbound.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Шаг 3: Добавление пользователя&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Нажмите на три точки рядом с созданным inbound и выберите &lt;strong&gt;Add Client&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;В поле &lt;strong&gt;Email&lt;/strong&gt; введите название профиля (это необязательно).&lt;/li&gt;
&lt;li&gt;Выберите &lt;strong&gt;Flow:&lt;/strong&gt;  &lt;strong&gt;xtls-rprx-vision&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Нажмите &lt;strong&gt;Add Client&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Шаг 4: Получение ключа VLESS&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Нажмите на значок QR-кода в строке с вашим профилем.&lt;/li&gt;
&lt;li&gt;Откроется QR-код. Нажмите на него, чтобы скопировать ключ VLESS. Он будет выглядеть примерно так:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vless://e034d537-b028-41f0-9e53-5f0838ea8b3b@111.111.111.111:443?type=tcp&amp;amp;security=reality&amp;amp;pbk=D0Bfsax3Ble2KiqDrOu3_qMJw7qVKyrnWgpvDTVkb3M&amp;amp;fp=chrome&amp;amp;sni=nltimes.nl&amp;amp;sid=64edf3b5&amp;amp;spx=%2F&amp;amp;flow=xtls-rprx-vision#NiceVPN-%D0%94%D0%BB%D1%8F%20%D1%81%D1%82%D0%B0%D1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Важно:&lt;/strong&gt;  Сохраните этот ключ в надежном месте. Он понадобится вам для подключения к VPN.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Тестирование:&lt;/strong&gt; После настройки проверьте, работает ли ваш VPN, и убедитесь, что вы можете получить доступ к заблокированным ресурсам.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Обновление:&lt;/strong&gt;  Следите за обновлениями Xray и  протокола VLESS XTLS Reality, чтобы ваш VPN оставался безопасным и эффективным.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Настройка защиты сервера&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknl9fivtpiebf3t289kr.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknl9fivtpiebf3t289kr.jpeg" alt="Image description" width="740" height="740"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Шаг 1:  Установка и настройка брандмауэра (UFW)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Подключение к серверу:&lt;/strong&gt;  Откройте терминал (cmd) и подключитесь к вашему серверу по SSH. Убедитесь, что вы находитесь в домашней директории (&lt;code&gt;cd&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Установка UFW:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;ufw &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Открытие портов:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Разрешите SSH доступ (порт 22):
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allow 22/tcp 
&lt;/code&gt;&lt;/pre&gt;



&lt;ul&gt;
&lt;li&gt;Разрешите доступ к панели управления 3x-ui (порт, который вы выбрали ранее, например, 54321):
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allow 54321/tcp  
&lt;/code&gt;&lt;/pre&gt;



&lt;ul&gt;
&lt;li&gt;Разрешите HTTPS трафик для VLESS/XTLS Reality (порт 443):
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allow 443/tcp 
&lt;/code&gt;&lt;/pre&gt;



&lt;ul&gt;
&lt;li&gt;Если вы настраиваете CDN, разрешите доступ к порту 2053:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allow 2053/tcp 
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Включение UFW:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Шаг 2:  Настройка Fail2ban (опционально, но рекомендуется)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Обновление системы:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Установка Fail2ban:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;fail2ban
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Автозапуск Fail2ban:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;fail2ban
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Создание конфигурационного файла:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Создайте файл &lt;code&gt;jail.local&lt;/code&gt;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;vim /etc/fail2ban/jail.local
&lt;/code&gt;&lt;/pre&gt;



&lt;ul&gt;
&lt;li&gt;Добавьте в него следующие строки, заменив &lt;code&gt;23.34.45.56&lt;/code&gt; на ваш IP-адрес:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   [sshd] 
   enabled = true
   maxretry = 6
   findtime = 1h
   bantime = 1d
   ignoreip = 127.0.0.1/8 23.34.45.56
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Это правило блокирует IP-адрес на 1 день, если с него было 6 неудачных попыток SSH-подключения в течение 1 часа.&lt;/p&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Настройка уведомлений (опционально):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Добавьте в &lt;code&gt;jail.local&lt;/code&gt; строку с вашим email-адресом для получения уведомлений о блокировках:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   destemail=admin@example.com
&lt;/code&gt;&lt;/pre&gt;



&lt;ul&gt;
&lt;li&gt;Для получения более подробной информации установите &lt;code&gt;whois&lt;/code&gt;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;whois
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Запуск Fail2ban:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl start fail2ban
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Проверка статуса:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;fail2ban-client status sshd
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Перезапуск Fail2ban (после изменения настроек):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl restart fail2ban
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Шаг 3: Подключение к VPN&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hiddify (Windows, Android):&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Скачайте Hiddify с GitHub или Google Play.&lt;/li&gt;
&lt;li&gt;Скопируйте ключ VLESS, который вы получили ранее.&lt;/li&gt;
&lt;li&gt;В Hiddify создайте новый профиль, вставив ключ из буфера обмена.&lt;/li&gt;
&lt;li&gt;Нажмите "Нажмите для подключения".&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streisand (iOS):&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Скачайте Streisand из App Store.&lt;/li&gt;
&lt;li&gt;Скопируйте ключ VLESS.&lt;/li&gt;
&lt;li&gt;Добавьте ключ в Streisand через "Добавить из буфера обмена".&lt;/li&gt;
&lt;li&gt;Включите VPN.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FoxRay (macOS):&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Скачайте FoXray из App Store.&lt;/li&gt;
&lt;li&gt;Скопируйте ключ VLESS.&lt;/li&gt;
&lt;li&gt;Запустите FoXray и вставьте ключ.&lt;/li&gt;
&lt;li&gt;Нажмите "Play" и разрешите добавление VPN конфигурации.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Готово! &lt;/p&gt;

</description>
      <category>vpn</category>
      <category>devops</category>
      <category>linux</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
