Pull to refresh
4
0
Send message

Разработка игр с использованием Go и библиотеки Ebiten

Level of difficultyEasy
Reading time5 min
Views5.3K

Go является мощным и эффективным языком программирования, который можно использовать для создания игр. В этой статье мы рассмотрим разработку простой игры с использованием языка Go и библиотеки Ebiten, предназначенной для создания 2D игр.

Читать далее
Total votes 9: ↑8 and ↓1+10
Comments9

Нарушаем ограничения файловых систем *NIX

Reading time11 min
Views13K

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

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

Под катом вас ждет небольшой экскурс в особенности работы файловых систем и набор экспериментов.
Читать дальше →
Total votes 58: ↑54 and ↓4+66
Comments48

Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд

Level of difficultyMedium
Reading time14 min
Views25K

Пару недель назад я прочитал о запавшем мне в душу челлендже по обработке миллиарда строк, поэтому захотел решить его на Go.

Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.

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

Читать далее
Total votes 50: ↑48 and ↓2+62
Comments20

Обзор балансировщика traefik

Level of difficultyEasy
Reading time6 min
Views11K

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

Traefik - современный и мощный балансировщик нагрузки.

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

Читать далее
Total votes 10: ↑6 and ↓4+6
Comments7

Структурированное логирование в Go с помощью Slog

Reading time22 min
Views17K

Более 10 лет разработчики на Go жаловались на отсутствие структурированного логирования в ядре Golang. Участники сообщества Golang даже создали несколько собственных пакетов, таких как Logrus, Zap и Zerolog. В 2023 году, команда разработчиков Google Go наконец-то представила Slog — высокопроизводительный пакет для структурированного ведения логов в стандартной библиотеке Go. Мы перевели гайд о возможностях slog.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments5

Анонимная P2P-база знаний, где никто не может подделать чужое авторство | Магия асимметричных ключей на практике

Level of difficultyMedium
Reading time31 min
Views11K


На днях, как это обычно и бывает перед сном, мой мозг решил, что было бы очень забавно перед экзаменом не спать, а заняться брейнштормом. Как результат я получил слитую сессию и безумное желание сделать свой P2P WEB 228.0 — ну вы знаете…

Вот вы никогда не задумывались, что Tor является весьма экстраординарным способом преодоления трансляторов сетевых адресов? По сути, он позволяет создавать туннель между двумя любыми удалёнными узлами, находящимися за NAT, выдавая им уникальные onion-адреса из очень большого диапазона.

Аналогичную же задачу решает переход на ipv6, но при этом он требует поддержки со стороны самого транслятора, в то время как Tor абсолютно самостоятелен, хоть он и не является настоящим p2p.

