ECClient v2.6 [2018.11.09] - новый API, старый закрыли (а ещё обещают v2 в будущем) - пришлось капитально менять программу; порог отключения / блокировки в новом API отсутствует, так что и выводиться не будет - почищен код и ресурсы, в ресурсы добавлена версия программы и перенесена часть строк - теперь нельзя вызвать более одного окна с балансом - новая иконка нового логотипа сети - на Windows 98 баланс, увы, больше не посмотреть, потом что сервер использует какой-то лютый сертификат, который возвращает ошибку ERROR_INTERNET_SECURITY_CHANNEL_ERROR при вызове HttpSendRequest() - возможно необходимо обновление сертификатов Программа опухла до 16,5 Кб. --- ECClient v2.5 [2017.02.23] - исправлена невозможность получения баланса: параметр lpszVersion при вызове HttpOpenRequest() должен быть "HTTP/1.0", а не просто "1.0" - очень странно, что на некоторых системах работало и так - небольшое исправление при разборе строки - сначала позиция, потом символ Размер программы не изменился. --- ECClient v2.4 [2016.07.18] - переписана и улучшена часть кода, поправлены мелкие ошибки Размер программы не изменился. --- ECClient v2.3 [2016.01.23] - в биллинге опять что-то нахимичили, так что теперь для HTTPS нужен TLS 1.0, который придётся включать вручную (программно, увы, WinInet это не позволяет сделать) - добавлено окно с предупреждением Размер программы не изменился. --- ECClient v2.2 [2015.06.27] - хм, помогло, но не надолго - попробуем с User-Agent от IE 10 Размер программы не изменился. --- ECClient v2.1 [2015.06.18] - похоже, кто-то решил бороться с альтернативными клиентами, так что в строку GET-запроса добавлено "&clientVersion=2", а в HTTP-заголовки "HTTP_X_REQUESTED_WITH: XMLHttpRequest" (3 дня - полёт нормальный) Размер программы не изменился. --- ECClient v2.0 [2014.05.16] - программа переписана на Си и собрана на MinGW GCC - исходные коды для всех желающих - теоретически программу можно собрать под UNICODE (и ничего этому не мешает, кроме одного момента), практически - оно тут не нужно - изменены сообщения в ресурсах и сами ресурсы приведены в порядок - вместо статической библиотеки для подсчёта MD5 используется CryptCreateHash(), что позволяет немного сократить размер программы - вместо ручного кода обработки URL-адресов используется InternetCrackUrl() - аналогично предыдущему пункту - в локальные подсети помимо 192.168.x.x также добавлены 10.x.x.x и 172.16.x.x - 172.31.x.x, чтобы внешний IP-адрес корректно определялся - небольшие улучшения безопасности: буфер из-под пароля, хеша и номера договора зануляется сразу после использования - номер договора и MD5-хеш от пароля будут сохранены в файл настроек только в том случае, когда выбрана соответствующая опция и пришёл ответ от сервера с errorCode = 0 (т.е. данные прошли проверку и на стороне сервера тоже) - изменился домашний адрес программы - старый сайт закрыт, дабы не плодить сущности В результате всего вышеописанного программа похудела с 16 до 13 Кб (13312 байт). --- ECClient v1.9 [2013.05.27] - изменился адрес API у биллинга ЭГ Размер программы не изменился. --- ECClient v1.8 [2012.11.25] - поправлено получение баланса (ошибка "невозможно соединиться с сервером"): так как для страницы биллинга кто-то с кривыми руками сделал кривой сертификат, то для HttpOpenRequest() добавлены флаги INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID - теперь нельзя запускать более одной копии программы - старая, на всякий случай, будет выгружена автоматически и вместо неё запустится новая Размер программы не изменился. --- ECClient v1.7 [2012.07.25] - изменён адрес сайта программы - диалог для ввода номера договора и пароля будет появляеться только при выборе баланса - также в этот диалог добавлена опция "Запомнить указанные данные" - только если она отмечена номер договора и хэш пароля будут сохранены в файл "ecclient.ini", в противном случае, их каждый раз придётся вводить заново Для смены логина и пароля достаточно удалить файл "ecclient.ini" и набрать их заново при выборе баланса. Размер программы не изменился. --- ECClient v1.6 [2012.03.21] - выкинута "winssl.dll" (минус 6 Кб) - работа с HTTPS теперь через системную библиотеку "wininet.dll" Кто будет обновляться со старых версий: удалите файл "winssl.dll" - он более не нужен. Размер программы не изменился. --- ECClient v1.5 [2012.03.12] - по двойному щелчку левой кнопкой мышки на иконке программы в системном трее будет отображаться окно с балансом - помимо баланса добавлено отображение порога отключения и количество дней абонентской платы - на компьютерах с более чем 1 IP-адресом на интерфейсе (VMware и прочие вещи) нужный вычисляется эмпирическим путём: если адрес главный (PRIMARY) и динамический (DYNAMIC, в ЭГ адреса раздаются через DHCP, тоже самое, обычно, делают и роутеры), то он считается нужным, в противном случае информация о принятых/переданных байтах будет отображаться у последнего в списке, который не 0.0.0.0, и не 127.0.0.1 - по многочисленным просьбам: теперь отображается не внутренний адрес, а адрес на роутере, если компьютер находится за управляемым оборудованием, но только в том случае, если текущий адрес начинается на 192.168.*; определение адреса будет работать даже при отключённом UPnP на роутере - некоторые константы, типа адресов сайтов, принудительно выкинуты из секции кода (CODE) в секцию с данными (DATA) Программа опухла на целый килобайт - итого 16 Кб ровно. --- ECClient v1.4 [2012.03.10] - программа не пишет в "ecclient.ini", если в диалоге не введён номер договора или пароль; если нет необходимости в просмотре баланса, то оба поля можно заполнить чем угодно, чтобы диалог при старте программы не появлялся - все сообщения переведены на русский язык (кроме сообщений о фатальных ошибках) - тексты сообщений и все меню вынесены в ресурсы, так что каждый может их менять по своему вкусу (через Resource Hacker например) - пунт "Billing" вынесен в подменю "Открыть", туда же вынесен адрес сайта программы (из окна с балансом убран) В связи со всеми этими изменениями программа опухла на 512 байт и занимает теперь 15360 байт. --- ECClient v1.3 [2012.03.06] - изменён протокол получения баланса в связи с новым API (введён с 1 марта) - SSL теперь использует SSLv3_client_method вместо SSLv2_client_method, иначе оно не подключается - так как теперь пароль хранится не в открытом виде, а как хэш MD5, то при запуске программа запросит логин и пароль, причём последний будет сохранён в "ecclient.ini" уже в виде MD5 хэша, так что ручное редактирование файла отпадает; старое поле "password" в целях безопасности удаляется из файла Если нужно сменить логин и/или пароль - просто удаляем "ecclient.ini" и перезапускаем программу. В связи со всеми этими изменениями программа опухла на 2,5 Кб (2560 байт) и занимает теперь 14848 байт. --- ECClient v1.2 [2011.10.03] - добавлен пункт "Billing", который открывает "Личный кабинет" - полезно, т.к. при отрицательном балансе доступ на CN.ru (через который почему-то туда пытаются войти) закрыт - переделано получение баланса - теперь это делается не в 4, а в 1 запрос по HTTPS (через открытый API, а не через выковыривание баланса из HTML страницы) - программа похудела ещё на 512 байт --- ECClient v1.1 [2011.01.14] - исправлена работа с новым биллингом - исправлено отображение версии программы в заголовке окна с балансом --- ECClient v1.0 [2010.12.07] - первая публичная версия