Как стать автором
Обновить
1
0
Владимир @UncleStark

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

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

Точечная маршрутизация на роутере с OpenWrt. WireGuard и DNSCrypt

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 124K
Данный материал не является призывом к действию и публикуется исключительно в образовательных целях.

UPD 14.10.2023
Эта статья немного устарела. Здесь можно узнать, как использовать готовые списки IP-адресов, что не совсем актуально. Актуальная статья с маршрутизацией по доменам: https://habr.com/ru/articles/767464/


UPD 16.10.2022


  • Исправлены конфиги для Openwrt 22
  • Добавлен community список
  • В скрипт добавлена проверка загрузки файлов. Которая решает проблему, если при старте устройства не удалось сразу загрузить списки
  • DNSCrypt изменён на DNSCrypt v2

UPD 15.03.2023


  • Добавлена логика для работы с доменами, используются список доменов из community
  • Изменена проверка загрузки файлов в скрипте
  • В Ansible playbook теперь можно выбрать определённые списки

UPD 20.04.2023
Если у вас роутер получает IPv6 адрес, то роутинг будет работать криво. Пока нет инструкции для IPv6, поэтому нужно будет его выключить на роутере.


Часть 2: Поиск и исправление ошибок


Чем отличается от подобных материалов?


  • Реализация на чистом OpenWrt
  • Использование WireGuard
  • Конфигурация роутера организуется с помощью конфигов OpenWrt, а не кучей в одном скрипте
  • Предусмотрены ситуации при рестарте сети и перезагрузке
  • Потребляет мало ресурсов роутера: подсети содержатся в ipset, а не в таблицах маршрутизации. Что позволяет развернуть это дело даже на слабых устройствах
  • Автоматизация конфигурации с помощью Ansible (не требуется python на роутере)
Читать дальше →
Всего голосов 62: ↑61 и ↓1 +60
Комментарии 106

xbmcswift2 — микро-фреймворк для написания плагинов к Kodi (XBMC)

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

Вступление


Это, так сказать, «бонусная» статья в моей серии статей о плагинах к медиацентру Kodi (XBMC). Прежде всего, необходимо отметить, что, начиная с версии 14.0, популярный медиацентр меняет название с XBMC на Kodi. О причинах смены названия можно почитать на официальном сайте и форуме, и для нашей статьи они не принципиальны. Однако дальше в статье будет использоваться новое название — Kodi.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Когнитивные искажения или мои мысли о том, как мы мыслим

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

Я очень люблю тему когнитивных искажений, и сейчас мне эта тема кажется актуальной, поэтому я решила написать о ней статью. На Хабре уже есть несколько статей о когнитивных искажениях, но еще одна статья вряд ли будет лишней. 

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

На русском языке когнитивные искажения часто называют “ошибками мышления”. Мне не очень нравится этот термин, потому слово “ошибка” подразумевает, что когнитивные искажения являются обязательно чем-то неправильным. Но это не совсем так, когнитивные искажения - это просто особенности мышления, которые очень часто помогают нам выживать, однако, в некоторых ситуациях могут играть не в нашу пользу.

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

Читать далее
Всего голосов 84: ↑83 и ↓1 +82
Комментарии 161

Книга «Kali Linux: библия пентестера»

Время на прочтение 13 мин
Количество просмотров 25K
image Как дела, Хаброжители?

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

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

4,2 гигабайта, или как нарисовать что угодно

Время на прочтение 9 мин
Количество просмотров 42K
В нашем мире мы можем сделать всё, что захотим. Всё что угодно.

Боб Росс, The Joy Of Painting, сезон 29, эпизод 1

Однажды, когда я наблюдал за ярким закатом в Сиэтле, внезапно включилось моё воображение. Потусторонний оттенок неба пробудил воспоминания о чём-то из научной фантастики. Дымчатый оранжево-сиреневый завораживал.

Я представил огромный инопланетный объект, висящий в горящем оранжевом небе над давно покинутым Сиэтлом, здания которого покрыты зарослями.

Тем же вечером я за несколько часов создал вот такое изображение:


Простите за низкое разрешение — к сожалению, у моего GPU всего 12 ГБ памяти.

Поскольку очевидно, что я талантливый художник, имеющий за плечами буквально десятки минут опыта, мне захотелось поделиться тем, как я создал данный шедевр.
Читать дальше →
Всего голосов 160: ↑160 и ↓0 +160
Комментарии 92

Бескомпромиссный CI-конвейер для питонистов

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

