СОРМ
Для полной интеграции СОРМ, просьба обращаться к Дмитрию Б. aka Банан
+79115096089, +79215480279 (ТГ/WhatsApp/Звонок)
Внимание! Критическая уязвимость...
Использование копии биллинговой системы с датой обновления ДО 16.03.2024, черевато взломом.
До этой даты присутствует критическая уязвимость системы, которая перешла ещё с Abills
Предыдущие месяцы (2026 год)
Предыдущие месяцы (2025 год)
- Changelog - 01.01.2025-31.01.2025
- Changelog - 01.02.2025-28.02.2025
- Changelog - 01.03.2025-31.03.2025
- Changelog - 01.04.2025-30.04.2025
- Changelog - 01.05.2025-31.05.2025
- Changelog - 01.06.2025-30.06.2025
- Changelog - 01.07.2025-31.07.2025
- Changelog - 01.08.2025-31.08.2025
- Changelog - 01.09.2025-30.09.2025
- Changelog - 01.10.2025-31.10.2025
- Changelog - 01.11.2025-30.11.2025
- Changelog - 01.12.2025-31.12.2025
21.10.2026 (Версия биллинга - 'RU 26.10.21')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
СОРМ | Оптимизированы все запросы |
Добавлены необходимые индексы | |
В настройки выведен забытый параметр очистки журнала выгрузок | |
Убрано дублирование в журнале выгрузок (6000 абонентов, за 7 дней генерировали около 28млн записей) | |
Добавлено удаление "сирот" из журнала выгрузок (потерянные записи) | |
Финансы | Исправлено получение реестра платежей для внешних систем |
Добавлено обязательное создание EXT ID, при ручном вводе, если не ввели вручную | |
Авторизаторы | Исправлена потеря сессий при авторизации абонента |
Оборудование | Добавлен флаг аплинк порта коммутатора, для исключения его из сбора мак адресов |
|
20.10.2026 (Версия биллинга - 'RU 26.10.20')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Ядро | Исправлено сохранение порядка в сортируемых списках системных настроек. |
Исправлен «съезд» поля комментария в схемах авторизации. | |
Исправлено падение AJAX-запроса списка тарифов | |
Исправлено падение Microimpuls на неопределённом STATUS. | |
Авторизаторы | Убран безусловный дебаг accounting в radius.log. |
Убраны безусловные логи MSCHAP/EAP | |
Добавлен параметр AUTH_EXPR_PARSE_DEBUG — отладка разбора Option82. | |
Отладочные логи авторизации перенесены в штатную папку: $base_dir/var/log/Auth (auth-логи) и $base_dir/var/log/Acct (accounting-логи) | |
Добавлена гибридная схема AUTH_EXPR — регекспы Option82 для конкретного NAS. Раньше AUTH_EXPR был ОДИН глобальный список правил разбора Option82, и система перебирала ВСЕ выражения подряд, пока не найдёт подходящее. Порядок правил в списке был критичен, и его приходилось вручную сортировать. ТЕПЕРЬ: у каждого сервера доступа (вкладка «Авторизация» карточки NAS) можно задать СВОЙ набор регекспов. Он хранится в таблице config под именем AUTH_EXPR_<NAS_ID> (например AUTH_EXPR_10000), комментарии — AUTH_EXPR_COMMENTS_<NAS_ID>. Приоритет выбора выражения в Auth2::opt82_parse:
UI: новая секция «Регекспы Option82» на вкладке «Авторизация» карточки NAS. ОДИН РЕГЕКСП = ОДНА СТРОКА. Параметры — МУЛЬТИСЕЛЕКТОР С ПЕРЕТАСКИВАНИЕМ ПО ГОРИЗОНТАЛИ. Порядок чипов слева направо = порядок групп захвата в регекспе. Список атрибутов RADIUS в селекторе РАСШИРЕН и сверен с официальными источниками (словари FreeRADIUS /usr/share/freeradius/dictionary.*, RFC 3046, RFC 4679/TR-101):
| |
Плагины | equipment_mac: добавлен параметр NAS_IDS (фильтр по ID NAS, как в остальных плагинах системы). |
Оборудование | Полностью переработан прицип управления/отображения данных для коммутаторов Huawei |
Создан отельный сбор FDB для Huawei, для нормального сопоставления и авторизации по Option82 | |
Переработана работа с индексами портов Cisco | |
Исправлено отображение абонента в списке портов у Cisco | |
|
19.10.2026 (Версия биллинга - 'RU 26.10.19')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Ядро | Исправлены очерёдности направлений в сендере, иногда,из-за этого, ломался 12-ый отчёт Ureports |
Добавлен виджет ошибок billd | |
Доработана автоперезагрузка воркеров FCGI | |
Доработан отчёт работы billd | |
MAX | Исправлена кодировка, в некоторых случаях приходили вопросики, вместо кириллицы |
История действий администратора | В журнале истории действий с абонентами и историй действий администратора, добавлено поле в котором указывается плагин, который сделал действие |
|
15.10.2026 (Версия биллинга - 'RU 26.10.15')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Ядро | Переработана работа с конфигурацией системы, улучшено получение данных |
Исправлен баг у FCGI пуллеров, теперь они понимают, что в системе новый код, без перезагрузки | |
Исправлены некоторые локализации названий параметров | |
Исправлено "замерзание" billd демона | |
Исправлена функция checklines | |
Списания | Добавлен новый параметтр INTERNET_COMPANY_FINE_LIMIT - ТОЛЬКО для абонентов компании |
JS | Исправлено AJAX/JQUERY сохранение массива в настройках Ядра системы |
Ускорен пуллер для Telegram (работа без webhook) | |
Личный кабинет абонента | Исправлено сохранение E-mail адреса |
|
14.10.2026 (Версия биллинга - 'RU 26.10.14')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Ядро | Добавлен установщик сокетов для FCGI |
Исправлено право 0:46 «Просмотр физических лиц» отсутствовало в словаре прав admin_permissions. | |
Исправлено «Обслуживание>Документы» и «Обслуживание>Документы>Счета» зависали при отключённом/недоступном сервере 1С. | |
api.cgi не читал список модулей из БД | |
Демон billd запускал каждый плагин через exec — то есть НОВЫЙ процесс billd, который заново компилировал ~96 модулей (2.9 МБ). Это давало всплеск CPU ~0.7-0.8s (100% одного ядра) на КАЖДЫЙ запуск плагина. | |
Плагин scan_ports (cron */10) запускал equipment_grabber ОТДЕЛЬНЫМ процессом billd НА КАЖДЫЙ NAS — 28 NAS = 28 процессов. Каждый процесс заново компилировал ~96 модулей (2.9 МБ) и открывал своё соединение к БД. Итог: всплеск CPU, 28 параллельных SNMP-опросов и ГОНКИ записи в equipment_ports (несколько процессов одновременно меняли одни и те же строки портов). | |
debug-лог billd (var/log/billd/debugN.log, включается параметром BILLD_DEBUG_LEVEL >= 3) писался БЕЗ времени | |
Оптимизирована сводка платежей на стартовой странице админки (блок «Платежи»: День/Неделя/Месяц) | |
Оптимизирована функция company_daily_stats (ACP/mysql/Fees.pm) — дневная статистика списаний по компании | |
Оптимизирована функция ensure_topics_tables() (ACP/modules/MAX/Dialogs.pm) вызывалась 9 раз из разных функций рендера | |
Оптимизирован отчёт «Порты на коммутаторах» (equipment_switch_report, ACP/modules/Equipment/Reports.pm), выполнял запрос на КАЖДЫЙ коммутатор | |
Оптимизирована функция sysinfo_sp_info() (ACP/modules/Sysinfo/Reports.pm) при КАЖДОМ показе стартовой страницы запускала внешние процессы | |
Оптимизирована функция lang_init_from_db() (lib/ACP/Misc.pm) вызывается из load_module() для КАЖДОГО загружаемого модуля и при каждом вызове делала 2 SQL-запроса к таблице translations | |
Оптимизированы отчёты по истории сессий (таблица internet_log, ~972 тыс. строк) использовали функции на колонке даты, из-за этого не работал индекс по дате | |
Оптимизированы отчёты списаний (таблицы fees ~15 млн., internet_main) использовали функции на колонке даты, из-за этого не работал индекс по дате | |
Оптимизирована функции на колонке даты (DATE_FORMAT) в WHERE переписаны на полуинтервалы по самой колонке во ВСЕХ модулях | |
Оптимизирован журнал действий администраторов | |
Радиус и авторизация | При добавлении/удалении нового сервера доступа теперь не надо перезапускать радиус |
Система теперь сама умеет определять, как называется сервис FreeRADIUS | |
В accounting для NAS типа accel_ipoe подмена User-Name выполнялась поиском по internet_main.CID БЕЗ учёта VLAN. Если у двух абонентов ОДИНАКОВЫЙ MAC (даже в разных VLAN), запрос возвращал несколько строк и код брал ПЕРВУЮ ($self->{list}->[0]->[1]) — то есть мог подставить ЧУЖОЙ логин. Далее online_lock_session / online_update_session искали сессию по user_name → не находили (affected=0) → сессия не обновлялась → LOST-SESSION. | |
Домофония | Добавлен параметр INTERCOM_SKIP_USER_MENU — скрытие пункта «Домофония» и его подпунктов в кабинете абонента |
|
12.10.2026 (Версия биллинга - 'RU 26.10.12')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Сервера доступа/Авторизация | Дабавлено "горячее" перечитывание параметров, без необходимости перезапуска радиуса. Ориентируется на время изменение в настройках ядра. |
Добавлено "горячее" перечитывание параметров модулей авторизации и аккаунтинга без перезапуска радиуса. Ориентируется на время изменения в настройках сервера доступа | |
Добавлено "горячее" отслеживание изменений в модулях авторизации и аккаунтинга без перезапуска радиуса. Теперь система отслеживает изменение в самих файлах авторизации и аккаунтинга и перечитывает эти файлы. При этом система понимает что какой-нибудь авторизатор был удалён и исключает его из авторизации, а так-же если файл был изменён/обновлён. Для более глубокого отслеживания был создан отдельный модуль | |
Добавлен флаг лога "HOT RELOAD" для отслеживания что был перечитан параметр или авторизатор. | |
Модули | Добавлен новый модуль Modules_hash, для отслеживания изменений в файлах авторизации и аккаунтинга. |
Настройки ядра | В таблицы настроек ядра добавлены поля last_update, для отслеживания времени изменений. Теперь всегда можно увидеть когда был последний раз изменён параметр |
Исправлено сохранение вендор-ориентированных параметров | |
Добавлен новый параметр "Передавать статус услуги при создании абонента (визард)". Позволяет, при создании абонента, нарушить закон и создать абонента БЕЗ активного сервиса "Интернет". Использовать только в режиме тестирования. В боевом режиме закон НЕ позволяет создавать сервис гораздо позже, чем создана учётная запись абонента | |
JS | Добавлены недостающие выводы ещё не сохранённых параметров, для отслеживания какой параметр изменили перед применением. ОБЯЗАТЕЛЬНО ЧИСТКА КЕША!!! |
|
11.10.2026 (Версия биллинга - 'RU 26.10.11')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Сервера доступа | Добавлено поле Zap-порог (sec.) — порог "протухания" online-сессий в секундах. |
Добавлено Interim-Update (sec.) — интервал Accounting-Update в секундах. | |
Автообновление | Исправлено падение автообновлятора при ошибочном SQL патче |
|
09.10.2026 (Версия биллинга - 'RU 26.10.09')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Оборудование/Оповещения | Исправлено: при сохранении шаблона уведомления терялся блок <!--%ONU_ITEMS%-->...<!--/ONU_ITEMS%--> (служебные маркеры повторяющихся строк по ONU). |
Изменено: предпросмотр шаблона теперь подставляет тестовые значения вместо переменных и корректно обрабатывает переводы строк и HTML. | |
Исправлено: при AJAX-сохранении шаблона не учитывалось состояние чекбокса «Использовать текст из БД» (enabled). | |
Equipment | Добавлено: полноценная система шаблонов уведомлений для модуля Equipment (PON) (плагин equipment_pon.pm) |
JS | Исправлено глобальное определение местонахождения параметра или в БД или в config.pl ОБЯЗАТЕЛЬНО ЧИСТКА КЕША!!! |
Ядро/Права администратора | Изменено: заголовки и иконки секций формы прав администратора вынесены в отдельную таблицу БД admin_permission_sections. |
Изменено: система прав администратора переведена с файлов ACP/main_tpls/permissions*.info на таблицу БД admin_permissions. | |
Исправлено: дублирующая секция прав 10 (Multidoms) удалена, все проверки $permissions{10} в коде заменены на $permissions{9}. | |
Paysys | Исправлено (критично): платежи зачислялись на чужой лицевой счёт. (баг версии RU 26.10.08) |
|
08.10.2026 (Версия биллинга - 'RU 26.10.08')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Финансы | Логирование платёжных систем приведено к единому виду - детальный протокол обмена |
Единый механизм логирования входящих запросов и исходящих ответов для ВСЕХ платёжных систем | |
Исправлено падение платёжных систем, если фал лога отсутствует или на него стоят не правильные права | |
Вид оплаты, при начислении компенсации,вынесен в настраиваемый параметр. Параметр настраивается в "Настройка>Финансы>Настройки ядра>Оплаты>Вид оплаты для компенсации" | |
Карточка абонента | В карточке абонента (секция «Адрес») сломался выбор улицы и дома — список улиц/домов подгружался, но выбрать значение было нельзя (выпадающий список select2 «выпадал»); выбор работал только после повторного открытия селектора. |
Оповещение | При сохранении направления (тип «телефон») без указания значения в лог писался warning |
Настройка тарифов и отчётов переведены на AJAX/JQUERY сохранение | |
Телевидение | Кнопка ajax-сохранения в блоке «Интервалы / Каналы» тарифного плана IPTV теперь подсвечивается при изменении любого поля. |
Ядро | Исправлена ошибка поиска по БД со СМЕШАННЫМИ коллациями таблиц. |
|
07.10.2026 (Версия биллинга - 'RU 26.10.07')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Карточка абонента | Переименованы метки переключателя статуса абонента Было: включён — "Активный", выключен — "Отключено". Стало: включён — "Активный договор", выключен — "Договор расторгнут". |
Исправлена невозможность сохранить VLAN "ANY" в карточке абонента. | |
Авторизаторы | Исправлена пометка гостевой сессии |
СОРМ | Исправлено разделение слоёв: флаг ABONENT_FILES_ONLY. |
Изменён порядок вкладок на странице Настройка > СОРМ 3 > Настройки ядра. | |
|
06.10.2026 (Версия биллинга - 'RU 26.10.06')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Исправлено создание визуальной схемы дома, на некоторых установках не подтягивался нужный JS | |
На визуальную схему дома добавлены помещения | |
Добавлено редактирование помещений в Кострукторе схем | |
Адрес в карточке абонента | Теперь, если у вас есть схема дома, автоматически заполняются поля подъезда и этажа, в карточке абонента, согласно номеру квартиры/помещения |
MAX бот | Исправлено сохранение настроек токена бота |
|
04.10.2026 (Версия биллинга - 'RU 26.10.04')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Docs | Исправлена генерация PDF дополнения к договору |
Исправлено открытие редактора PDF-шаблонов в «Настройка > Системные настройки > Шаблоны» | |
Редактор PDF-шаблонов: вместо обезличенных кодов теперь показывается человекочитаемое название | |
Расширен формат .dsc (карта координат PDF-шаблона) | |
Редактор PDF-шаблонов переписан в виде WYSIWYG | |
Таблица онлайна | Исправлено «зависание» осиротевших сессий в internet_online для NAS типа mikrotik_dhcp. |
| Исправлено «зависание» online-строки при hangup для mikrotik_dhcp |
Система | Добавлено автонаполнение пустых пулов IP (ippools_ips) при выдаче адреса. |
billd | Исправлено предупреждение "Use of uninitialized value in exists" в плагине mikrotik_check_clients |
|
02.10.2026 (Версия биллинга - 'RU 26.10.02')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Отчёты | Оплаты - вернули возможность сортировки по видам оплат |
Исправлен быстрый отчёт "Вид оплаты" | |
СОРМ | Улучшено определение ожидание перед выгрузками на FTP/SFTP - unisorm.lock (новый параметр) |
intercom | Исправлен перевод в чёрные/белые списки, чтоб не разлогинивало из приложений |
Исправлена запись в лог списаний от чьего имени произошло списание (системный периодик или админ) | |
Автоматическое Обновление | Переделано на новый вид доступа к git |
| |
|
01.10.2026 (Версия биллинга - 'RU 26.10.01')
| Наименование модуля | Список изменений/исправлений/добавлений |
|---|---|
Система | Исправлено объявление package для версий перл >= 5.40.1 |
IPTV | Добавлена возможность работы с пенями отдельно от модуля Internet |
Исправлен шаблон отключения сервиса IPTV | |
Отчёты | Отчёты по списаниям и платежам - ускорено открытие данных отчётов |
Intercom | Добавлена возможность работы с пенями отдельно от модуля Internet |
Исправлен шаблон отключения сервиса Intercom | |
Добавлен расширенный вывод ошибок | |
Добавлена возможность отправки логина и пароля от сервиса Intercom по всем направлениям | |
Исправлено добавление абонента в чёрный список при СМД | |
Исправлено удаление абонента в сторонней системе | |
Исправлен перевод абонента в чёрный список при СМД | |
Исправлен перевод абонента в белый список при переходе в статус Активно | |
|