Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia

Время на прочтение4 мин
Количество просмотров92K

Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

Читать далее
Всего голосов 142: ↑138 и ↓4+157
Комментарии122

Python: Как написать систему модов для игры / плагинов для программы

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров5.3K

Итак, всех приветствую.

Я думаю, что практически каждый, кто программирует на python достаточно долго, хотел сделать так, чтобы любой сторонний разработчик смог добавить функционал в Ваше приложение без изменения его исходного кода. Поэтому, я хочу сделать гайд для всех новичков - как сделать систему плагинов для программы. Начнем.

А начнем мы с того, что установим importlib в ваше виртуальное окружение.

Читать далее
Всего голосов 6: ↑4 и ↓2+4
Комментарии13

Создание собственного API на Python (FastAPI): Гайд по POST, PUT, DELETE запросам и моделям Pydantic

Уровень сложностиПростой
Время на прочтение29 мин
Количество просмотров7.2K

Друзья, приветствую вас в очередной статье, посвященной разработке API с использованием фреймворка FastAPI. В прошлой публикации мы познакомились с основами FastAPI и написали первые функции, освоив GET-запросы. Однако возможности HTTP общения клиента и сервера этим не ограничиваются. Сегодня мы изучим POST, PUT и DELETE запросы.

В прошлой статье мы рассмотрели GET запросы и научились писать свои первые функции. Сегодня же мы рассмотрим методы, позволяющие отправлять данные (POST), обновлять (PUT) и удалять данные (DELETE).

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии2

Шифрование бэкапов в ClickHouse: виды, инструменты и настройка

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.7K

Один из наших клиентов обнаружил, что резервные копии ClickHouse, которые он хранит в S3 провайдера CROC, не очень-то и шифруются. А ФСТЭК суров. Перед нами была поставлена задача: настроить шифрование бэкапов. В статье покажу, как мы это сделали.

Ещё расскажу вам про такой инструмент как clickhouse-backup, распишу его плюсы и минусы и продемонстрирую, как легко восстановить данные из шифрованных бэкапов.

Пошли шифровать!
Всего голосов 7: ↑7 и ↓0+10
Комментарии0

Git. Руководство по оформлению веток и коммитов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров20K

Статей на тему что такое git и как им пользоваться на просторах интернета не мало. Я же хочу предложить вам несколько иной взгляд на привычные вещи, а именно, на оформление веток и коммитов, рассмотреть что такое WIP-коммиты, для чего они нужны и как с помощью них можно повысить свою продуктивность и поддерживать чистоту в истории вашего репозитория, в особенности, если вы работаете в команде. Поехали.

Познать истину
Всего голосов 17: ↑15 и ↓2+13
Комментарии16

Сложно о простом. Модель OSI и TCP/IP

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров38K

Приветствую, коллеги! Меня зовут @ProstoKirReal, и я сетевой инженер, который пришел в эту профессию из совершенно другой сферы. На начальном этапе было особенно трудно разобраться в сложных терминах и принципах работы сетевых протоколов и оборудования. Мне захотелось написать цикл статей, посвященных специфике работы сетей и сетевых протоколов. Прежде всего, я делаю это для себя, чтобы наконец разобраться в тех понятиях, которые до конца не понимаю. Надеюсь, эта информация будет полезна и вам, а если нет, то послужит хорошей шпаргалкой для меня самого.

В первой статье цикла я хочу начать с базовых понятий, которые пригодятся всем начинающим сетевым инженерам, студентам и тем, кто связан с сетевыми технологиями. Это модель OSI и TCP/IP. Это база, которую необходимо знать. Вначале мне было трудно запомнить и понять суть этих моделей и их связь с настройками обычного коммутатора. Однако понимание модели OSI облегчает понимание работы различных протоколов и позволяет общаться с коллегами на одном языке. Меня раньше часто поправляли из-за того, что я говорил неправильно, не зная базовых понятий.

Итак, давайте разберемся с базовой информацией.

Модель OSI (Open Systems Interconnection) — это эталонная модель, разработанная для описания функций телекоммуникационных или вычислительных систем, необходимых для сетевого взаимодействия. Она разделяет процесс сетевого взаимодействия на семь взаимосвязанных уровней. Каждый уровень выполняет специфические функции и взаимодействует с уровнями непосредственно выше и ниже.

Читать далее
Всего голосов 30: ↑27 и ↓3+26
Комментарии36

Создаём безукоризненную автодокументацию кода на Python с помощью Sphinx

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.1K

