Pull to refresh
0
0

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

Send message

Точечная маршрутизация по доменам на роутере с OpenWrt

Level of difficultyMedium
Reading time13 min
Views109K

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

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

Настроить роутер можно с помощью скрипта. Если вдруг не заведётся сразу, то другим скриптом можно найти, что не работает. Настройка с помощью Ansible никуда не делась, только модифицировалась и стала лучше.

Помимо инструкций по настройке туннелей Wireguard и OpenVPN, написал инструкцию по использованию технологий, которые помогут в обходе блокировок по протоколу: Shadowsocks, VLESS и прочими.

Читать далее
Total votes 27: ↑27 and ↓0+27
Comments27

Система рендеринга для космического симулятора в Unity

Level of difficultyMedium
Reading time20 min
Views6.1K

Несколько лет назад я работал над проектом по реализации на Unity реалистичного космического симулятора. Это достаточно нестандартное применение движка, и в ходе работы были решены разные специфические задачи, одна из которых - обеспечение корректного рендеринга объектов космических масштабов. Этим опытом я бы хотел поделиться с сообществом.

? Читать далее
Total votes 30: ↑30 and ↓0+30
Comments17

Отправляем GC в отпуск и создаем эксзепляры классов .NET сами

Level of difficultyMedium
Reading time6 min
Views7.1K

Придерживаясь великой цитаты "правила созданы для того, чтобы их нарушать", давайте нарушим какие-то основополагающие правила CLR. Как на счет того, чтобы послать GC с его работой в отставку и самим заняться размещением в памяти экземпляров классов? Заодно разберемся, как все это работает где-то там под капотом CLR.

Читать далее
Total votes 38: ↑37 and ↓1+45
Comments32

Территория Большого Взрыва. Как устроена Вселенная и что с ней не так?

Level of difficultyEasy
Reading time15 min
Views50K

Привет, Хабр!

Рад поделиться с уважаемым сообществом своей любовью к популярной науке, в первую очередь, к космологии. Эта статья открывает небольшую серию, основанную на моём курсе лекций, который я читаю школьникам в летней школе Химера.
И который до сих пор был кипой листов А4, исписанных от руки буквально в лесу под деревом.

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

Читать далее
Total votes 119: ↑115 and ↓4+145
Comments149

Я знаю, что ничего не знаю, но другие не знают и этого

Level of difficultyEasy
Reading time3 min
Views12K

Когда я писал свою статью про интерфейсы в JS на примере фильма "Перевозчик" с Джейсоном Стейтемом, я решил использовать ChatGPT, чтобы он мне помог с фактологией. Например, выяснить, сколько весила сумка с девушкой-китаянкой и откуда-куда её должен был перевезти Фрэнк Мартин (герой Стэйтема). Хотя я пересмотрел фильм перед написанием статьи, поиск нужных сцен казался мне утомительным, и я решил срезать путь, обратившись к ChatGPT. Ведь всем известно, что ИИ скоро выкинет старый добрый поиск через Гугл на обочину истории.

Однако, результат меня разочаровал. Если коротко, то ChatGPT (как и любая LLM) работает с вероятностями и ей очень сложно, на грани невозможного, признать, что она чего-то там не знает. Она будет выдавать всякий мусор с очень низким правдоподобием, но так не скажет "извини, чувак, я не в курсе". Ну а если с деталями, то добро пожаловать под кат.

Читать далее
Total votes 31: ↑27 and ↓4+29
Comments57

Рекомендации при работе с PostgreSQL

Level of difficultyMedium
Reading time10 min
Views27K

Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.

Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)

Читать подробнее и больше не косячить
Total votes 51: ↑48 and ↓3+51
Comments53

Кодирование с кодеком HEVC простым языком — гайд на FFmpeg. Высокое качество, но низкий вес

Level of difficultyEasy
Reading time11 min
Views18K

Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для обычной съёмки и 2D.

В этой статье мы изучим, как при помощи самого большого сборника свободных библиотек FFmpeg научиться кодировать видео самому именно под ваши задачи.
Читать дальше →
Total votes 87: ↑86 and ↓1+114
Comments122

