Рубрики
Блог Новости

Как отучить драйвер ККТ АТОЛ (ДТО 10) от UEM в Linux

TL;DR: Добавьте файл ~/.atol/drivers10/uem.env для отключения проверки службы.

О чем речь

ККТ – Контрольно-Кассовая Техника, умное название для кассы.

АТОЛ – доминирующий игрок на российском рынке кассовой техники. Каждая вторая торговая точка возле вас, скорее всего, будет использовать их продукцию.

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

Что случилось

В конце 2025 года изменилось налоговое законодательство, и с 1 января 2026 года используется ставка НДС 22%. Для поддержки этих изменений АТОЛ выпустили новую версию драйвера 10.10.8.0 от 09.12.2025. В списке изменений, кроме всего прочего, есть такой пункт: «Добавлена интеграция драйвера со службой UEM, теперь работа данной службы для драйвера обязательна».

Наши приключения начинаются именно тут, так как никакой документации на эту службу нет. Служба после установки не запускается, а драйвер без нее не работает. А если ваш программный продукт использует Docker, то вообще непонятно, где должна быть служба запущена: внутри или снаружи.

Рубрики
Блог Настройка

Настройка IKEv2 с EAP-MSCHAPv2 на RouterOS

Не буду описывать причины для настройки IKEv2, просто достаточно знания, что протокол хорош и поддержан сегодня во всех основных операционных системах. Ну и RouterOS тоже поддерживает. В справке MikroTik опубликована подробная инструкция по настройке, но результат рабочий не для всех клиентов. На устройствах Apple все работало, а на Windows и Android никак не хотело устанавливаться соединение. Windows-клиент писал «Неприемлемые учётные данные проверки подлинности IKE». Собственно об этом я и хочу рассказать.

Инструкция от MikroTik хорошая, но после ее выполнения есть проблема в цепочке сертификатов. Некоторые решают ее добавлением R3 в список доверенных системы, но это плохой способ. Нам нужно добиться того, чтобы сервер отправлял клиенту всю цепочку сертификации. Если в случае SSTP достаточно просто добавить промежуточный сертификат в систему и он сам подхватится:

/tool/fetch https://letsencrypt.org/certs/lets-encrypt-r3.pem
/certificate/import file-name=lets-encrypt-r3.pem name=lets-encrypt-r3

То чтобы исправить IKEv2 нужно явно указать его:

/ip/ipsec/identity/set [find peer=ike2] certificate=letsencrypt-autogen_2023-05-20T17:06:31Z,lets-encrypt-r3

То есть в поле certificate нужно указать два сертификата через запятую. После этих изменений работает на всех ОС.

Рубрики
Новости

Запуск скрипта в MikroTik по будням (обновление)

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

  • поддерживаются разные страны;
  • не нужна выгрузка открытых данных России.

Код и документация на GitHub.

Свежий сгенерированный файл для разных стран:


holidays_ru.txt (59232 Загрузки )


holidays_ua.txt (38846 Загрузок )


holidays_by.txt (38417 Загрузок )


holidays_lv.txt (38298 Загрузок )

Рубрики
Новости

Зеркала старых сайтов

Поднял зеркала, а точнее архивные копии, двух старых сайтов:

  1. Сайт газеты Про Лесной: пролесной.рф. Недоступен с 13.04.2021. Новый адрес: prolesnoy.archive.lesnoy.info.
  2. Сайт городских игр 7zone: sevenzone.ru. Недоступен с 12.10.2021. Новый адрес: 7zone.lesnoy.info.
Рубрики
Настройка

Запуск скрипта в MikroTik по будням

Возникла необходимость запускать скрипт в маршрутизаторе MikroTik только по будням. Мало того, что нет простого способа узнать сегодняшний день недели, так еще есть праздники. Поэтому решил прописать все выходные дни в явном виде. Скрипт запуска получился таким:

# получаем сегодняшнюю дату
:local date [/system clock get date]
# читаем файл holidays.txt и приводим его к массиву
:local hdays [:toarray [/file get [/file find name=holidays.txt] contents]]
# проверяем, есть ли сегодняшняя дата в массиве
:local isWork ([:typeof [:find $hdays $date -1]] = "nil")
:if ($isWork) do={
    # здесь запускаемый код
}

Файл holidays.txt содержит в себе список дат выходных дней, разделенных запятыми. Дата должна быть в формате МММ/ДД/ГГГГ в нижнем регистре. Файл не может превышать 4096 байт.
Файл сгенерировал из производственного календаря с Портала открытых данных. На портале он в виде файла CSV.

Мой файл holidays_ru.txt (59232 Загрузки ) .
Скрипт для генерации gen_holidays.py (43172 Загрузки ) .

UPD(28.05.2022): обновил скрипт.

Рубрики
Настройка

Получение сертификата Let’s Encrypt на nginx в режиме прокси

С некоторого времени использую сертификаты Let’s Encrypt для HTTPS. Когда HTTPS соединения от клиентов обрабатывает сам веб-сервер, где расположены файлы, как получить сертификат не вызывает вопросов. Но если соединения обрабатывает прокси-сервер nginx, то нужно указать папку, которая будет обрабатываться локально. Вот пример конфига, когда HTTP соединения не используются и перенаправляются на HTTPS версию:

server {
  listen 80;
  server_name example.com;
  location /.well-known/ {
    root /var/www/example.com;
  }
  location / {
    return 301 https://$host$request_uri;
  }
}

Если HTTP версия используется, то вместо return 301 нужно оставить proxy_pass.

Рубрики
Настройка

Время FTP в OpenMediaVault

В OpenMediaVault при листинге файлов по FTP можно столкнуться с проблемой, что время у файлов отображается в UTC. У ProFTPD есть отдельный how to на эту тему. На отображение даты может влиять опция TimesGMT, но она у OpenMediaVault выставлена в off. Значит ProFTPD не может получить системную временную зону, поэтому нужно в дополнительных опциях указать SetEnv TZ {зона}. Как-то так:

Скриншот настройки FTP
Скриншот настройки FTP

После применения настроек время у файлов будет отображаться в нужной зоне.

Рубрики
Новости

Луковые зеркала

Мой блог и сайт группы [F.R.O.S.T.] теперь имеют зеркала в анонимной сети Tor:
http://poofegruzqmggbqc.onion/
http://rufrost2kkgbmr4y.onion/

Рубрики
Блог

Кириллица для FTP-Proxy

Ранее я писал про FTP-Proxy. Работает хорошо, но есть у него одна досадная проблема: он толком не работает с кириллицей. Корень проблемы в том, что этот прокси не знает команд из RFC 2389. Поэтому я сделал маленький патчик, который решает эту проблему. Скачать патч поддержки RFC 2389 для ftp-proxy (312579 Загрузок ) .

Рубрики
Блог Новости

Новый альбом [F.R.O.S.T.] — Море Забытых

[F.R.O.S.T.] - Море Забытых (2015)У группы [F.R.O.S.T.], в которой я играю, 11 декабря вышел новый альбом «Море Забытых«. Он готовился два года. В прошлом году был выпущен сингл «По слогам» и снят клип на нее. Сейчас снимаем новый клип на песню «Полшага в неизбежность». Новый клип, как и предыдущий, снимает нам Прохор Коробейников. Послушать можно на Яндекс.Музыке, а скачать по ссылкам на официальном сайте. Поддержать деньгами можно также на Яндекс.Музыке.