Новые плагины usd - Курс доллара с RBC eur - Курс евро с RBC financeyahoo - Курс ценных бумаг с finance.yahoo.com moex - Курс ценных бумаг с moex.com stock - Расчет цены портфеля ценных бумаг sipnet - Sipnet (IP телефония)
avtodor-tr - Автодор транспондер
Самое важное изменение - это jsmb плагины через локальный web server (см readme.md)
- Теперь mbplugin не привязан к папке c:\mbplugin а может быть установлен в любую папку, приоритетный вариант - распаковать содержимое в папку где лежит MobileBalance, важно помнить, что при перемещении mbplugin в другую папку необходимо пересобрать dll плагины (это несложно, всего лишь запустить mbplugin\dllsource\compile_all_p.bat, но без этого работать не будет)
- Добавлен режим работы через webserver и jsmb плагин, работающий через этот webserver - несмотря на недостаток, в виде большей зависимости от IE, этот вариант дает прикольную плюшку в виде того, что гораздо больше полей из результата попадают в mobilebalance, из наиболее заметного - это список услуг и количество SMS (в этом смысле немного печалит, что мозговой штурм на DLL плагины оказался немного напрасным, т.е. кроме опыта дебагинга DLL от него практической пользы получается немного). Посмотрим, если вариант jsmbLH плагины себя хорошо покажут, то объявим это т вариант майнстримом.
- Добавлен режим сохранения запросов через mbplugin в базу sqlite и построением результата в виде html странички.
- Теперь настройки лежат в файле mbplugin.ini, если вы распаковали mbplugin в папку с mobilebalance, то после запуски mbplugin\setup_and_check.bat ищите mbplugin.ini в папке где лежит mobilebalance.
- В перспективе я рассчитываю, что mbplugin перенесет в себя основной функционал MobileBalance и станет самостоятельным приложением, ближайшие планы - импорт данный из mdb базы MobileBalance и собственное расписание запросов. Размышляю над собственной реализацией jsmb плагинов, но пока не придумал как это можно реализовать. Также хочу отметить, что против опсосов у нас богатый арсенал - selenium, headless chrome, ML и много чего интересного. Подробное описание в readme.md, исправления приветствуются в виде pull request в github, если с этим сложности - пишите в понятном вам варианте, оптимальный вариант замечаний - такой, который я смогу у себя повторить - такие имеют шанс быть обработаны максимально быстро.
Наконец приехала симка Danycom. Встречайте - новая версия MBplugin с поддержкой Danycom так же много кого еще (у меня все операторы работают через mbplugin, стабильность работы MobileBalance поразительная)
В версии
- Новые плагины yota и onlime
- Исправлена проблема с русскими буквами и спецсимволами в пароле
- Для групповых тарифов МТС сделана возможность переключить просмотр остатков интернета и СМС / использовано интернета и СМС;
В этой версии
- Телеграм бот
Сегодня подумал и сделал еще один вариант бота (версия 0.99.11) В этом варианте бот берет данные непосредственно из MobileBalance, так что в боте будут все балансы которые есть в MobileBalance, без дополнительных усилий. Т.е. вы можете все данные получать обычными плагинами, и видеть их в телеграм боте настроенном через второй вариант бота. Как обычно версия mbplugin лежит (ссылку на дистрибутив ищите в шапке) В этой версии
- ДВА варианта Телеграм бота
В этой версии только небольшие изменения
- исправления Danycom (иногда не возвращал значения)
- исправления parking_mos (не удерживал сессию, из-за чего начинали приходить в почту уведомления о заходе в личный кабинет с нового устройства)
- добавил в TG бота выдачу на сколько изменился баланс с прошлого запроса, это можно было и раньше сделать руками через ini, просто я сделал такой вариант по умолчанию (для того чтобы заработало нужно перезапустить веб-сервер)
В этой версии альтернативный плагин для mts - mts2, который открывает браузер и получает баланс через него. Плагин экспериментальный, поэтому не исключено что с ним могут возникнуть проблемы (у меня на 10+ МТС номеров работает нормально) Если у вас предыдущая версия mbplugin.0.99.12 то можете обновить только содержимое папки plugin, если более старая, то обновляйте еще папку python или всю папку mbplugin целиком. После обновления обязательно запустите setup_and_check.bat После обновления можно файлом mts2.py заменить файл mts.py, и тогда все телефоны МТС будут обновляться новым плагином, либо подключить mts2 и поменять его в настройках телефона в mobilebalance как новый плагин.
- MTS2 - новый плагин для mts через открытие браузера (через puppeteer)
- Главное - научился запускать хром скрытым окном (при запуске на долю секунды появляется в трее окно хрома, но это уже точно не лечиться)
- Окно с хромом показывается всегда в DEBUG режиме (logginglevel = DEBUG) или можно включить в ini show_chrome = 1
- Также можно в любой момент сделать окно хрома видимым запустив mbplugin\plugin\show_chrome.bat
- Можно смотреть лог mbplugin через браузер (http://localhost:19777/log?lines=40) также можно открыть через иконку в трее
- Добавил по просьбе dimon_s2020 возможность скрыть иконку в трее (в mbplugin.ini в разделе Options добавить show_tray_icon=0)
- Если в процессе обнаруживается капча, то окно браузера делается видимым и минуту ожидается ввод капчи
- У меня есть МТС симка, которая находится не у меня и нет возможности поменять на ней пароль, но она привязана в личном кабинете к моей.
- MTS2 умеет заходить в ЛК на один номер и забирать баланс с привязанного к нему номера, для этого в поле логин номер пишем в виде 9161234567/9177654321 где
- 9161234567 это номер от которого получаем баланс
- 9177654321 это номер в ЛК которого заходим и пароль соответственно указываем от него
- У меня вроде работает, но решение спорное, если кому-то такое нужно попробуйте.
- MTS2 умеет заходить в ЛК на один номер и забирать баланс с привязанного к нему номера, для этого в поле логин номер пишем в виде 9161234567/9177654321 где
- Плагин для ростелеком (https://lk.rt.ru) если у вас в личном кабинете как у меня несколько лицевых счетов, то можно указать логин/лицевой_счет, если один то можно просто указать логин
- Код MTS2 пока выглядит ужасно - это такой франкенштейн из моих экспериментов, устаканится - тогда облагорожу, ростелеком уже написан более аккуратно, так что если соберетесь делать что-то свое за основу есть смысл брать ростелеком.
Исправил установку с нуля (в прошлой 14й версии умудрился ее сломать) Починил фантомные окна (теперь не должны появляться) а также исправил по настройкам показывать/не показывать Chrome
Исправил выдачу информации в Телеграм боте (лишние строчки с Unknown). Убрал из сборки не работающий плагин mts (для МТС используйте плагин mts2)
Много изменений по коду обновлять всю папку plugin целиком
Добавил возможность работы телеграм бота через проки
Добавил подписки для бота - возможность отправлять информацию по указанным фильтрам номеров
Исправлена работа провайдера для MTS (двухэтапное окно логина, сначала логин, потом пароль)
Добавлены дополнительные настройки для телеграм подписок, например можно указать send_empty:0 индивидуально для каждой подписки
Много изменений по коду обновлять всю папку plugin целиком
Небольшие правки в модуле по работе с puppeteer
Добавлен тестовый плагин test3 для тестирования puppeteer chrome (Его так же можно брать за основу)
Добавлен оператор a1.by (сотовая связь Беларусь) Автор плагина Exemok
В этой версии появилась возможность использовать mbplugin самостоятельно без mobilebalance, естественно возможен запуск только плагинов из mobilebalance
Новый плагин mosenergosbyt для использования в поле логина пишите логин/лицевой_счет
Новый плагин vscale (Облачные серверы для разработчиков), сделан больше для демонстрации новых возможностей.
Новый плагин currency заменил собой плагины eur, usd, moex и yahoo, для курса валют с сайта ЦБ пишите в поле логин код валюты USD, EUR и т.п.
Если хотите курсы c RBC пишите в логине RBC_USD, если хотите котировки валют с сайта биржи MOEX пишите MOEX_USD/RUB, Хотите котировки ценных бумаг MOEX_TATNP,
Хотите котировки с сайта finance.yahoo.com пишите YAHOO_AAPL
Выкинул из сборки содержимое папки python\scripts, для работы mbplugin оно все равно не требуется, а обновляемся мы все равно через замену папки, а уж коли на него иногда антивирус срабатывает, то лучше его убрать чтобы вопросов было меньше
И наконец самое главное, но видимое только авторам плагинов. Писать плагины для движка хрома стало на порядок легче, код переработанных плагинов можно посмотреть в плагинах (test4, rostelecom, vscale, mosenergosbyt)
mbplugin v0.99.22 (12.10.20) Small fix (faster and more stable, balance request over telegram for standalone version)
Важно! В целях унификации заход в ЛК МТС через другой номер теперь пишем сначала номер в который логинимся/номер баланс которого хотим посмотреть (чтобы мтс, ростелеком и мосэнергосбыт схема была одинаковая)
В плагинах ростелеком и мосэнергосбыт в случае одного лицевого счета в ЛК можно не указывать лицевой счет в логине
В плагинах через хром подправлен механизм логина, чтобы он в случае неуспеха не ломился по много раз.
Скорость работы плагинов на хроме увеличилась, у МТС примерно в 2-3 раза.
Как показала практика, для плагинов через хром включение логирования DEBUG приводит к огромному количеству записей от самого движка puppeteer, и ряда библиотек, исправлено.
Добавил параметры для разборок плагинов через хром - log_responses=1 - запишет все просмотренные страницы, также не забывайте про show_chrome=1 они дадут достаточно понятную информацию
Автономная версия:
Теперь можно запрашивать балансы командой /receivebalance, без параметров - все телефоны, либо после через пробел какие балансы получить (как при запуске из батника mbstandalone.bat GETBALANCE). Естественно такая возможность, как и просмотр баланса доступна только если id вашего телеграмма прописан в ini в строчке auth_id
В случае если низкий баланс, скорое время отключения либо баланс давно не менялся в боте напротив номера появляется соответствующий комментарий
Фильтр получаемых номеров в запросе в автономной версии добавлен Alias. Также можно не писать логин/алиас/оператор а можно его часть
В случае ошибки останавливалось получение балансов. Исправлено.
Рекомендую заглянуть в settings.py там описаны все параметры ini файла с комментариями.
Если setup_and_check.bat запустить с параметром noweb то он не добавляет запуск webserver в автозапуск
Аналогично mbstandalone.bat init noweb - также не добавляет web сервер в автозапуск.
Плагин mts2 умеет забирать информацию из общего пакета для телефонов указанных в параметре mts_usedbyme, или по всем телефонам если mts_usedbyme=1
Можно показывать остаток по общему пакету МТС, а не по телефону если в поле номера телефона указать 9161234567/common, или общий расход пакета 9161234567/common_rest
В автономной версии теперь можно прописывать параметры BalanceNotChangedMoreThen, BalanceChangedLessThen, BalanceLessThen, TurnOffLessThen для каждого телефона (пример см standalone\phones.ini)
Добавил в tele2 информацию по SMS (при участии 2350040)
Вынес параметр interUnit (единицы измерения для интернета) в ini. По умолчанию GB. Пока это включено для mts и tele2
Для плагинов через хром можно задать прокси сервер в формате http://user:[email protected]:6789
Для плагинов через хром добавлена возможность показа хрома в случае появления капчи (при участии comr)
Для плагинов через хром улучшена обработка ошибок при неожиданном закрытии хрома
Очередная попытка починить плагин mosenergosbyt для ряда случаев (при участии dimon_s2020)
Для плагинов через хром исправлена работа с другими браузерами на движке chromium (edge, yandex, brave и т.п., опера хоть и на chromium но нормально не заработала)
Плагин yota теперь тоже через хром
Исправление ошибки показа браузера (баг репорт comr)
В этой версии изменения коснулись только Standalone версии.
В standalone версии можно включить показ истории по балансу (RealAverageDays=30), все остальные тонкие настройки см как обычно в settings.py
Помните, что чем больше дней, тем дольше строится страница с балансом
В плагине mts2 добавлено получение баланса кэшбэка в переменную Balance2
Исправлена работа провайдера Onlime (my.rt.ru ростелеком Москва) - теперь он тоже на хроме
Плагин stock теперь может забирать цену ETF(фонды) с moex.com
Плагин stock может сохранять детальный лог по ценным бумагам чтобы по нему строить развернутую аналитику (для подготовки аналитики из лога скрипт make_stock_stat.py)
Fix. В плагине megafon были проблемы когда имя было с кавычками (так бывает когда телефон на организацию)
a1by добавлено закрытие баннера
В процессе тестирования у нового плагина OnLime для mbplugin выявлен странный глюк - он работал только при включенном показе хрома. Вроде исправил.
Большие улучшения по автономной версии.
Добавлена команда в TG бота /getone - по ней выдается список всех балансов с выбором какой баланс показать + список услуг
Добавлена команда в TG бота /checkone - то же что и getone но в дополнение если известен пароль пытается запросить баланс
Также по getone и checkone по номеру выдается информация о тарифе, сроке отключения и т.п. все что в строчке обычно показывается
Добавлена команда в TG бота /restart - перезапуск службы веб сервиса и http сервера.
Работу автономной standalone версии и обычной версии можно совместить. Теперь пароль для автономной версии можно задать не только в phones.ini но и в phones_add.ini (ключи заданные в phones_add.ini имеют больший приоритет чем в phones.ini что позволяет использовать возможности standalone версии при использовании mobilebalance - проблема была в том что mobilebalance перетирает не свои ключи в phones.ini таким образом можно задать пароль в phones_add.ini)
Добавлено выделение цветом запросов по которым были ошибки и запросы которые в очереди
При наведении на колонку услуги - показывает список подключенных услуг (всплывающим окном, также как с историей по балансу)
Плагин stock правки по получению котировок, также выгрузка статистики в файл, но похоже кроме меня им никто не пользуется, так что изменений много, если кому что нужно объяснить - пишите
Плагин parking_mos в связи с его поломкой переписан на движок хрома. В процессе отладки он перестал меня заваливать SMS так что я не уверен что показ окна с SMS работает как с капчей, но если возникнут проблемы с первым входом, то есть смысл включить настройку show_chrome=1 или после запуска запроса баланса запустить show_chrome.bat
Плагин Sodexo теперь умеет сохранять список транзакций и показывать его в balance.html
Починил onlime - он перестал забирать баланс
Починил mts2 на предмет корректного показа минут и трафика в общих пакетах
mbplugin v0.99.30 (15.04.21) Lovit, chrome banner, fix yota, standalone minor improvements, chrome 90 path fix.
В standalone версии добавлена команда getbalancefailed - запросить только неудачные попытки
В TG бота добавлены к команде receivebalance - запрос всех балансов receivebalancefailed по аналогии с mbstandalone.bat
В меню на Tray Icon добавлена команда Restart server
В меню на Tray Icon добавлена команда Recompile jsmblh plugin - пересобрать плагины, теперь не нужно для этого запускать setup_and_check.bat
В меню на Tray Icon добавлена команда начать новый лог (Flush log) - старый лог переименовывается в файл с текущей датой и его можно удалить
Улучшена диагностика при ошибках плагина
Добавил логирования для обычных не хром плагинов сохраняю json как в плагинах для хрома
Возможно поборол проблему с остатками интернета для билайна
Добавлен оператор lovit (lovit.ru) (интернет и телевидение)
Добавлен оператор b2b.megafon.ru (корпоративный мегафон)
Убрал баннер Работа Chrome была завершена некорректно
Исправлена работа оператора yota
Добавлена команда restart в httpserver_mobile
Добавлены тесты pytest, плагины переписаны под работу тестов, с сохранением совместимости со старой версией
В экспериментальном режиме добавлено редактирование mbplugin.ini (чтобы включить - добавить httpconfigedit=1) в варианте по умолчанию с локальной машины без пароля с удаленной требуется задать пароль
BUGFIX: В хроме 90 перестал воспринимать относительный путь к папке профилей, исправлено
BUGFIX: При установке с нуля и отсутствии файла mbplugin.ini программа уходила в рекурсию.
Плагин beeline_uz.py Билайн Узбекистан
FIX: beeline.py - перестал получать баланс (поменялось API)
uminet.py - новый провайдер
mts2.py - добавлена проверка при входе через МТС (пропускаем окно с предложением зайти в ЛК этого телефона)
Технический релиз нужен для работы механизма автоматических обновлений.
Не используйте данный релиз - обновляйтесь на более новые версии
Данный релиз очень сильно отличается от предыдущего, так что при переходе возможны проблемы, если вы новичок, то возможно вам стоит пропустить этот релиз если нет поводов срочно переходить, или по крайней мере подождать пока будут отловлены основные проблемы.
Что касается стабильности этой версии - то здесь все хорошо, сам сижу на ней с начала июня, все работает стабильно
Разных вариантов настройки много, и протестировать их все мне затруднительно, поэтому чем меньше вы отклоняетесь от варианта по умолчанию, тем меньше вероятность появления проблем в работе
Теперь по версии:
Важно!: Для упрощения структуры кода (я уже и сам начал путаться где что) путь к mbplugin (path в разделе MobileBalance) больше не используется, считаем что папка mbplugin находится в папке где находится phones.ini, ориентируйтесь, на такой сценарий, но в случае нескольких уровней вложенности работать должно.
FIX: Исправлена работа плагина megafonb2b.py
ADD: Сделан механизм обновления, теперь не нужно ничего скачивать, распаковывать, просто запустить скрипт mbp version-update
и все
ADD: Standalone. Шедулер для автоматического получения балансов (параметр schedule в ini, примеры см в settings.py)
ADD: Работа на Linux и Mac
ADD: Не требуется устанавливать браузер, используется встроенный.
ADD: Для плагинов работающих через браузер можно в виде скриншотов посмотреть как выглядело получение баланса (View screenshot log)
ADD: В Phones.ini/phones_add.ini можно задавать индивидуальные настройки перекрывающие общие, например можно включить для одного номера показ браузера через show_chrome
CHANGE: Параметр dbfilename больше не используется, база всегда лежит в папке рядом с phones.ini
CHANGE: исправлена опечатка в названии ключа subscription (было subscriBtion) (нужно исправить в mbplugin.ini, если написано по старому)
По внутренностям:
Пока не все в linux версии работает - из известного, проблема с иконкой в трее, при работе в докере вместо рестарта веб-сервера, он просто останавливается, нужно запускать заново.
Также в версии для linux и Mac мне пока не до конца понятен правильный путь установки версии для linux, есть проблемы при запуске в докере не в headless режиме
В этом релизе много внутренних изменений, которые дают кроссплатформенность и стабильность. Для совместимости с linux и mac было выпилено много кода завязанного на windows.
Движок работы через браузер изменен с pyppeteer на playwright (причины перехода, низкая активность автора pyppeteer, более стабильная работа playwright, активность команды playwright, наличие отладчика, возможность использования в качестве движка firefox и др, асинхронный режим работы и много чего еще хорошего)
Теперь для работы не требуется установленный хром, по умолчанию используется движок chromium загружаемый при установке. Внимание при первом запуске setup_and_check скачивается chromium - это примерно 100 МБ трафика, при желании можно прописать использование установленного в систему хрома, но я настоятельно не рекомендую такой вариант. Также можно использовать другие движки встроенные в playwright, например firefox.
Режим headless включен по умолчанию - браузер запускается в скрытом режиме и не происходит ни переключений фокуса окон, ни кратковременного появления окна браузера на экране, но данный режим имеет особенности - запущенный таким образом браузер уже не может быть отображен, так что если ожидается появление капчи, то придется сразу запускать в старом режиме без headless, еще есть проблемы с некоторыми сайтами в режиме headless (на настоящий момент это ростелеком и parking.mos.ru) они категорически не хотят работать в таком режиме.
Благодаря переходу на playwright появилась возможность не загружать картинки, шрифты, стили, рекламу и прочую ненужную для получения фигню, так сайты открываются быстрее и потребляют меньше трафика.
В этом релизе я принял решение, что для того чтобы не объяснять как включить логирование каждый раз в случае возникновения проблем, а в headless режиме не видно что происходит в браузере запись запросов по умолчанию включена (log_response=1). Также по умолчанию включено снятие скриншотов по ходу получения баланса. Это не должно создавать проблем т.к. эти данные при каждом запросе перетираются и не растут (у меня на 40 телефонов это занимает примерно 25 мб). Если это напрягает можно выключить.
Мелкие шероховатости вылезшие после прошлого релиза (корректировка названия тарифного плана МТС и ростелеком)
FIX: Логирование при падении playwright из-за псевдографики
FIX: Из-за нестабильности работы с системным прокси добавлена настройка прокси для requests в mbplugin.ini - requests_proxy, есть вариант auto, тогда будет сделана попытка настроить по системным настройкам
FIX: Чтобы избежать путаницы параметр proxy_server изменен на browser_proxy, к сожалению, из-за кучи проблем при работе с прокси оставить один параметр на все затруднительно, т.к. в каждом из случаев может потребоваться отдельная корректировка
FIX: Улучшен алгоритм очистки папок кэша браузера от мусора
FIX: Устранение ошибок при работе jsmbLH (bugreport от Nagumich)
CHANGE: изменен параметр schedule, теперь в нем вторым параметром задается команда
CHANGE: при запросе балансов, после опроса делается еще две попытки по неудачным номерам
ADD: отправка лога по телефону со скриншотами в телеграм /getlog
ADD: просмотр расписаний заданий в боте /schedule и /schedulereload
ADD: в встроенном планировщике можно не только запрашивать балансы, но и выполнять отправлять их в телеграм, также можно настроить автоматическую проверку наличия новой версии
ADD: Запись диагностического файла при запуске mbplugin\standalone\mbp.bat и setup_and_check.bat
ADD: Добавление данных из другой БД sqlite или mdb (mbp copy-all-from-other-db)
ADD: При запросе из телеграм показывается, какая операция происходит в настоящий момент
FIX: Не повторялись запросы по неудачным (retry_failed)
ADD: Сильно улучшена проверка валидности ini файлов
ADD: В TG теперь можно отправлять команды редактированием предыдущей (НО редактирование без изменения не отрабатывает, т.е. нельзя вызвать на редактирование команду и без изменения выполнить)
ADD: В логе журналируются все индивидуальные параметры телефона, чтобы можно было понять, что запускалось
ADD: Новый параметр sqlite_cache_size, для увеличения производительности большой БД
CHANGE: Авторам плагинов: Для того чтобы передавать доп параметры в плагин добавил передачу произвольных параметров, для этого поменялось описание функции плагина в плагинах def get_balance(login, password, storename=None, **kwargs):
ADD: Новый функционал, теперь можно в одном плагине размещать несколько различных движков, например WEB и API (beeline) для получения баланса и нужный выбирать указывая plugin_mode в phones.ini
ADD: Номер у которого никогда не менялся баланс теперь показывается как будто не изменялся с даты первого опроса (спасибо d1mas)
CHANGE: TZ в контейнере изменена с дефолтовой UTC на Moscow (спасибо d1mas)
FIX: При работе в unix-like системах, если путь с symlink возникали проблемы, исправлено.
FIX: Найдена проблема приводящая к преждевременному выходу в момент логона не дожидаясь попадания в личный кабинет (page_wait_for expression)
FIX: Docker build, чтобы при сборке docker контейнера не обновлялся находящийся в контейнере хром необходимо чтобы версии контейнера и playwright соответствовали.
CHANGE: Docker отрабатывает под uid текущего пользователя
FIX: Решена проблема Zombie при запуске mbplugin в docker контейнере (параметр --init для docker run)
ADD: tele2 mbplugin и классический плагин в расчет по услугам добавляются подписки
ADD: API и FASTAPI режим получения данных по МТС, работает значительно быстрее, но труднее в сопровождении, и недоступен блок данных по общему пакету
ADD: WEB режим получения баланса через браузер для beeline
ADD: Добавлены стоп слова по которым ищем нежелательные услуги (subscriptions_keyword) и выдаем предупреждение
ADD: Новый плагин east (East Telecom internet provider)
ADD: Новый плагин beget (хостинг-провайдера BEGET) от d1mas
FIX: В прошлой версии была переделка под персональные настройки для телефонов. Но в результате она была сделана неправильно, в итоге персональные настройки частично перестали работать - исправлено
FIX: Т.к. 15 версия playwright на 32 битных системах тянула неправильный движок браузера принято решение вернуться на 14 версию.
FIX: beeline. Оказалось не во всегда по билайну есть остатки по интернету в ответе, плагин билайна на таких случаях падал и не доходил до конца - исправлено
FIX: Несколько исправлений по работе редактора ini. Все еще очень сырой, так что если будете пробовать - использовать с осторожностью
FIX: В некоторых случаях настройки не обновлялись после изменения - частично исправлено
ADD: При попытке добавить mbp set несуществующую опцию - выдается предупреждение что такой опции нет
ADD: Проверка заданий шедулера на валидность
FIX: megafon поменял ссылку в API, по которой отдавал название тарифа
FIX: Исправление ошибок отработки индивидуальных опций для плагинов
ADD: Добавлен параметр node_tls_reject_unauthorized, установите в 0 для отключения проверки сертификатов при загрузке браузерных движков
ADD: Добавлен параметр playwright_browsers_path, можно установить путь по которому находится папка с движками браузеров (по умолчанию в LOCALAPPDATA\ms-playwright)
ADD: Флаг node_tls_reject_unauthorized теперь также отключает проверку сертификатов при работе плагинов не через браузер (может потребоваться в корпоративных сетях, в которых ИБ проводит анализ сетевых пакетов через подмену сертификата)
FIX: В onlime перекинул информацию о днях до отключения из Expired в TurnOff
FIX: В smile-net перекинул информацию о днях до отключения из Expired в TurnOff
FIX: Добавил конвертацию поля Expired в BeeExpired, так же как было для BalExpired (Expired похоже просто терялось, уже не смог вспомнить детали почему так было сделано)
FIX: МТС поменял выдачу по общему пакету, поменял пересчет
FIX: В onlime вернул как было, оказывается в MobileBalance это ломает показ
FIX: beget plugin from d1mas
FIX: Dockerfile for arm (raspberry pi) from d1mas
ADD: Новый параметр tray_default задает пункт меню по умолчанию
FIX: В некоторых случаях firefox не хотел стартовать если не создана папка для профиля
ADD: Добавлен оператор SMS.RU (sms рассылки) Автор плагина Pasha
ADD: Добавлен оператор Mango Office (IP телефония) Автор плагина Pasha
ADD: В команде tg бота /balance можно указать фильтр для выдачи информации не по всем номерам, а только по фильтру условия указываются через пробел или запятую (спасибо Pasha за идею)
Подробное описание смотри telegram.md
ADD: Алиасы для tg bot (см cmd_alias в секции Telegram)
ADD: Команды для tg bot меню [/]
, т.к. если писать их все то получается большой список, который приходится скопировать (см command_menu_list в секции Telegram)
ADD: Как выяснилось web server не запускается, если в имени компьютера есть русские буквы. Проверяем это и пишем в лог. Решение - только переименовать компьютер.
ADD: mts плагин. Добавил отображения статуса блокировки BlockStatus по полю accountBlockStatus
ADD: при переходе на указанную версию не обязательно указывать точно, достаточно указать просто указать уникальную часть, например 1.00.11
FIX: Улучшена валидация ini
FIX: mbp bugreport удаление логина и пароля
FIX: Исправлена работа Мегафона, он не получал остатки минут и интернета в некоторых ЛК, и самое неприятное при этом падал вообще не давая результат. Теперь должен выдавать правильно, и даже если будут ошибки вернет результат без остатков (спасибо TheTERMINATOR за настойчивость и предоставленные логи)
FIX: Также превентивно поправил возможность падений в плагине билайн
ADD: Добавлен новый плагин ntvplus быстрая проверка баланса по номеру договора и фамилии (спасибо TheTERMINATOR за наводку и помощь в получении данных)
ADD: Вызов обновления версии из веб интерфейса
FIX: Добавил второй вид капчи от МТС в отлов и показ
FIX: Не все параметры из phones_add.ini приходили при запросе к phones.ini (спасибо Vlad) issue #19
ADD: В ntvplus добавил BlockStatus по полю Состояние (спасибо TheTERMINATOR) issue #17
ADD: МТС показ даты продления тарифа (спасибо andrej2) issue #16
ADD: Во всех плагинах в playwright можно задать user_agent для браузера issue #13, обратите внимание что на странице chrome://version/ всегда показывается ОРИГИНАЛЬНЫЙ user-agent, опция влияет только на то как браузер представляется внешним сайтам (посмотреть это можно например здесь https://www.whatismybrowser.com/detect/what-is-my-user-agent)
ADD: Отладочный режим playwright_pause для поиска дополнительных данных на странице issue #18
FIX: Из-за нелепой ошибки запустить playwright в headless режиме было нельзя, исправлено
FIX: Изменен режим подсчета минут на мегафоне, если минут больше 10000 то мы их выкидываем (видимо такое понимание бесконечности у мегафон), остальные минуты суммируем. Иначе непонятно какие минуты отдавать, один хочет на город, другой на мегафон
ADD: После успешного обновления версии делается перезапуск web сервера (чтобы не было расхождения между работающим кодом и полученным с обновлением)
FIX: Smsru plugin. При авторизации появилась капча. Решение - запрашивать баланс через API, вместо пароля потребуется указать api_id. (Pasha)
FIX: Изменения для user-agent сломали плагин stock, сразу не заметил, исправлено
FIX: Tele2 сломал API через который можно было получать баланс, пришлось переделать на получение через браузер (при первом заходе придет sms на номер, если не указать другой номер для sms в параметре tele2_sms_num)
FIX: Pasha прислал способ как починить tele2 API. API снова работает и включен по умолчанию
CHANGE: Поменял порядок пунктов в меню в web сервере на основной странице, правда предчувствие подсказывает мне что будут недовольные.
FIX: Восстановлена работоспособность тестов py.test. Тесты включены как часть деплоя в build build
ADD: Мелкие изменения по плагину currency, добавлен режим MOEX_currency_selt_x_EUR_RUB__TOM (подробнее см внутри plugin/currency.py)
FIX: Добавлена задержка в 1 секунду в работу плагина beget т.к. логика работы mbplugin строится из расчета что в одну секунду может быть получено не более одного баланса и время уникально, а beget успевает быстрее чем за секунду и в отчете начинают появляться фантомы
FIX: МТС продолжает менять ЛК, исправляем - исправлен вход через отдельные окна логина и пароля и работа через логин по другому номеру с переходом на привязанный
ADD: Yota если статус не Active - записываю его в BlockStatus и записываю скорость в тарифный план
ADD: С помощью dimon_s2020 запилили плагин для МГТС. Получилось даже без передачи логина с паролем
FIX: Исправлена работа МТС (изменился url и содержимое веб страницы)
FIX: Чуть подправил показ лицевого счета в МГТС
ADD: Сделал setup_and_check_full.bat с очисткой кэша браузера а из setup_and_check.bat очистку убрал, раз с ней столько вопросов возникает
FIX: исправлена работа smile-net (virginconnect)
ADD: для check_plugin можно задавать параметры перекрывающие ini (это нужно для тестирования плагинов которые в phone.ini еще не прописаны)
ADD: параметр jitter - можно задавать задержку перед началом проверки от n до m секунд в формате n,m по умолчанию 1,1 задержку между задать как общим параметром в mbplugin.ini так и индивидуально для конкретного номера
FIX: strelka, перестал отдавать без подмены user-agent
FIX: Получение остатков по минутам и SMS в билайне в варианте plugin_mode=WEB
ADD: Попытка сделать список услуг в web версии beeline
ADD: Быстрый заход в ЛК без повторного логина в WEB версии beeline
ADD: Попытка сделать список остатков в web версии beeline
BUG: Ошибка при обновлении - если при попытке обновления указать указать 1.00.27 (без v) то обновление скачивалось но ругалось на отсутствующий файл и не устанавливалось
ADD: yota, добавлен TurnOff (исправления прислал Daemoon1)
BUG: Ошибка при наличии символа процента в ini, открываем ini с параметром interpolation=None (issue #23 спасибо volgamax)
ADD: Сортировка по полям balance.html (за идею спасибо LazyPapa)
FIX: починка баланса МТС
ADD: mbp browser - открытие движка браузера
FIX: починил сортировку по колонке время запроса
ADD: Кнопка Cancel для прерывания очереди запросов в телеграмме и веб интерфейсе (не останавливает текущий запрос, остановит после того как отработает тот что выполняется сейчас).
FIX: Dimas прислал исправленный плагин onlime. У меня onlime нет, так что у себя проверить не могу, только внешне посмотрел, оставлю на суд пользователей onlime
FIX: МТС снова показывает свое истинное отношение, снова исправления
FIX: МТС еще одна попытка починить личный кабинет, пока не ясно где информация по общему пакету
FIX: Мгтс отрицательный баланс
FIX: рефакторинг МТС, убрал часть старого кода, улучшил логирование, немного ускорил
ADD: Получение баланса ростелеком через qiwi. plugin_mode=QIWI
ADD: новый провайдер life.com.by(lifeby)
FIX: добавлен расчет остатков в провайдере a1by
FIX: валидация минут и смс после получения (если плагин возвращал в них некорректные значения, то возвращалась общая ошибка)
FIX: МТС после пароля появилось окно с предложение ввести email, нажимаем пропустить (честно говоря не вижу в этом проблемы и рекомендую прописать email в ЛК на странице безопасность)
FIX: Исправления провайдера a1.by (сотовая связь Беларусь) от Exemok
FIX: Исправлена работа Мегафон (ссылка личного кабинета переехала https://old.lk.megafon.ru/) Пока временное быстрое решение.
FIX: Исправлена работа ростелекома
ADD: В плагине мегафона реализована работа через движок хрома и через новый API, по умолчанию оставил пока движок старого API
FIX: Tele2 исправлена работа через Chrome (напомню что дефолт через апи, поэтому если Вы ничего дополнительно не включали, то для Вас ничего не поменяется)
FIX: Beeline подправил расчет интернета
FIX: Sipnet в процессе получения ругается на неправильный сертификат, пришлось отключить проверку сертификатов.
FIX: Похоже поменялась страница входа в beeline_uz поправил, но проверить не могу, т.к. не имею телефонов
REFACTORING: Переработано большое количество кода, с целью большей управляемости, но без изменения функционала, pytest+coverage
ADD: Диагностические сообщения и коды возврата для консольной команды mbp get-balance и check-plugin
FIX: Tele2 снова исправлена работа через Chrome (напомню что дефолт через апи, поэтому если Вы ничего дополнительно не включали, то для Вас ничего не поменяется)
ADD: В колонке псевдоним показываем ссылкой на сайт оператора, по умолчанию включено, при желании можно выключить параметром htmlreportoperatorlink
FIX: Попытка починить Ростелеком Тверь. Надеюсь что я при этом остальным ничего не сломал.
ADD: Сделал опцию прибавить balances (бывшая balance2) к основному либо поменять их местами с основным, поведение по умолчанию не изменилось.
ADD: Можно использовать mbplugin как библиотеку в собственном коде (пока в стадии beta).
FIX: Похоже zadarma проводит ребрендинг на novofon, сам сайт по старому открывается, но авторизация переехала на новый адрес
FIX: Исправлена работа tele2 API
FIX: У Теле2 для sms теперь float (как оказалось я этот вариант пропустил). Это наверное чтобы 2.5 SMS отправлять
FIX: Индивидуально выставленное значение для balances (бывшая balance2) не применялось, исправил
FIX: Исправление работы оператора a1by от Exemok
FIX: Добавил информационности сообщениям при диагностике ini чтобы проще было понять что не так
FIX: И еще одно исправление для работы опции balances (работало не везде, например в MTS)
ADD: Новая опция в секции HttpServer - autostart_http если мы хотим пользоваться веб сервером, но не хотим его прописывать в автозапуск
!!!: Опция balance2 переименована в balances, надеюсь это достаточно экзотичная опция и ей пока не стали массово пользоваться) исправьте у себя в настройках если уже начали пользоваться
FIX: Исправлено залипание переменных при использовании плагинов как python module
FIX: rostelekom api lk
ADD: onlime Add monthly fee (from d1mdev)
FIX: Fix main page web-server
FIX: Fix send_tgbalance_onlysend.bat
CHANGE: В связи с кончиной старого ЛК в мегафоне по умолчанию включен вариант NEW_API
FIX: show favicon
FIX: Личный кабинет билайна в вебе стал очень медленно открываться, сделал костыль на ожидание страницы с балансом. Он ждет три минуты, и если страница так и не появилось прекращает работу.
FIX: Убрал DOCTYPE html из кода html страницы, оказалось что это не такое безобидное изменение как мне казалось, спасибо pasha00000 что разобрался с этим и написал про это issue #32
ADD: Добавил для MTS в поле Balance3 сумму Balance и Balance2, правда с появлением этой фичи опция balances становится немного сбивающей с толку
FIX: Попытка починить открывание правильной формы логина для onlime
ADD: Сделал группы для просмотра, это не совсем то что было описано в issue #33 но зато не потребовало больших усилий и минимальные изменения кода
FIX: Восстановил работу smile-net
FIX: Восстановлена работа beeline_uz
FIX: megafonb2b получает остатки SMS, Internet и Min
FIX: avtodor-tr информация по абонементу (travel_cards) from Pavel
CHANGE: поменял принцип построения очереди номеров на обновление, это в перспективе должно позволить более гибко управлять очередью
FIX: МТС работает, но только при расположенном на экране не спрятанном браузере без headless режима и крайне нестабильно (все попытки тем или иным образом убрать браузер с экрана приводят к тому что данные не поступают)
BREAKING_CHANGE: Отказался от оператора mts2, который был завернут на mts. Так что у кого использовалось так - нужно поменять на mts.
FIX: Исправлена работа плагина yota
FIX: Исправлена работа оператора ростелеком. Выкинул все рудименты, похоже все переехало на новый ЛК
ADD: Новая опция login_pause если мы не оказались при заходе сразу в ЛК то начинает авторизацию только спустя указанное количество секунд. Удобно в случае если автоматический логон не срабатывает, а браузер продолжительное время удерживает сессию. Например как у теле2
FIX: mts добавил диагностики по запуску хрома и улучшил диагностику и ожидание состояний
FIX: mts доработана проверка ошибок (в ряде случаев возвращался нулевой баланс вместо ошибки)
FIX: Очередная попытка заставить открываться сайт МТС у тех у кого он без пинка не открывается, но так как я не могу получить у себя такой эффект, то не уверен что поможет
ADD: Добавил (или получается вроде как вернул) показ прогресса работы информацию по работе МТС в телеграм
FIX: починил работу команды receivebalancefailed
FIX: нашел ошибку в ожидании загрузки страниц и починил common_rest common
FIX: МТС в качестве пакета интернета приоритетно берем тот у которого packageGroup=Main
FIX: починил работу WEB версии Beeline (напомню что по умолчанию по прежнему API)
BREAKING_CHANGE: intercept_request=0 по умолчанию. Решил отказаться от идеи не загружать ненужные части страницы по умолчанию, идея была в том что это позволяло сайту быстрее загружаться, а на деле оказалось что большинство кривых утяжеленных сайтов ОпСоСов висят ожидая какой-нибудь трижды ненужной страницы. Если хотите пытаться экономить трафик, можете явно включить этот параметр в конфиге, но учитывайте что могут появиться проблемы.
FIX: поменял расчет аккумуляторов для билайн, работает он как-то странно через раз, почему пока не понял, но динамику отслеживать позволяет и это уже неплохо
FIX: очередная правка на выдачу ошибки вместо нуля на МТС
FIX: исправил нажатие на submit на megafonb2b
FIX: pasha00000 прислал добавление по проверку на окончания срока действия абонемента avtodor-tr
FIX: pasha00000 прислал PR на исправление работы mangooffice
FIX: еще раз (похоже не в последний) починил и ускорил работу WEB версии Beeline (напомню что по умолчанию по прежнему API)
ADD: Опция null_is_error - считать нулевой баланс ошибкой, может быть использована как глобально, так и для конкретного телефона
FIX: Исправлена работа через proxy на МТС и запуск хрома на linix и mac (issues 38 from yoman88111)
ADD: Добавил утилиту csv_to_phones_ini.py из issue 36
mbplugin v1.00.60 (10.08.23) fix beeline web, fix a1by, fix beeline_uz, balance2 as error in mts cashback
FIX: Очередной фикс билайн web (остаток минут)
FIX: Восстановлена работа a1by (новый личный кабинет)
FIX: Восстановлена работа beeline_uz
FIX: Небольшие изменения в логике получения кэшбэчного баланса МТС (balance2) - теперь если указано в опции balances=swap или balances=add то отсутствие основного или кэшбэчного баланса должно считаться неполученным результатом
mbplugin v1.00.61 (23.09.23) megafon list of services, beeline login form, mts internet priority and timeout
FIX: Коррекция показа услуг мегафон
FIX: Коррекция работы окна логина beeline в web версии
FIX: Выбор остатков по интернету с максимальным приоритетом (спасибо Gl0) issue #39 и увеличил таймаут по ожиданию страниц МТС
mbplugin v1.00.62 (18.10.23) new nashdom, fix avtodor-tr abonement, mts exclude tethering from internet, beget disk usage, MTS timeout
ADD: Новый плагин, nashdom (https://rkc-m.ru НашДомРУ) PR #42 from d1mdev
FIX: avtodor-tr абонемент from pasha00000
FIX: MTS internet exclude Tethering
FIX: MTS id_countdown_timeout поменял с 30 на 20 оказалось что при 30 и неудаче в процессе опроса процесс длится слишком долго у некоторых, пока идет опрос MobileBalance успевает решить что все плохо и отстрелить процесс, хотя при меньшем значении баланс забирался, а переделать и вынести в переменные руки пока не дошли.
ADD: beget.py Расход дисковой квоты в произвольное поле PR #41 from d1mdev
FIX: Восстановлена работа beeline_uz
FIX: Восстановлена работа beeline_uz (исправлены тэги окна логона)
ADD: для опции tg_format None конвертируется в 0
ADD: опция soft для mbp clear-browser-cache - очистка хранилища без удаления сессий, только кэш
FIX: a1by.py восстановлена работа плагина (исправлены тэги окна логона)
FIX: очередная попытка починить beeline web
CHANGE: изменен движок бота телеграма с python-telegram-bot (telegram) на pyTelegramBotAPI(telebot) это большое изменение, изменен почти весь код связанный с ботом, так что возможно появление багов по боту в любым местах, где до этого работало нормально
FIX: Исправлена работа бота телеграм, частично сломанная при переходе на telebot
FIX: улучшено логирование по работе МТС
FIX: исправлена ошибочная выдача сообщения возможно скорое отключение
FIX: добавлено альтернативное получение аккумуляторов в билайне, он их через раз в разных страницах отдает
FIX: tele2 восстановлена работа логона в web варианте, исправлен расчет остатков
FIX: восстановлена проверка баланса ростелеком
mbplugin v1.00.66 (25.01.24) beeline api rest fix, mbp get-balance filter, arm dockerfile, tg_format moved to Options
BREAKING_CHANGE: ключ tg_format перенесен из секции Telegram в секцию Options чтобы его можно было задавать индивидуально для конкретного телефона
FIX: Восстановлено получение остатков в API версии Beeline PR #44, спасибо truman369
FIX: Update Dockerfile_arm PR #43 from d1mdev
FIX: исправлена работа фильтра в mbp get-balance filter
CHANGE: setup_and_check.bat проверяет пакеты python по версиям и если найдено несовпадение версий или отсутствующие пакеты - запускает установку пакетов
FIX: mbp db-query снова работает
ADD: mbp pip-update опция --check-only
FIX: refactoring, update requirements
FIX: dbengine phone_delta исправлены расчеты
FIX: tg alias сломались при переходе на telebot, починил
FIX: tele2 остатки, теперь показывает вечные+текущие
FIX: Восстановлен логин в ЛК мегафон web вариант
EXPERIMENTAL: Открытие профиля браузера, важно, если вы открыли браузер для какого-то профиля, то проверка по нему не отработает, пока браузер открыт
FIX: Tele2 Исправлено получение абонентской платы
ADD: Опция wait_screenshot - задержка перед скриншотом в секундах, чтобы успела прогрузится страница и скриншот получился с данными
FIX: Исправлена проверка баланса chailand (av-park.ru)
FIX: при использовании PLAYWRIGHT_BROWSERS_PATH возникала ошибка при открытии браузера в mts и при открытии профиля браузера
FIX: python 3.12 compatibility.
FIX: Провайдер nashdom. Исправлен выбор суммы задолженности (без учета комиссии при оплате через РКЦ).(d1mdev).
FIX: МТС. Восстановлен, а точнее написан заново, функционал проверки баланса МТС через привязанный номер, когда мы логинимся в номер 9161234567, а проверяем баланс 9177654321. В поле логин номер пишем в виде 9161234567/9177654321.
FIX: Исправлена форма входа оператор uminet.
FIX: Ростелеком. Восстановлена работа в варианте qiwi (используется сайт https://platiuslugi.ru), т.е. запрос платежного провайдера без авторизации по номеру ЛС , флаг qiwi ставил чтобы не нужно было ничего исправлять, если есть желание можно использовать флаг PLATIUSLUGI, оба варианта plugin_mode=QIWI и plugin_mode=platiuslugi равнозначны.
FIX: МТС похоже решил перестать возвращать точный баланс в поле balance и теперь его можно взять только приблизительный из amount
mbplugin v1.00.72 (14.05.24) mts balance and amount round2, fix rostelecom + rostelecom bonus, small bug fix
FIX: МТС вернул схему получения баланса - amount берем только при получения баланса через ЛК другого телефона
ADD: МТС добавил опцию mts_balance_from откуда брать баланс на МТС дефолтное поведение брать из balance не возвращая ничего если amount не нулевой считая это ошибкой, balance - всегда balance, amount - всегда amount
FIX: linux исправлена проверка версии python (старше 3.10) в shell script mbp
ADD: новый плагин discovery поможет со сборкой данных из ЛК без передачи к нему доступа для разработки плагина (перед передачей данных если вводился пароль, то пароль может попасть в лог, проверяйте лог на наличие пароля перед передачей)
FIX: rostelecom web lk.rt.ru, и как оказалось в форму логина ростелеком добавил ума и определяет по тому что написали в поле логин что это - тел, email, логин или ЛС и сам переключается в нужную закладку, так что для входа можно использовать любой из вариантов оно само отработает, с моей стороны даже делать ничего не пришлось, главное на старте переключиться с вкладки номера телефона, иначе не даст ввести номер лицевого счета, аналогично кстати в onlime, который my.rt.ru
FIX: Восстановлена возможность отключить запись скриншотов и подробного лога работы в плагине МТС, теперь log_responses=0 отключает запись
ADD: Rostelecom balance2 (bonus) PR #47 from Comprech
FIX: МТС перестал отдавать баланс кэшбэка в api/cashback/account, приходится его брать из рендеренной страницы.
ADD: ucelluz новый оператор для ЛК my.ucell.uz
FIX: Мтс, если баланс нигде не нашли, или он нулевой то берем его из html кода рендеренной страницы
FIX: ntvplus поменял url по которому отдает инфу, исправил в плагине
FIX: beeline web форма логина, правда пользы от этого немного, т.к. билайн после ввода логина капчу спрашивает, все равно для логина приходится показ хрома включать и капчу вводить
FIX: tele2 переименовался в t2, поменялся url и разметка на сайте, и самое неприятное ни не хотят больше логиниться по логину и паролю, поэтому приходится включать показ хрома или логиниться через http://localhost:19777/profile
CHANGE: tele2 в связи с неработоспособностью проверки через API у подавляющего процента пользователей, версия через WEB выставлена по умолчанию, она хоть через SMS но криво-косо работает.
CHANGE: в связи с тем что все больше головной боли доставляет процесс логона, у T2 (теле2) он вообще ручной, билайн просит капчу переодически ценность сохраненных сессий сильно выросла, чтобы очищать их походя просто так, поэтому из setup_and_check.bat
убрана команда на очистку кэшей, и чтобы избежать путаницы теперь есть setup_and_check.bat
без очистки и отдельно clear-browser-cache.bat
с очисткой.
ADD: для манипуляция с файлом зависимостей сделан параметр requirements через который можно управлять каким файлом зависимостей пользоваться, можно перейти на свежую версию браузера включив опцию requirements = requirements_win10.txt
, после изменения обязательно нужно выполнить setup_and_check.bat чтобы зависимости применились и скачался новый браузер нужно после изменения обязательно выполнить setup_and_check.bat
BREAKING_CHANGE: playwright_stealth теперь выключен по умолчанию, на последних версиях браузера с ним ломаются плагины
FIX: исправлен подсчет количества услуг в мегафон (тарифный план тоже считаем услугой), спасибо Pasha за участие
FIX: исправлена работа zadarma(novofon) с новым ЛК (и не ясно нужен ли он вообще, с его новыми негуманными тарифами)
FIX: исправлена работа плагина beeline web
ADD: добавлена возможность смотреть корректность ini на странице http://localhost:19777/check_ini (пункт Check ini на основной странице)