Рубрика: Заметки

Установка сертификатов от МинЦифры в ОС и браузеры

Недавно мне попался первый проект с привязкой функционала к мессенджеру Макс. Первым делом зарегистрировал бота через местного БотФазера (max.ru/business_bot) и пошёл смотреть официальную документацию (dev.max.ru/docs). Кстати, создание бота и его модерация прошла за несколько минут, буквально за 3-4, хотя я слышал о каких-то невиданных сроках проверки и великих сложностях, на деле оказалось всё просто. После поверхностного знакомства с документацией, как обычно, захотелось покидать тестовые запросы для проверки работоспособности. Начал с получения общей информации:

curl -X GET "https://platform-api2.max.ru/me" \
  -H "Authorization: МойТокен"

Но получил вот такую ошибку:

curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

Проблема оказалась в следующем: Макс использует сертификаты от Национального удостоверяющего центра Минцифры России, а в стандартных хранилищах доверенных сертификатов многих операционок никак не связанных с РФ эти корневые и промежуточные сертификаты отсутствуют. Поэтому curl не может построить цепочку доверия и выдаёт ошибку 60.

Исправить всё это дело можно через официальную инструкцию с ГосУслуг — gosuslugi.ru/crt. На этой странице подробно расписано как добавить сертификаты в различные ОС (Windows, MacOS, Linux, Android и iOS). Я установил для домашней Windows 11 через скачивание и установку (почти как обычную программу, в статье есть даже видео инструкция), а в Ubuntu под WSL с помощью этих команд:

1. Скачал в downloads и разархивировал.
2. sudo cp linux_russian_trusted_root_ca_pem/russian_trusted_root_ca_pem.crt /usr/local/share/ca-certificates/
3. sudo cp russian_trusted_sub_ca_pem/russian_trusted_sub_ca_pem.crt /usr/local/share/ca-certificates/
4. sudo update-ca-certificates

И на выходе получил:

Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
2 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

После этого запрос с получением общей информации о боте к platform-api2.max.ru через curl начал работать корректно.

Мониторинг ресурсов в Линукс

Как и в других операционных системах, в Линуксе иногда нужно следить за количеством свободного пространства на диске, использованной оперативной памяти, списком активных программ и открытыми файлами. Для всего этого существует ряд утилит — ps, top, lsof, free, df и du.

(далее…)

HTTP 1.0 vs HTTP 1.1 vs HTTP 2.0

HTTP (HyperText Transfer Protocol — протокол передачи гипертекста) постоянно развивается и на данный момент дошел до второй версии. Каждая новая версия привносила как функционал, так и увеличивала скорость работы. В данной заметке мы рассмотрим только основную схему работы.

(далее…)

Сервис поиска аналогов программ

Сегодня на глаза попался интересный сервис по поиску аналогов программ:

alternativeto.net

Полезные ссылки по C#

Примеры использования cURL

cURL — консольная утилита для взаимодействия с удаленными серверами (сервисами, сайтами и т.д.). Во время разработки обычно все потребности с лихвой покрывает Postman, но все-таки иногда приходится обращаться к cURL. Примеры использования ниже.

(далее…)

Конфигурация nginx

/etc/nginx/nginx.conf
/etc/nginx/sites-available
/etc/nginx/sites-enabled (сюда нужно ставить симлинк)

Эльбрус и Байкал в Телеграме

Эльбрус

Главный чат Эльбрусоводов: t.me/e2k_chat
Стикеры для Телеграма с процессорами МЦСТ: telegram.me/addstickers/Elbrus2000
Флудилка Эльбруса: t.me/+TasiREgUYeg4xRfa
Новости импортозамещения и канал Максим Горшенин: t.me/imaxairu
Фан клуб: t.me/e2k_fans
Официальный канал МЦСТ: t.me/ElbrusCPUTeam
Игры для Эльбруса: t.me/elbrus_pc_test
Эмулятор Эльбруса: t.me/qemu_e2k
Чат кодеров под Эльбрус: t.me/e2k_coding

Байкал

Главный чат Байкаловедов: t.me/BaikalElectronics_chat
Стикеры для Телеграма Байкал: t.me/addstickers/BaikalElectronics_stickers
Флудилка Байкала: t.me/BaikalElectronics_fludilka
Официальный канал Байкал Электроникс: t.me/BaikalElectronics
Новости импортозамещения и канал Максим Горшенин: t.me/imaxairu

Форсируем LF для всего проекта

Полезная заметка из блога Александра Макарова

Форсировать линуксовое окончание строк LF вместо CRLF из Windows полезно потому как тот же Docker CRLF очень не любит. Настраивать локально что-то не очень приятно, поэтому просто замечательно что есть возможность форсировать это для всей команды средствами git.

  1. В корне репозитория создаём .gitattributes, пишем туда * text=auto eol=lf первой строкой.
  2. Делаем коммит с этим изменением, пушим.

Собственно, всё. Осталось локально себе сконвертить всё в LF. В этом также поможет git:

  1. git rm --cached -r .
  2. git reset --hard

Источник: rmcreative.ru/blog/post/forsiruem-lf-dlja-vsego-proekta

Маска ввода jquery.maskedinput

cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js

$('.phone').mask('+7 (999) 999-9999');

webstool.ru/jquery.maskedinput.html (другие примеры использования)