~/NeonXP.log

IT

Сломаный Атом

Ого, оказывается всё это время у меня была сломана генерация ленты Атом! А именно, некорректно подставлялось содержание состоящее из, в том числе, ХТМЛ тегов, но без указания что это ХТМЛ. Что интересно, большинству читалок у меня на хозяйстве — всё равно и они не показывали проблемы. Но сегодня я открыл в Newsboat1 (ссылка на оффсайт у меня всё равно не открывается) и мои глаза начали плакать кровью от этой мешанины текста и тегов. Пришлось чинить :)

Читать дальше...

Смерть «продвинутого пользователя ПК»

https://fireborn.mataroa.blog/blog/the-slow-death-of-the-power-user/

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

Я готов подписаться под буквально каждым словом поста, но единственное, в чём я не согласен с автором — так это в том, что, как мне показалось, у него ещё есть надежда, что что-то улучшится или исправится. У меня такой надежды нет давно.

Читать дальше...

Пакетный менеджер Stapler

Давеча я открыл для себя чудесный пакетный менеджер для Linux — Stapler.

Как я понял, делают его ребята из сообщества пользователей AltLinux, но он не заточен конкретно под Alt, а может работать, по идее, на любом дистрибутиве. Ну а я уже давно использую этот дистрибутив, поэтому у меня выработался пиетет ко всему связанному с AltLinux :)

Самое близкое, как бы я его мог описать это смесь маковского Homebrew и арчевского AUR.

Основная прелесть для меня в том, что, во-первых, пакет описывается очень простым языком, а во-вторых, нет никакого центрального репозитория пакетов, а есть только обычные git репозитории, в которых лежат рецепты сборок пакетов. Именно последняя часть и роднит в моих глазах Stapler и Homebrew, в котором, так же, любой пользователь мог сделать свой кастомный репозиторий пакетов на базе обычного git репозитория.

Читать дальше...

Пакетный менеджер Stapler

Давеча я открыл для себя чудесный пакетный менеджер для Linux — Stapler.

Как я понял, делают его ребята из сообщества пользователей AltLinux, но он не заточен конкретно под Alt, а может работать, по идее, на любом дистрибутиве. Ну а я уже давно использую этот дистрибутив, поэтому у меня выработался пиетет ко всему связанному с AltLinux :)

Самое близкое, как бы я его мог описать это смесь маковского Homebrew и арчевского AUR.

Основная прелесть для меня в том, что, во-первых, пакет описывается очень простым языком, а во-вторых, нет никакого центрального репозитория пакетов, а есть только обычные git репозитории, в которых лежат рецепты сборок пакетов. Именно последняя часть и роднит в моих глазах Stapler и Homebrew, в котором, так же, любой пользователь мог сделать свой кастомный репозиторий пакетов на базе обычного git репозитория.

Читать дальше...

Заметочник Joplin

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

Название на для русского уха звучит по дурацки — Joplin. Но, не смотря на такое название, самоприложение очень даже серьёзное.

Интерфейс
Интерфейс

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

