~/NeonXP.log

Блог

Просто мой блог

Преемственность от BBS до Телеграма

Чисто на правах воскресной шизы.

Обнаружил для себя интересную тенденцию, в характерных своему времени инструментах для общения за последние 40+ лет:

Если взять эволюционный ряд BBS (в т.ч. Фидо) → Форумы → Соцсети → Мессенджеры, то можно выделить в них несколько общихчерт:

  • Возможность общения 1—1
  • Возможность общения 1—М (оператор BBS, администратор форума может сделать какую-то тему в read-only и сам туда писать,получая что-то типа каналов в телеге или блога)
  • Возможность общения М—М (обычный режим форума или многопользовательский чат в мессенджерах)
  • Возможность обмена файлами (в т.ч. картинками, не зависимо от того, сразу они отображаются у собеседника или нет)
  • Возможность проводить голосования (внезапно, да?)

Что из этого следует? Да ничего, просто забавно. Интересно, что будет в постмессенджеровую эпоху? По идее, какой быинструмент ни был — эти же черты будут присущи и ему.

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

Заметочник 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, необходимо использовать пароль приложения).

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

Книжные рекомендации 1

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

В прошлый раз, ещё в VK рекомендовал Азимовский цикл “Основание”. А в этот раз рекомендую цикл фантастики Андре Нортона “Королева Солнца”.

Если без спойлеров — цикл описывает приключения помощника супер-карго Дейла на космическом корабле вольных торговцев «Королева Солнца». Читается легко и увлекательно. Книги небольшие, проглатываются за пару часов.

Скачать

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

Конфигурация 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
    ...
    }
    

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

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

Переезд и проблемы обновления

Немного новостей.

Начну с грустного. Крайне неудачно обновил forgejo на gitrepo.ru. В общем, БД побилась без возможности восстановления. Репозитории я спас, обращайтесь —пришлю архив репозиториев.

Очень грустно, я был крайне расстроен. Штош, теперь настроил зато постоянные бекапы БД и данных на локальный NAS. Прошу прощения у пользователей, я очень виноват.

А теперь о негрустном. Всё же решил что мне больше нравится основным домен не .dev, а именно .ru. Времена неспокойные — лучше перестраховаться и сделать ставку именно на национальный домен, а не на международный. К тому же у .dev домена есть неприятная особенность, что он требует обязательно валидного (то есть одобренного западными “партнерами”) сертификата. А это не дело, как я уже писал в заметке.

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

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

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

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

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

GitRepo.ru

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

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

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

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

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

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

Golang подборка 1

Просто собираю подборку интересных ссылок по гошке на почитать потом.

import "math"
...
// https://en.wikipedia.org/wiki/Haversine_formula
func GetDistance(lat1, lon1, lat2, lon2 float64) float64 {
    lat1 *= math.Pi / 180
    lon1 *= math.Pi / 180
    lat2 *= math.Pi / 180
    lon2 *= math.Pi / 180
    return 12742 * math.Asin(
      math.Sqrt(
        math.Pow(math.Sin((lat2-lat1)/2), 2) +
        math.Cos(lat1) *
        math.Cos(lat2) *
        math.Pow(math.Sin((lon2-lon1)/2), 2)
      )
    )
}
  • god — Утилита подгатавливающая демоны из go программы. Для меня ценное — что генерит systemd конфиги.
Читать дальше...