Любому Python-проекту может пойти на пользу надёжный и стабильный конвейер непрерывной интеграции (Continuous Integration, CI). В рамках таких конвейеров выполняется сборка приложений, запуск тестов, проверка кода линтерами, контроль качества программ, анализ уязвимости приложений. Правда, построение CI-конвейеров занимает много времени, требует выполнения действий, которые, сами по себе, никакой пользы не приносят. Этот материал написан для тех Python-программистов, которым нужен полнофункциональный, настраиваемый CI-конвейер, основанный на GitHub Actions. Этот конвейер оснащён всеми мыслимыми инструментами, подключён ко всем необходимым сервисам, а подготовить его к работе можно всего за несколько минут.

Читать далее
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 3

Ложная философия Матрицы

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

▍ Матрица и девяностые


90-е годы прошлого века, в культурном плане — стали подходящим завершением для всего столетия. Авторы говорили на темы технологического будущего более уверенно, превознося или ругая прогресс, идя нога в ногу с научным позитивизмом или же отрицая технологии, пускались в метафизические и эзотерические учения. Если присмотреться, то многие произведения той эпохи имеют мрачный, грязный тон. В музыке — Massive Attack и Nirvana пели о зависимостях и трудности жизни в бедности, в книгах Чак Паланник и Девид Фостер Уоллес — писали о потере личности в мире, состоящем из рекламы и развлечений. А в кинематографе доминировали мрачные боевики и фильмы ужасов, для которых тема технологий стала основной.
Читать дальше →
Всего голосов 136: ↑121 и ↓15 +106
Комментарии 151

Лайфхаки молодому родителю или воспитание ребенка «по-айтишному»

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

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

В этой статье я расскажу о своем опыте, но дети и родители уникальные, поэтому не все будут согласны, и не всем это может помочь. Читать данную статью требуется с улыбкой :)

Мы семья системных аналитиков, поэтому к воспитанию ребенка мы подошли "по-айтишному" или системно. Что это значит? Ребенок (система) должна быть правильно спроектирована и настроена, чтобы работать стабильно и штатно. Опустим часть, что природа правильно спроектировала ребёнка с нужным количеством хромосом, рук, ног и тд. Перейдем к части правильной настройки или воспитанию.

Читать далее
Всего голосов 27: ↑20 и ↓7 +13
Комментарии 53

Stevedore — открытая, бесплатная и быстрая альтернатива Docker Desktop

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

Эта история началась весной 2021 года.

Страдал от того, как медленно запускается Docker Desktop.

Страдал от того, сколько он ест оперативной памяти.

Страдал от того, что постоянно что-то ломалось при обновлениях.

Страдал от того, что на Windows Server надо устанавливать Docker через какой-то особенный механизм, не работающий через proxy и не работающий на Windows Server 2016. Причём в связи с тем, что Docker Inc. передала enterprise-сервис компании Mirantis, этот способ через какое-то время вообще перестанет работать. В результате вы получаете Docker, собранный из непонятно каких исходников. Всё, что про них известно — они точно не такие, как в Docker Desktop. Вообще, для инструмента, задача которого — просто скачать один единственный пакет и установить его, в трекере задач этого проекта на удивление много багов.

Страдал от того, что Docker Desktop прекратил поддержку Windows 10 LTSC 2019, которая продолжает поддерживаться Microsoft вплоть до 2024 года (а расширенная поддержка — аж до 2029).

И я спросил себя: а почему, за что, как так? Есть ли какая-то такая фундаментальная причина, по которой софт, решающий эту задачу, обязан доставлять столько неудобств? И не нашёл её. 

А потому подошел к проблеме по принципу: если тебя что-то не устраивает, сделай это лучше.

После чего быстренько придумал название проекту и создал репозиторий.

Я много работал с Docker-контейнерами под Windows и страдал.

Читать далее
Всего голосов 74: ↑72 и ↓2 +70
Комментарии 26

PyQt6 — полное руководство для новичков

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

К старту курса по разработке на Python делимся детальным руководством по работе с современным PyQt для новичков. Чтобы читать было удобнее, мы объединили несколько статей в одну:

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 14

WordClock — от вдохновения до воплощения

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

Однажды увидел картинку необычных часов, которые пишут время. Это были QlockTwo.

Поиск в интернет по производителю предоставил информацию, которой я был огорчен.

Стоимость часов в форм-факторе 450 x 450 мм. начиналась от 1500$ за версию с пластиковой лицевой панелью. Версия со стальной сатинированной панелью стоила 2000$, именно ее я изначально увидел и она мне понравилась.

Платить такие суммы не было возможности и я загорелся идеей создания аналога данных часов. 

Как же оно получилось?
Всего голосов 143: ↑142 и ↓1 +141
Комментарии 65

Создаём личный «Архив интернета»

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


