Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/unlicensed-zzz/mobilebalance

Расширение для Chromium-браузеров. Получает баланс по учётным данным провайдеров. Одна из альтернатив для персональных компьютеров (прототип - автономная программа MobileBalance)
https://github.com/unlicensed-zzz/mobilebalance

chrome chrome-extension chrome-extensions chromium chromium-extension extension extension-chrome extension-edge extensions extensions-chrome javascript js

Last synced: 1 day ago
JSON representation

Расширение для Chromium-браузеров. Получает баланс по учётным данным провайдеров. Одна из альтернатив для персональных компьютеров (прототип - автономная программа MobileBalance)

Awesome Lists containing this project

README

        

# MobileBalance - расширение для Chromium-браузеров
Предназначено для получения баланса номеров (или иных учётных данных) провайдеров. Является одной из альтернатив программ агрегации баланса провайдеров для персональных компьютеров.

Работает на основе эмуляции входа пользователя в личный кабинет провайдера в браузере по учётным данным (логин / пароль). Язык русский, в силу особенностей аудитории иная локализация не предполагалась.

Распространение и использование расширения для пользователей бесплатно (и оплата не предполагается).

## Предпосылки
Расширение разработано на основе идей прототипа - автономной программы с одноимённым названием. Автономная MobileBalance была разработана для Microsoft Windows, основана на взаимодействии с MS Internet Explorer и хранении данных в формате базы MS Access. С 15.06.2022 Microsoft прекратил развитие и поддержку IE. Подавляющее большинство провайдеров уже отказались от обеспечения совместимости с ним своих сайтов.

Сопровождение автономной MobileBalance со стороны автора также прекращено. Последняя версия программы (18.3) была выпущена 08.05.2018. Сайт программы упразднён.

Несмотря на развитие мобильных приложений провайдеров, дающих информацию о балансах своих абонентов, агрегатор подобный MobileBalance остаётся востребованным. Автономный MobileBalance предполагал возможность расширения опрашиваемых провайдеров за счёт написания подключаемых JSMB-плагинов. Она была благоприятно принята сообществом - после прекращения поддержки плагины долгое время актуализировались и развивались энтузиастами (до момента, пока сайты провайдеров сохраняли работоспособность при обращениях от устаревших механизмов IE).