Так же, из приятностей — большое количество плагинов (https://github.com/topics/joplin-plugin) и возможность использовать свой сервер для синхронизации https://docs.vultr.com/how-to-host-a-joplin-server-with-docker-on-ubuntu . Для себя я, конечно же, поставил на свой сервак. Ну, а более бюджетно, если нет своего сервера — можно использовать любой WebDav сервер. В частности, Облако Mail.Ru или Яндекс Диск (адрес https://webdav.yandex.ru, необходимо использовать пароль приложения).

Читать дальше...

Конфигурация HTTPS с сертификатом от Минцифры

Третьего дня потратил достаточно много времени на установку на данном сайте сертификата от Минцифры.А поскольку сертификат краткоживущий (90 дней) — заметка мне самому пригодится на будущее.

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

Поехали!

  1. Идём сюда: https://www.gosuslugi.ru/627603/1/form
  2. По приведенной инструкции генерируем файл запроса сертификата. Вкратце так (только вместо neonxp.ru указываем свой домен):
    openssl req -out neonxp.ru.csr -new -subj "/C=RU/CN=neonxp.ru" -addext "keyUsage = digitalSignature, keyEncipherment" -addext "subjectAltName=DNS: neonxp.ru" -addext "extendedKeyUsage = serverAuth" -newkey rsa:2048 -nodes -keyout neonxp.ru.key
    
    Важно! Нужно сохранить файл ключа neonxp.ru.key в надежном месте. Если он попадет в чужие руки — нужно будет отзывать сертификат и начинать всё заново! SAN и Wildcard пока не поддерживается, но что имеем — то и имеем. Но по слухам таки будут, как минимум SAN.
  3. Полученный файл csr загружаем там же на госуслуги
  4. Ждём не долго (реально недолго, у меня прислали сертификат буквально через несколько минут!)
  5. В ответ придёт файл с рандомным названием. Сохраняем его туда, где лежат другие файлы под названием “домен.crt”
  6. Скачиваем корневой и промежуточные сертификаты:
    wget https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer
    wget https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer
    
  7. Преобразуем скачанный сертификат в формат PEM:
    openssl x509 -in neonxp.ru.crt -out neonxp.cer -outform PEM
    
  8. Соединяем свой сертификат и минцифровские в один бандл:
    cat neonxp.cer russian_trusted_sub_ca_pem.cer russian_trusted_root_ca_pem.cer > chain.cer
    
  9. Используем полученный бандл и сгенерированный в пункте 2 файл ключа в конфигурации вебсервера. У меня используется Caddy, поэтому мой конфиг выглядит так:
    neonxp.ru:443 {
    tls /data/ssl/chain.cer /data/ssl/neonxp.ru.key
    ...
    }
    

В общем-то, всё. Как настанет время продлевать — я дополню заметку деталями именно продления. Если будут вопросы — пишите, попробуем решить.

Читать дальше...

Немного мыслей о TLS (HTTPS) в России

Накопилось немного мыслей относительно того, что может грозить нам (и мне) в связи с трендом на “балканизацию” рунета.

И самое болезненное место — HTTPS который нынче стандарт де-факто в современных интернетах. А болезненное оно потому, что целиком и полностью контролируется другой стороной нынешного противостояния. Все доверенные удостоверяющие центры принадлежат странам “коллективного запада”. Помню, были ещё какие-то китайские, вроде, но с ними был какой-то скандал и не факт что они есть.

Читать дальше...

Импортозамещение Gist

И в догонку к комментариям, запустил на своём серваке свой аналог Gist’ов от GitHub.

Вот и он: gist.neonxp.ru

Пользуйтесь 🙂

Другие мои проекты

Читать дальше...

GitRepo.ru

Сегодня серьезно переделал свой хостинг репозиториев кода:

  • Переехал на большой арендованный сервак
  • Привел в порядок оркестрацию вокруг сервака с использованием Docker Compose
  • Gitea заменил на её форк Forgejo
  • Впилил CI/CD на основе Woodpecker CI

Приглашаю пользоваться заместо бездуховного западного github: https://gitrepo.ru/

Сервер физически находится в датацентре в Москве у весьма годного провайдера Selectel.

Тем более, время сейчас неспокойное и неизвестно когда github станет недоступен для РФ, а GitRepo — он вот тут, в нашей стране.

Читать дальше...

Jsonnet

Редко такое бывает, что случайно натыкаешься на какую-то технологию и она вызывает вау-эффект и буквально переворачивает всё верх дном. На днях для меня такой технологией стал Jsonnet от Google.

Jsonnet
Jsonnet

В кратце, это надмножество JSON являющееся языком описания шаблонов. Пока звучит не очень круто, да? На деле это офигенный Тьюринг полный функциональный язык, результатом выполнения которого будет сформированый JSON (и не только) документ(или несколько документов1).

Если интересно, рекомендую сразу переходить к туториалу — https://jsonnet.org/learning/tutorial.html.

Читать дальше...