Как показала история, сеть из миллиардов связанных между собой документов — очень хрупкая и эфемерная система. Странички живут недолго. Если нашли интересную страницу, сайт или видео — нельзя просто сделать закладку и надеяться, что контент по ссылке останется доступен в будущем. Не останется. Информация исчезнет, ссылки изменятся, домены сменят владельцев, статьи на Хабре спрячут в черновики. У каждой страницы свой срок жизни. Ничто не вечно под луной, и ничего с этим не поделать.

К счастью, у нас есть инструменты, чтобы сохранить информацию на десятилетия. Свой персональный архив, полностью под контролем, со всеми сайтами и актуальными страницами. Отсюда никто ничего не удалит без вашего ведома, никогда.
Читать дальше →
Всего голосов 41: ↑40 и ↓1 +39
Комментарии 44

Шарим (в) консоль

Время на прочтение 5 мин
Количество просмотров 18K
Мы уже все привыкли, что конференции проводятся виртуально. Мы все работаем через зумы, скайпы, миты и тимзы. Удобно, конечно, но у нас есть одна занудная проблема. Когда нам, программистам надо расшарить экран, мы тяжело вздыхаем и нажимаем кнопку Share Screen. Всё это не без проблем.


Как показать детям те прелести, которые происходят в консоли?

Самое неприятное — это когда возникает необходимость показать какую-то ссылку на экране. После завершения операции в консоли отобразилась ссылка, или ключ, который надо расшарить с командой. Естественно, приходится выделять, копировать и «дублировать в чатик». Особенно это неудобно, когда в чатик надо продублировать то, что выплюнула тебе какая-нибудь команда терминала. Строки, конечно же, заботливо съедут, форматирование потеряется, а цвета поблёкнут.
Читать дальше →
Всего голосов 83: ↑79 и ↓4 +75
Комментарии 27

Отладка и устранение проблем в PostgreSQL Streaming Replication

Время на прочтение 27 мин
Количество просмотров 47K
Потоковая репликация, которая появилась в 2010 году, стала одной из прорывных фич PostgreSQL и в настоящее время практически ни одна инсталляция не обходится без использования потоковой репликации. Она надежна, легка в настройке, нетребовательна к ресурсам. Однако при всех своих положительных качествах, при её эксплуатации могут возникать различные проблемы и неприятные ситуации.

Алексей Лесовский (@lesovsky) на Highload++ 2017 рассказал, как с помощью встроенных и сторонних инструментов, диагностировать различные типы проблем и как устранять их. Под катом расшифровка этого доклада, построенного по спиральному принципу: сначала мы перечислим все возможные средства диагностики, потом перейдем к перечислению типовых проблем и их диагностике, далее посмотрим, какие экстренные меры можно принять, и наконец как радикально справиться с задачей.


О спикере: Алексей Лесовский администратор баз данных в компании Data Egret. Одной из любимых тем Алексея в PostgreSQL является потоковая репликация и работа со статистикой, поэтому доклад на Highload++ 2017 был посвящен тому, как помощью статистики искать проблемы, и какие использовать методы для их устранения.

План


  1. Немного теории, или как работает репликация в PostgreSQL
  2. Troubleshooting tools или что есть у PostgreSQL и сообщества
  3. Troubleshooting cases:
    • проблемы: их симптомы и диагностика
    • решения
    • меры, которые нужно принимать, чтобы этих проблем не возникало.

Зачем всё это? Эта статья поможет вам лучше разбираться в потоковой репликации, научиться быстро находить и устранять проблемы, чтобы сократить время реакции на неприятные инциденты.
Всего голосов 37: ↑37 и ↓0 +37
Комментарии 2

Как мы SaaS решение переносили на сервера клиента. Стоит ли оно того?

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

Мы развиваем российскую платформу по управлению контентом дополненной реальности: в web-редакторе совмещается digital контент и маркер (как привило, это фотография реального объекта), а с помощью мобильного приложения, в AR режиме, digital контент накладывается на маркер. 

В данной статье хочу поделиться опытом с теми, кто начинает развивать свои B2B SaaS продукты и может столкнуться с вопросом переноса своего решения на внутренние ИТ мощности корпоративных заказчиков. Опишу, не столько технические нюансы, сколько организационные и архитектурные. Хочу акцентировать внимание на объеме дополнительных работ, которые необходимо учитывать при продаже внедрения Enterprise клиенту. Тем, кто работает изначально по модели внедрения ПО, читать будет не особо интересно, а SaaS проектам надеюсь, что будет полезно.

Заказчика не называю.

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