Чисто технически (при должном monkey patch`инге) можно даже заставить его работать как пробрасыватель портов для RDP, онлайн-игр и Vиртуальных Pриватных туннелей, которые нынче нельзя называть.
Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments32

Защита Home Assistant

Level of difficultyMedium
Reading time6 min
Views13K

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

И все это дельные советы, ничего плохого в них нет, но хочется чего то большего.

Читать далее
Total votes 14: ↑10 and ↓4+8
Comments21

Кто трогал мой mac? Ловим горничную или evil maid detection

Level of difficultyEasy
Reading time4 min
Views6.7K

Я часто нахожусь в командировках и путешествиях, внимательно отношусь к безопасности своего macbook. Недавно, вернувшись в отель, я обнаружил признаки того, что кто-то что-то делал с моим ноутбуком в мое отсутствие.

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

Читать далее
Total votes 12: ↑11 and ↓1+13
Comments32

Сканируем сеть. Собираем информацию об организациях

Reading time7 min
Views15K

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

Дисклеймер: Все данные, предоставленные в данной статье, взяты из открытых источников, не призывают к действию и являются только лишь данными для ознакомления, и изучения механизмов используемых технологий.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments3

NeoVim для Ruby разработчика

Level of difficultyEasy
Reading time9 min
Views4K

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

Резюме статьи:

пошаговая настройка рабочего места для разработчиков. кто хочет попробовать неизведанное.

Читать далее
Total votes 9: ↑6 and ↓3+9
Comments13

KolibriOS: пробуем ассемблер

Level of difficultyEasy
Reading time4 min
Views9.8K

Решил потренироваться на ассемблере под x86 и выбор мой пал на KolibryOS. Ведь как-никак это ОС была написана на ассемблере и для использования ассемблера. И я хотел именно из самой KolibriOS писать код. Но... Наверное, зря я это всё затеял.

Как оказалось, примеров кода не мало и не много. А так как я привык к Dos, Windows или Linux, то и ожидал что-нибудь в этом роде. Код, код и ещё раз код. Макросы не так часто встречаются. Ну и уж точно не весь код из одних макросов (утрирую).

Пример кода из «официального источника» вносит больше сумятицы, чем понимания, что происходит в данном коде. И... там нет никакого объяснения этим «буквенным значениям». Есть только то, что ссылаются на файл «macros.inc». Если просматривать источники интернета, то где‑то более понятно написано и даже рассказывают, что взять «macros.inc» (и многие другие файлы можно на SVN KolibriOS и, как оказалось, ещё можно на GitHub (дублируется?).

Покопавшись в файле «macros.inc», а так же на просторах интернета и найдя пример (смотрите код Fasm), я понял, что всё становится на свои места и более‑менее проясняется.

Читать далее
Total votes 23: ↑22 and ↓1+29
Comments37

Базовая гигиена серверов Linux (часть 1)

Reading time8 min
Views24K

Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubuntu/Debian. Часть материала от автора я опускаю, так как публикация ориентированна на безопасность хостов Linux в инфраструктуре.

!!! Приведенные ниже рекомендации необходимо тестировать на совместимость с используемыми сервисами. Веред внедрением рекомендую провести тестирование на каждом отдельном типе сервера/приложения. !!!

Читать далее
Total votes 27: ↑21 and ↓6+19
Comments24

Установка и настройка tor в Linux Mint

Level of difficultyEasy
Reading time4 min
Views18K

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

Читать далее
Total votes 13: ↑11 and ↓2+16
Comments7

Telegram-бот как системный администратор сервера

Level of difficultyMedium
Reading time9 min
Views17K

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

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

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments5

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

Level of difficultyMedium
Reading time10 min
Views27K

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

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

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

Фишинг «фичи» Телеграма

Level of difficultyEasy
Reading time4 min
Views36K

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

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

Читать далее
Total votes 100: ↑98 and ↓2+116
Comments61

Личное облако на Proxmox

Level of difficultyMedium
Reading time8 min
Views22K

В прошлой статье (https://habr.com/ru/articles/794508/) я писал как поставить Proxmox 8 на Orange Pi 5(b). Это даже получилось, но я уперся в то, что производитель железки не выпускает свежие ядра под нее. Для железки есть 5.10.160 и оно устарело для Proxmox 8. Виртуалки работают, но есть проблемы с фаерволом. Производитель обещает вот-вот выпустить новое, но ждать я не стал и решил сделать инфраструктуру по другому. О чем и напишу. Получается уже цикл статей. Эта будет описывать цель и первые шаги к ней.

Читать далее
Total votes 24: ↑21 and ↓3+20
Comments60

Почему Windows настолько медленнее Linux. Расползание фич

Reading time8 min
Views59K

Время выполнения общих команд Git в Ubuntu и Windows 11 (в секундах, чем меньше — тем лучше), источник: OpenBenchmarking.org

В далёком 2013 году один из разработчиков Microsoft детально объяснил, в чём главные технические проблемы при разработке ядра Windows NT. Спустя десять лет Windows 10/11 работает на том же ядре, а многие старые проблемы так и остались нерешёнными.

Хотя в ряде задач Windows превосходит Linux, но в большинстве тестов она действительно медленнее. По словам разработчика, это отставание усугубляется, а причина «социальная». Суть в том, как организован процесс разработки, внесения изменений в ОС. Если в мире опенсорса это открытый процесс, который несёт пользу и улучшает систему, то в мире корпоративного ПО зачастую изменения вносятся по причинам эгоизма, желания продвижения по карьерной лестнице, славы и т. д. Всё это ведёт к деградации продукта.
Читать дальше →
Total votes 120: ↑85 and ↓35+81
Comments218

Ansible + Grafana Loki: Настраиваем отправку уведомлений в чат после логина на сервер по SSH

Level of difficultyMedium
Reading time19 min
Views11K

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

В этой статье мы развёрнем через Terraform несколько серверов в Yandex.Cloud, а затем при помощи Ansible настроим необходимый софт на каждом сервере. У нас будет основной сервер c Loki (система агрегирования логов) и Grafana (инструмент для визуализации данных), на серверах, которые мы хотим отслеживать, будет установлен Promtail (агент для сбора и отправки логов). Мы разберёмся с тем, как отслеживать входы на сервер, а затем в удобном формате отправлять об этом уведомления в чат с помощью вышеуказанных сервисов.

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

Исследование безопасности десктопных приложений на основе Electron

Level of difficultyEasy
Reading time15 min
Views3.9K


Electron — фреймворк с открытым исходном кодом для создания кросс-платформенных десктопных приложений с помощью JavaScript, HTML и CSS. Это крутая технология, но с ней связаны многие ИБ-риски.


В статье я разберу основы безопасной работы с этим фреймворком и расскажу:


  • как анализировать структуру десктоп-приложений на Electron и находить в них уязвимости;
  • какие распространенные ошибки допускают при работе с фреймворком и насколько он защищен.

Начнем с инструментов и методов, с помощью которых я провожу анализ кода приложений. Затем продемонстрирую конкретные примеры эксплуатации уязвимостей на примере специальных приложений-мишеней: DVEA, Electro-xxs и Notable.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments1

Information

Rating
Does not participate
Registered
Activity