В этой статье я расскажу о генераторе документации Sphinx, с помощью которого можно автоматически создавать документацию для модулей Python. Кроме того, я буду использовать шаблон проекта Cookiecutter Data Science в Visual Studio Code (VS Code), поскольку он легко интегрируется в Sphinx и имеет стандартизированную структуру директорий. Официальное пособие по использованию Sphinx — отличный ресурс для пользователей, которые хотят углубиться в детали. А моя статья — это краткое руководство по началу работы с этим инструментом.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+14
Комментарии2

Лучшие практики для надёжной работы с RabbitMQ

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров25K

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

В этой статье я постарался кратко и последовательно изложить основные моменты, о которых полезно помнить при использовании RabbitMQ, если важны стабильность обмена и сохранность данных.

В первую очередь материал рассчитан на разработчиков, которым ещё не приходилось погружаться в тонкости работы с RabbitMQ или использовать его вообще. Более опытным читателям статья может пригодиться в качестве компактной и упорядоченной выжимки из уже знакомых статей, вебинаров и многочисленных страниц документации.

Следуй за белым кроликом
Всего голосов 58: ↑58 и ↓0+59
Комментарии16

Микросервис на Python+ FastAPI

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров18K

Микросервис — это подход к разбиению большого монолитного приложения на отдельные приложения, специализирующиеся на конкретной услуге/функции. Этот подход часто называют сервис-ориентированной архитектурой или SOA.

В монолитной архитектуре каждая бизнес-логика находится в одном приложении. Службы приложений, такие как управление пользователями, аутентификация и другие функции, используют одну и ту же базу данных.

В микросервисной архитектуре приложение разбивается на несколько отдельных служб, которые выполняются в отдельных процессах. Существует другая база данных для разных функций приложения, и службы взаимодействуют друг с другом с использованием HTTP, AMQP или двоичного протокола, такого как TCP, в зависимости от характера каждой службы. Межсервисное взаимодействие также может осуществляться с использованием очередей сообщений, таких как RabbitMQ , Kafka или Redis .

Читать далее
Всего голосов 12: ↑11 и ↓1+14
Комментарии7

Как ускорить кластер Kubernetes на 100 тысяч подов в 10 раз

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров6.3K

Первым шагом dBrain.cloud на пути к построению кластеров большого объема стало разделение etcd. Далее мы взялись за controller-manager.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии6

Что делать, когда кластер превращается в тыкву?

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров6.7K

Когда эволюция платформы dBrain.cloud дошла до заявленных и считающихся нормальными в публичных облаках пределов, справляться с возникшими при росте объемов кластеров проблемами пришлось самостоятельно. Ведь компании-гиганты, эксплуатирующие Kubernetes, эти тайны не раскрывают.

Разделение etcd. Что это значит?
Всего голосов 5: ↑4 и ↓1+4
Комментарии4

Автодокументация Doxygen и её развертывание на GitHub Pages

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров7.6K

Наверняка вы создавали open source проекты и выкладывали их на GitHub, но я уверен, что очень немногие из вас создавали документацию для этих проектов. В этой статье я расскажу, как создавать и публиковать доки максимально просто.

Документация будет создаваться на основе исходного кода, она будет обновляться при каждом коммите и при этом будет доступна через интернет. Документирование происходит через Doxygen, в качестве хостинга выступает GitHub, а за обновление документации отвечает GitHub Pages.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии1

DIY: Ваше собственное облако на базе Kubernetes (часть 1)

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров18K

Мы очень любим Kubernetes и мечтаем чтобы все современные технологии поскорее начали использовать его замечательные паттерны.

А вы когда-нибудь задумывались о том чтобы построить своё собственное облако? Могу поспорить что да. Но можно ли это сделать используя лишь современные технологии и подходы, не покидая уютной экосистемы Kubernetes? Нам по опыту разработки Cozystack пришлось с ним как следует разобраться.

Да, вы могли бы возразить что Kubernetes для этого не предназначен и почему бы не использовать OpenStack для Bare Metal-серверов а внутри него запускать Kubernetes как положено. Но поступив так, вы просто переложите ответственность с ваших рук на руки OpenStack администраторов. Что добавит как-минимум ещё одну сложную и неповоротливую систему в вашу экосистему.

Зачем так всё усложнять? - ведь на данный момент Kubernetes уже имеет всё необходимое для запуска Kubernetes кластеров.

Читать далее
Всего голосов 33: ↑31 и ↓2+39
Комментарии10

Создаём виртуальную сеть, как это делает Docker

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров22K

Как известно, Docker умеет создавать виртуальные сети для безопасного и удобного сетевого взаимодействия внутри контейнеров. В этой статье мы рассмотрим, как именно он это делает на примере базовых манипуляций с сетью в рамках одного хоста с операционной системой Linux.

Читать далее
Всего голосов 23: ↑22 и ↓1+26
Комментарии6

Как работает сеть в контейнерах: Docker Bridge с нуля

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров42K