Использование Ansible, Terraform, Docker, Consul, Nomad в облаках (Алексей Вахов, Учи.ру)

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

Эта статья расшифровка видеодоклада Алексея Вахова из Учи.ру «Облака в облаках»


Учи.ру — онлайн-платформа для школьного образования, более 2 миллионов школьников, регулярно решают у нас интерактивные занятия. Все наши проекты хостятся полностью в публичных облаках, 100% приложений работают в контейнерах, начиная от самых маленьких, для внутреннего пользования, и заканчивая крупными продакшенами на 1k+ запросов в секунду. Так получилось, что у нас 15 изолированных докер-кластеров (не Kubernetes, sic!) в пяти облачных провайдерах. Полторы сотни пользовательских приложений, количество которых постоянно растет.


Я буду рассказывать очень конкретные вещи: как мы переходили на контейнеры, как управляемся с инфраструктурой, проблемы с которыми столкнулись, что заработало, а что нет.


В процессе доклада мы обсудим:


  • Мотивацию выбора технологий и особенности бизнеса
  • Инструменты: Ansible, Terraform, Docker, Github Flow, Consul, Nomad, Prometheus, Shaman — web-интерфейс для Nomad.
  • Использовании федерации кластеров для управления распределенной инфраструктурой
  • NoOps выкатки, тестовые окружения, схемы приложения (практически все изменения девелоперы делают самостоятельно)
  • Занимательные истории из практики


Кому интересно, прошу под кат.

Всего голосов 18: ↑17 и ↓1 +16
Комментарии 3

Использование быстрых клавиш в командной строке Linux (BASH)

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

Эта статья посвящена наиболее часто используемым комбинациям клавиш при работе в командной строке Linux (в основном в командном интерпретаторе bash).

Она точно будет полезна начинающим своё знакомство с Linux и, уверен, пригодится тем, кто уже имеет опыт (не всегда годы практики учат работать быстрее).

Никогда не развивал навыка быстрой печати, но знание не одного десятка hotkey'ев, перечисленных в этом материале, позволяет набирать команды со скоростью мысли.

Я попытался продемонстрировать многие примеры при помощи анимированных gif'ок – иногда несколько кадров больше скажут, чем несколько абзацев текста.

Читать далее
Всего голосов 143: ↑142 и ↓1 +141
Комментарии 64

Закрепление в Linux. Linux Persistence

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

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

Я много внимания уделила тому, насколько та или иная техника может вас выдать. И надеюсь, что аналитики SOC вынесут из статьи хотя бы несколько вещей, на которые стоит обращать внимание.

Буду благодарна за любую обратную связь. Если вдруг вы знаете еще какие-то техники или интересные приемы, о которых я не написала, обязательно поделитесь. Потому что процесс закрепления в системе очень творческий. Особенно, если у вас есть права root.

Читать далее
Всего голосов 39: ↑37 и ↓2 +35
Комментарии 30

Сеть контейнеров — это не сложно

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

Работа с контейнерами многим кажется волшебством, пришло время разобраться как работает сеть Docker. Мы покажем на примерах, что это совсем не сложно. Нам потребуется немного сетевой магии и никакого кода...

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

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

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

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

Как получить доступ к контейнерам, работающим на сервере, из внешнего мира (публикация портов)?

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

Спросите Итана: почему в зеркалах лево и право меняются местами, а низ и верх – нет?

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

Когда вы смотрите в зеркало на свою правую руку, она кажется левой. Все надписи меняют направление, как и движение вращающегося объекта. Движение по часовой стрелке превращается в движение против часовой, и наоборот. Кажется, что право и лево поменялись местами, а верх и низ – нет. Однако истинная причина происходящего в другом.

Смотрясь в зеркало, вы замечаете, что там всё перевёрнуто. Когда вы поднимаете левую руку, ваше отражение поднимает правую. Если вы подмигиваете правым глазом, отражение подмигивает левым. Написав что-либо на листке бумаги и подняв его вверх, вы увидите, что ваше отражение держит такой же листок, только с надписью, написанной задом наперёд – включая и отдельные буквы. Кажется, что у всех изображений в зеркале меняются лево и право, но при этом почему-то верх и низ не меняются. Ваше отражение стоит ногами на земле, потолок находится наверху, а буквы на листочке не переворачиваются. Почему? Об этом спрашивает наш читатель:
Известно, что в зеркалах меняются право и лево. Но почему там не меняются верх и низ? Изменилось бы наше восприятие зеркал, если бы мы жили в нулевой гравитации? А если бы мы были морскими звёздами с пятью осями симметрии?

Читать дальше →
Всего голосов 56: ↑41 и ↓15 +26
Комментарии 83

Информация

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