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

Gitlab Oauth Roundcube Webmail в стеке Postfix+dovecot+sieve+mysql+spamassasin+nginx (Linux)

Уровень сложностиПростой

Небольшой минигайд как привязать oauth от поставщика Gitlab к Roundcube и dovecot. Данная статья родилась потому, что не в русском ни в английском сегменте этой информации нет и хочется поделится своей работой :)

Для начала, мы должны иметь минимально рабочую конфигурацию Roundcube+Postfix+dovecot+mysql, статей на эту тему на просторах интернета полно.

Итак, для начала займемся Gitlab

Поставщик Oauth - саморазмещаемый экземпляр Gitlab CE.Под учетной записью администратора нужно подключить приложение и создать секреты.
Admin area => Applications

Redirect URI: https://mail.EXAMPLE.ru/index.php/login/oauth

Выбрать:
- "openid"
- "The application will be used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are considered non-confidential."
На выходе получим Application ID и Secret которе нужно записать, они нам пригодятся.

Второй шаг это настройка конфигурации Roundcube

Требуется перейти в файл конфигурации и внести параметры в конец config.inc.php

$config['oauth_provider'] = "generic";
$config['oauth_provider_name'] = 'Gitlab';
$config['oauth_client_id'] = "УКАЗАТЬ Application ID ПОЛУЧЕННЫЙ НА ШАГЕ 1";
$config['oauth_client_secret'] = "УКАЗАТЬ Secret ПОЛУЧЕННЫЙ НА ШАГЕ 1";
$config['oauth_auth_uri'] = "https://gitlab.EXAMPLE.ru/oauth/authorize/";
$config['oauth_token_uri'] = "https://gitlab.EXAMPLE.ru/oauth/token/";
$config['oauth_identity_uri'] = "https://gitlab.EXAMPLE.ru/oauth/userinfo";
$config['oauth_verify_peer'] = true;
$config['oauth_scope'] = "openid";
$config['oauth_auth_parameters'] = [];
$config['oauth_identity_fields'] = ['email'];
$config['oauth_login_redirect'] = false;

Читать далее

Почему плагины Minecraft Pocket Edition от СНГ-разработчиков часто содержат много «гкода»?

Уровень сложностиСредний

В последнее время наблюдается тенденция, что плагины для Minecraft Pocket Edition (MCPE), разработанные СНГ-программистами, часто содержат множество проблемного кода, который в игровом сообществе называют "гкодом". Причины, почему это происходит, могут быть многогранными и сложными. Рассмотрим ключевые факторы, способствующие возникновению таких проблем написания качественного кода.

Читать далее

Аутентификация в minio через keycloak

Уровень сложностиПростой

Когда команда занимается разработкой, рано или поздно возникает необходимость в использовании хранилища типа Amazon S3 (Simple Storage Service), которое предоставляет возможность сохранения и доступа к большим объемам данных. Один из примеров такого хранилища - MinIO, который является надежным и производительным решением, особенно если он находится в High Availability.

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

Читать далее

LibGodot позволит встраивать Godot в другие приложения, например, в Blender

..или Blender в Godot 🤔 в общем не суть)

История от Miguel de Icaza про встраиваемый игровой движок.

Много лет назад, работая в Xamarin, где мы создавали кроссплатформенные библиотеки для мобильных разработчиков, мы хотели предложить нашим пользователям возможности 2D и 3D игр в виде добавления 2D или 3D контента в их мобильные приложения.

Для 2D мы создали и разработали множество библиотек, вдохновленных Cocos2D.

С 3D ситуация была сложнее. Мы финансировали несколько библиотек в течение нескольких лет, вносили свой вклад в другие, но ничего не вышло (история этого заслуживает отдельного поста).

Примерно в 2013 году мы огляделись вокруг, и на тот момент у нас было два претендента: один — встраиваемый движок с множеством симпатичных функций, но не очень хорошей поддержкой пользовательского интерфейса под названием Urho, а второй — Godot, который имел отличную IDE, но не поддерживал встраивание.

В то время я связался с Juan, чтобы обсудить, можно ли превратить Godot в такой движок. Хотя я обычно веду подробные записи всех своих встреч, эти записи, к сожалению, пропали в результате приобретения Microsoft, но из того, что я помню, Juan сказал мне: «Godot — это не то, что вы ищете» в двух измерениях, не было никаких ближайших планов по превращению его во встраиваемую библиотеку, и он не был таким продвинутым, как Urho, поэтому он рекомендовал мне выбрать Urho.

Подробности

Восстанавливаем удалённые сообщения в Telegram

Уровень сложностиПростой

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

Читать далее

Правда или миф, что iPhone появился из-за необычной болезни Стива Джобса?

История iPhone началась задолго до его официального представления в 2007 году. В начале 2000-х компания Apple, под руководством Стива Джобса, искала новые направления развития. Успех iPod показал, что потребители жаждут инновационных портативных устройств. Именно в этот период в Apple начали экспериментировать с идеей создания планшетного компьютера.

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

Читать далее