Отечественная портативная консоль своими руками

Level of difficultyEasy
Reading time5 min
Views21K

Привет, читатель!

Как-то я отлаживал приложение для телефона на отечественной ОС «Аврора» и вдруг заскучал. Тогда я поставил на него RetroArch и скачал несколько игр. Подключив геймпад, провел за ними пару часов. Позже, листая раздел с играми в чате разработчиков «Авроры», наткнулся на идею подключения джойстиков-чехлов к телефону. Но мне не понравился их внешний вид, поэтому накидал пару концептов мобильной приставки и решил воплотить ее в жизнь.
Читать дальше →
Total votes 83: ↑77 and ↓6+94
Comments30

Как использовать YouTube для кражи файлов

Level of difficultyMedium
Reading time11 min
Views14K

Занимаясь исследованиями безопасности, я часто сталкиваюсь со странными причудами и поведением, которые могут пригодиться, разве что, в качестве весёлого фокуса на вечеринке. Тем не менее мне нравится их отслеживать. Кто знает, возможно, однажды что-то из этого окажется как раз тем самым недостающим элементом.
Читать дальше →
Total votes 60: ↑57 and ↓3+77
Comments16

Пара тупых ответов про эволюцию

Reading time9 min
Views52K


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

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

Крыло работает только тогда, когда целое. Половина крыла не даёт оторваться от земли.

Примерно такой же вопрос к сложным мутациям. Как так можно поменять пару букв в коде, чтобы он вдруг стал отлаженной библиотекой с чем-то полезным?

Ну или вот хвост павлина. Как можно развить такую длинную бесполезную штуку, которая люто нравится хищникам? Разве не должны были выжившие павлины стать ловкими и короткохвостыми?

Свои ответы я получил уже довольно поздно, но помню, как был рад их услышать. И наблюдая за идущим сейчас холиваром про теорию Дарвина, вижу много людей, которые задают те же самые вопросы.
Читать дальше →
Total votes 273: ↑270 and ↓3+331
Comments601

Обновлено: Как я обнаружил проблемы у ЮМани (Сбербанк) с безопасностью и не получил денег за найденную уязвимость

Level of difficultyEasy
Reading time7 min
Views57K

Как известно, в России почти каждая первая финансовая организация позиционирует себя как софтверную IT‑компанию, а не просто как «банк» или «платежная система». Сегодня речь пойдет о ЮМани — подразделении Сбера, IT‑гиганта всея руси.