В этой статье мы собираемся разобраться со следующими вопросами:

* Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у них есть отдельные сетевые среды?

* Как превратить контейнеры в дружелюбных соседей и научить общаться друг с другом?

* Как выйти во внешний мир (например, в Интернет) изнутри контейнера?

* Как связаться с контейнерами, работающими на хосте Linux, из внешнего мира?

* Как реализовать публикацию портов, подобную Docker?

Читать далее
Всего голосов 71: ↑71 и ↓0+71
Комментарии14

Как стать VPN провайдером за один вечер

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров91K

Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер на несколько десятков пользователей, c xray на борту!

скрипт ex.sh для простой настройки и установки; есть поддержка Docker

легко добавлять пользователей; клиентские конфиги в форме url-ссылок

правильные конфиги: скрытность + удобство

трафик популярных российских сайтов идёт напрямую, a не через сервер

для xray есть приложения под все популярные ОС - делюсь инструкциями

только https, нет udp; торренты через сервер блокируются по возможности

мой проект на гитхабе: easy-xray

Интересны детали? Добро пожаловать под кат
Всего голосов 59: ↑58 и ↓1+69
Комментарии142

Prometheus: от основ до mem-saving оптимизации

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров10K


Мониторинг в контексте современных инфраструктур играет критически важную роль и является неотъемлемой частью успешного управления и обеспечения стабильности систем. С ростом их сложности и масштаба, а также ввиду высоких ожиданий пользователей, возникает необходимость в непрерывном и детальном контроле за работой приложений и расходом аппаратных ресурсов. Мониторинг позволяет оперативно выявлять аномалии, прогнозировать потенциальные проблемы и оптимизировать работу системы, что в свою очередь, способствует повышению производительности, надежности и экономической эффективности инфраструктурных решений. Без качественного мониторинга становится невозможным обеспечить конкурентоспособность и успешное функционирование в реалиях современного рынка IT-продуктов.

Однако, настройка мониторинга сама по себе может стать вызовом, особенно когда речь идет о крупных инфраструктурах. На многих наших проектах в качестве инструмента мониторинга мы используем довольно популярное решение — Prometheus, при работе с которым порой возникают трудности. Их изучение и последующее решение и сподвигли нас на написание данной статьи.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Kubernetes Scheduler в Деталях: Ключевые Концепции. Часть 2

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров5.1K

В мире, где Kubernetes доминирует в управлении контейнеризированными приложениями, один вопрос часто встаёт перед теми, кто стремится понять его внутренние механизмы: 'Как на самом деле работает k8s scheduler?' Эта статья предназначена для развенчания мифов и предоставления чёткого объяснения работы Kubernetes планировщика. Мы исследуем ключевые моменты этого процесса, начиная от того, назначает ли планировщик модули узлам один за другим в очереди или выполняет эту задачу параллельно, и заканчивая более сложными аспектами его работы. Погрузитесь в детали этой сложной, но увлекательной темы вместе с нами, чтобы лучше понять, как Kubernetes оптимизирует размещение подов в вашем кластере

Погружение в Мир Kubernetes Scheduler
Всего голосов 14: ↑13 и ↓1+17
Комментарии1

Безопасный Zookeeper: SASL with Digest-MD5

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров2.6K

Привет! Столкнулся с тем, что быстро не нашел простой инструкции, как с использованием SSL и SASL настроить безопасный кластер из нескольких Linux узлов Zookeeper, и решил это исправить.

В этой статье поговорим о том, как:

Настроить Zookeeper в кластере из трех узлов без шифрования (Plain);

Добавить шифрование во внутрикластерное взаимодействие (Quorum TLS);

Создать сертификаты для подключения к узлам Zookeeper клиентов (Server TLS);

Создать сертификаты для подключения клиентов к узлам (Client TLS);

Добавить авторизацию в шифрованный кластер (SASL with MD5);

Показать на примере, как работают ACL, посмотреть, чем отличается суперпользователь super от всех остальных (как работает ACL в действии).

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии0

Сам себе DevOps: как разобраться с доступами в Yandex Cloud

Время на прочтение16 мин
Количество просмотров11K

Предположим, у вас появилась задача развернуть сервис на виртуальной машине в Yandex Cloud. Казалось бы, всё просто: создал виртуальную машину, развернул приложение, и всё готово. В общем случае это работает именно так, но лишь при условии, что кто-то уже настроил для вас все доступы и выдал вам все необходимые права. 

Но что делать, если тот самый человек, которому нужно всё настроить — это вы сами? Для этого разберёмся с базовыми особенностями ресурсной модели в Yandex Cloud.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии7
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Самара, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

DevOps, Site Reliability Engineer (SRE)
Lead