«Кто ты, воин?» SOC vs CERT. Объясняем на пальцах

Уровень сложностиСредний

SOC (Security Operations Center) – это структурное подразделение организации, отвечающее за оперативный мониторинг информационной среды и предотвращение киберинцидентов.

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

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

Читать далее

Как добавить новый функционал в вашу любимую идеешку

Уровень сложностиСредний

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

Хочу поведать о том, как я добавил новый функционал в Android Studio (спойлер, все то же самое работает в IntelliJ IDEA, PyCharm, CLion и т.д.), и это ускорило мою жизнь в разы, а глаз почти что перестал дергаться.

Читать далее

Nmap — руководство для начинающих

Уровень сложностиПростой

Nmap — мощный инструмент для исследования и обеспечения безопасности сетей. Он популярен среди системных администраторов и специалистов по информационной безопасности. Даже в культовом фильме "Матрица" этот инструмент использовался для взлома.

Читать далее

Про реакт обзорно

Уровень сложностиПростой

Дисклеймер: данная статья ставит задачу познакомить читателя с библиотекой React, ее отличиях от ванильной верстки статических страниц, а так же с основными концепциями, на которых основана работа данной библиотеки. Автор статьи будет рассматривать данную технологию в абстракции и, возможно, в отрыве от реальных процессов, происходящих внутри React-приложения: в статье не будет рассматриваться Fiber, классовый подход и остальные технические вещи, которые лишь послужат отвлечением от основной сути. Статья представляет собой милкшейк из моего личного практического опыта, личных наблюдений, теории из официальной документации React.dev, а также информации, взятой со статей на Reddit и прочих ресурсах.

Читать далее

Сравнительный анализ API-сервисов для перевода: цены, качество и опыт использования

Уровень сложностиПростой

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

Сегодня я хотел бы рассказать про мой опыт использования API продуктов от разных сервисов в разработке. Точнее использовал я эти api в проекте, который был связанн с недвижимостью: нужно было переводить описания недвижимости и статьи для разных версий сайта (с английского на русский и наоборот). Рассмотрим плюсы и минусы каждого из популярных сервисов.

Читать далее

Проверяем файл на вирусы и чистим систему от активного заражения

Уровень сложностиСредний

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

Основные моменты статьи:

Пошаговая проверка файла на вирусы с помощью сервисов VirusTotal и AnyRun.
Использование инструментов DnSpy и dotPeek для анализа кода подозрительных файлов.
Выявление и исследование вредоносного ПО, в том числе стиллеров и майнеров.
Практические советы по защите от подобных угроз.

Содержание:

Знакомство с подозрительным файлом и первичная проверка
Анализ exe-файла и библиотеки lib
Использование инструментов для декомпиляции и анализа кода
Обнаружение Redline Stealer и майнера XMR
Проверка файлов на виртуальных машинах и анализ поведения

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

Читать далее

API HH.ru Быстрый старт для работы с аккаунтом соискателя

Уровень сложностиСредний

Быстрый старт API HH.ru новая версия (для соискателей).

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

Читать далее

Google Регистрация в Android на kotlin + jetpack compose

Уровень сложностиПростой

🚀 Хотите создать регистрацию в стиле Google для своего Android-приложения? 🚀

Забудьте о скучных формах! Погрузитесь в мир плавной анимации, интуитивного дизайна и надежной безопасности – всё это с помощью Kotlin и Jetpack Compose.

Что вас ждет:

Пошаговый гайд: От первых строк кода до готового результата – разберемся вместе.

Рабочий код: Не просто теория, а готовые решения для вашего проекта.

Комментарии эксперта: Поймете каждый шаг и сможете адаптировать код под свои нужды.

Секреты профессионалов: Узнаете, как сделать регистрацию не только функциональной, но и привлекательной.

💪 Не упустите шанс прокачать свое приложение! 💪

Читать далее

Оптимизация структуры React/React-Native проекта: Подход с использованием модульной архитектуры

Уровень сложностиСредний

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

Погнали дальше

Публикация приложения в AppStore

Уровень сложностиСредний

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

Давайте разберемся, как опубликовать наше первое приложение в AppStore. 

Читать далее

Что же есть такое цифровая трансформация?

Уровень сложностиПростой

Уважаемые коллеги! Предлагаю подискутировать на тему – что же такое «Цифровая трансформация». И с чем ее едят.

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

P.S.: Я не разработчик, если что, и за технологические стеки разработки поспорить не смогу. Больше мою работу можно описать как менеджерскую.

 Итак, приступим.

Читать далее

Геометрия без аксиом. Информационная энтропия и точка

Уровень сложностиСредний

Геометрия без аксиом. Рассмотрение базовых геометрических понятий без применения аксиом. В данной статье исследуется понятие "точка".

Читать далее

Сетевая защита филиала компании

Уровень сложностиПростой

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

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

Кроме того, учитывая, что это дополнительный офис или малое предприятие, его ресурсы в части управления и персонала могут быть ограничены.

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

Читать далее
1
23 ...