До того, как ЮМани стал тем, чем он сейчас является, сервис долгое время существовал как продукт Яндекса под названием Яндекс.Деньги — в те времена у меня был очень приятный опыт взаимодействия с техническим руководством компании, я неоднократно (будучи security researcher'ом) сообщал им об уязвимостях, а они, в свою очередь, оперативно это исправляли, давали обратную связь и вознаграждали за такую работу, аналогично тому, как это делали и зарубежные крупные IT‑компании в рамках взаимодействия с white‑hat хакерами. Такая вот IT‑компания здорового человека. Но с тем, как Сбербанк поглотил Яндекс.Деньги и провёл ребрендинг, проект стал превращаться, скорее, в IT‑компанию курильщика: взаимодействовать с представителями проекта в соц. сетях стало практически невозможно, какие‑либо данные на страницах о Bug Bounty программах были удалены и даже ни одного email‑адреса не оставили в качестве средства связи для сообщения об уязвимостях.

Пару месяцев назад я обнаружил уязвимость в сервисе ЮМани (о ней чуть позже) и сразу же решил сообщить о ней. Однако никаких релевантных этому форм связи, email‑адресов и т. д. я не обнаружил — способов безопасно сообщить о такой уязвимости элементарно не было на официальном сайте сервиса. Я попытался связаться с людьми, работающими в ЮМани, однако, опять же, я не получил никакой обратной связи. На этом моменте я, что называется, «забил», в надежде, что ошибку исправят и без меня, ведь не может же такая дырень оставаться незамеченной долго, правда? Спойлер: может.

Читать далее
Total votes 402: ↑393 and ↓9+460
Comments300

Программирование на C в Linux на примере создания своей командной оболочки

Level of difficultyMedium
Reading time27 min
Views16K

Привет, хабр! Язык программирования C — основополагающий, как я считаю. И его знать, нет, не обходимо, но довольно желательно. Большинство языков отсылают к C, и зная C (или C++) другой язык будет даваться намного легче.

Я решил недавно улучшить свой навык владения C, путем написания проектов. Самая первая мысль, которая пришла мне на ум — это командный интерпретатор, командная оболочка, shell проще говоря. А также я расскажу о системе сборки make, и о том, как правильно писать и документировать C-код.

В этом туториале я буду использовать компилятор CLANG, а не GCC, и расскажу его преимущества

Итак, для создания своего шелла на C для Linux вам понадобится простой советский копеечный...

Узнать
Total votes 28: ↑25 and ↓3+36
Comments42

Как Linux создаёт и подсчитывает сокеты

Level of difficultyHard
Reading time12 min
Views13K

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

Читать далее
Total votes 33: ↑32 and ↓1+44
Comments2

Буфер обмена веб-приложений и как он хранит различные данные

Level of difficultyEasy
Reading time17 min
Views3.3K

Если вы достаточно давно пользуетесь компьютером, вы, скорее всего, знаете, что буфер обмена может хранить различные данные (картинки, текст с форматированием, файлы и др.). Как разработчика, меня начало раздражать то, что у меня нет точного представления, как буфер обмена хранит и организует данные разных типов.

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

Давайте начнем с исследования различных API и их истории. Эти API имеют весьма интересные ограничения по типам данных, и мы увидим, как некоторые компании обошли эти ограничения. Мы также рассмотрим некоторые предложения, которые направлены на устранение этих ограничений (наиболее примечательное из них — Web Custom Formats).

Если вам хотя бы раз было интересно, как работает веб-буфер обмена, то эта статья для вас.

Читать далее
Total votes 18: ↑17 and ↓1+17
Comments5

Зачем в iPhone чип, который убивает FaceID

Level of difficultyMedium
Reading time9 min
Views52K

Разбирался я в низкоуровневой работе камер iPhone, и дошёл до FaceID — системы распознавания лиц, используемой Apple для разблокировки смартфона. И наткнулся внутри на интересную вещь: чип, единственное предназначение которого в том, чтобы вывести из строя FaceID. Навсегда.

О том, как в iPhone вообще работает FaceID, где там этот чип стоит, что именно он делает, зачем его сделали таким злым, и как в ремонте справляются с этой напастью — под катом!

Читать далее
Total votes 641: ↑640 and ↓1+758
Comments177

Как работает интернет

Level of difficultyEasy
Reading time30 min
Views87K

Если вы полный ноль в интернет-технологиях, и хотите получить общее понимание Интернета, прочитав всего одну статью, то эта статья - для вас.

Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC-адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.

Читать далее
Total votes 106: ↑99 and ↓7+112
Comments61

Взламываем игры с помощью Python

Level of difficultyEasy
Reading time4 min
Views23K

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

А на днях мне вдруг захотелось вспомнить молодость и поиграть в бумерский диаблойд под названием Titan Quest, выпущенный аж в 2006 году. Да вот только времени на беготню, прокачку, и вот это вот всё, у меня нет. И ArtMoney нет. Зато есть определенные знания программирования. Вот я и решил совместить приятное с полезным, написав аналог ArtMoney на Python, а заодно стать супербогатым, хотя бы в Titan Quest.

Читать далее
Total votes 33: ↑30 and ↓3+30
Comments38

Шо там по MTProto в Telegram-то?

Reading time9 min
Views47K

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

Интересное заявление, не правда ли. Дак давайте посмотрим на протокол шифрования тележки MTProto с криптографической точки зрения.

Ну давайте взглянем
Total votes 65: ↑55 and ↓10+57
Comments42

Почему аналоговая электроника такая сложная

Level of difficultyEasy
Reading time5 min
Views44K

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

На то есть причины.

Читать далее
Total votes 98: ↑87 and ↓11+92
Comments254
1
23 ...

Information

Rating
Does not participate
Date of birth
Registered
Activity