Для персональных компьютеров единственной известной автору альтернативой является [MBPlugin](https://github.com/artyl/mbplugin). Сильно упрощая его работу (для интересующимся - предыдущая ссылка), он сопрягает базы автономный MobileBalance с актуальным браузером (Google Chrome), при этом заменяет большинство плагинов их python-аналогами. "Жизнь" автономной MobileBalance за счёт MBPlugin возможно продлить. В качестве разработки аналогичной направленности под Android следует выделить [AnyBalance](https://github.com/dukei/any-balance-providers). Из Google WebStore она с недавнего времени пропала, но легко [обнаруживается](https://www.rustore.ru/catalog/app/com.dukei.android.apps.anybalance) на RuStore.

## О расширении
Разработка расширения ведётся с 24.11.2021. Первая версия опубликована в [Google WebStore](https://chromewebstore.google.com/detail/mobilebalance/oogdlalfhmhjbdbgefpgmdhmfnjnlggo) 23.02.2022.

Учётная запись, позволяющая публиковать расширения в магазине расширений Microsoft, более полугода на подтверждении. Вопрос не решается (очевидно, по причинам текущей политической ситуации).

Полную историю изменений расширения можно посмотреть в его настройках, на вкладке "О расширении"

- Расширение ориентировано на работу в Chromium-браузерах. Опубликовано в [Google WebStore](https://chromewebstore.google.com/detail/mobilebalance/oogdlalfhmhjbdbgefpgmdhmfnjnlggo);
- Расширение не производит никаких пересылок чувствительных данных по сети. Учётные данные сохраняются в локальном хранилище расширения (только на том компьютере, где оно установлено). Пароли дополнительно кодируются и декодируются непосредственно перед их использованием для входа в личный кабинет провайдера;
- Плюсом расширения является кроссплатформенность. На текущий момент работоспособность проверена в среде MS Windows (Google Chrome, Yandex browser, Microsoft Edge) и Linux (Chromium на базе Debian);
- Код расширения открыт, оно может быть дополнено новыми возможностями;
- Плагины и код расширения обильно прокомментированы, что упрощает для желающих изучение их работы;
- Предусмотрено дополнение коллекции плагинов расширения плагинами разрабатываемыми сообществом;
- Плагины расширения по алгоритму работы аналогичны плагинам прототипа. При этом они имеют большую свободу в использовании современных языковых конструкций JavaScript, на котором они (как и само расширение) написаны;
- В составе расширения есть выгружаемые файлы с кратким руководством по подготовке плагинов и описанием структур данных;
- Структура данных, принимаемых при опросах, и наименования её полей унаследованы из автономной MobileBalance (для совместимости). Хранение данных обеспечивается механизмами браузеров - LocalStorage и IndexedDB;
- Данные настроек и истории запросов могут быть сохранены в локальные файлы и загружены обратно в расширение. Локальные файлы параллельно играют роль резервных копий данных;
- В расширение (после необходимой обработки) могут быть перенесены данные истории опросов из базы автономной MobileBalance.

## Текущий состав коллекции плагинов
Актуальные данные можно посмотреть в подсказке на пиктограмме **(?)** к выбранному провайдеру
_(Настройки расширения -> Общие настройки -> подраздел настроек провайдера)_
| Плагин | Описание |
| ------ | -------- |
| МТС (API) | Запрос данных оператора связи МТС (через API)
Забирает:
- баланс;
- кредитный лимит (если он есть);
- кэшбэк (если он есть, в поле 'Баланс2');
- остаток пакета минут;
- остаток пакета SMS;
- остаток пакета интернета;
- ФИО владельца;
- наименование тарифа;
- дату завершения оплаченного периода;
- статус блокировки;
- состав услуг ( формат: 'бесплатные' / 'платные' / (сумма по платным) ) |
| BeeLine v3 (API)
_рекомендуемый_ | Запрос данных оператора связи BeeLine (через обновлённый API) с авторизацией в форме сайта BeeLine и авторешением капчи
При авторизации плагин однократно пробует решить капчу. Если попытка неуспешна, то плагин пробует решить капчу повторно и ждёт подтверждения ползователя. В этот момент значение можно исправить вручную или использовать кнопку обновления капчи
Забирает:
- баланс;
- остаток пакета минут;
- остаток пакета SMS;
- остаток пакета интернета;
- наименование тарифа;
- статус блокировки;
- состав услуг ( формат: 'бесплатные' / 'платные' / 'по подпискам' / (сумма по платным) ) |
| BeeLine v2 (API) | Запрос данных оператора связи BeeLine (через обновлённый API) с авторизацией в форме для ЮЛ
Забирает:
- баланс;
- остаток пакета минут;
- остаток пакета SMS;
- остаток пакета интернета;
- наименование тарифа;
- статус блокировки;
- состав услуг ( формат: 'бесплатные' / 'платные' / 'по подпискам' / (сумма по платным) ) |
| BeeLine (API) | Запрос данных оператора связи BeeLine (через старый API)
Забирает: (не для всех тарифов)
- баланс;
- остаток пакета минут;
- остаток пакета SMS;
- остаток пакета интернета;
- наименование тарифа;
- статус блокировки;
- состав услуг ( формат: 'бесплатные' / 'платные' / 'по подпискам' ) |
| Мегафон v2 (API) | Запрос данных оператора связи Мегафон (через API)
Забирает:
- баланс;
- кредитный лимит (если он есть);
- остаток пакета минут;
- остаток пакета SMS;
- остаток пакета интернета;
- ФИО владельца;
- наименование тарифа;
- номер лицевого счета;
- дату завершения оплаченного периода;
- состав услуг ( формат: 'бесплатные' / 'платные' / (сумма по платным) ) |
| Т2 (API) | Запрос данных оператора связи Т2 (ранее Теле2), требуется начальная авторизация на странице запроса по коду из SMS или письма эл. почты
Забирает:
- баланс;
- остаток пакета минут;
- остаток пакета SMS;
- остаток пакета интернета;
- ФИО владельца;
- наименование тарифа;
- дату завершения оплаченного периода;
- статус блокировки;
- состав услуг ( формат: 'бесплатные' / 'платные' / (сумма по платным) ) |
| МТС. Решения для дома (http) | Запрос данных оператора связи МТС для сервиса 'Решения для дома' (ранее МГТС)
Забирает:
- баланс;
- номер лицевого счета;
- наименование тарифа;
- ФИО владельца |
| АКАДО Телеком (API) | Запрос данных оператора связи 'АКАДО Телеком'
Забирает:
- баланс;
- номер лицевого счета;
- ФИО владельца;
- дату завершения оплаченного периода |
| WiFire (API) Интернет | Запрос данных провайдера WiFire (через API) по Интернет-подключению
Забирает:
- баланс;
- наименование тарифа (Интернет);
- номер лицевого счета;
- ФИО владельца;
- дату следующего платежа;
- cтатус блокировки |
| Автодор-Платные Дороги (API) | Запрос данных 'Автодор-Платные Дороги'
Забирает:
- баланс;
- бонусные баллы (если они есть, в поле 'Баланс2');
- номер лицевого счета;
- ФИО владельца;
- статус блокировки |
| Тройка-кошелёк (API) | Запрос данных кошелька карты 'Тройка' (через API). Требуется начальная регистрация в личном кабинете (ЛК) на 'mosmetro.ru' и привязка в нём карт (физических, для виртуальных не опробовано).
Логин - номер карты, пароль не используется.
При первом запросе ЛК должен быть открыт или нужна однократная авторизация (вход в ЛК) на странице запроса
Забирает:
- баланс кошелька;
- сумму ожидающую записи (если она есть, в поле 'Баланс2');
- статус блокировки |

## Разработка плагинов для дополнительных провайдеров
Можно ли разработать плагин для провайдера X? Можно попробовать, но для разработки и тестирования нужны учётные данные по этому провайдеру. Если вы их предоставите - будет с чем пробовать поработать. То же самое касается различных тарифов, которые могут отрабатывать в разработанных плагинах не так, как вы этого ожидаете. У меня нет возможности протестировать все существующие варианты ответов для всех провайдеров.

## ToDo
Автономная MobileBalance выполняет запросы последовательно по списку учётных данных. Этот последовательный режим опроса обеспечивается и в расширении. Из ещё не реализованных задумок - реализовать параллельный режим опроса провайдеров, при этом для учётных записей каждого провайдера проводить запросы по списку учётных данных последовательно.

## Контакты
Для общения можно использовать:
- [Issues](https://github.com/Unlicensed-ZZZ/MobileBalance/issues) здесь, на GiHub;
- профильную тему на [4PDA](https://4pda.to/forum/index.php?s=&showtopic=985296&view=findpost&p=114094620) (предпочтительно для приватных обсуждений в Личных сообщениях, включая передачу чувствительных данных);
- указанную в профиле **электронную почту**