Новости программы Easyhotspot — июнь 2015

Изменен алгоритм, по которому Perl-скрипт для freeradius-a «привязывал» ваучер к mac-адресу

Были выполнены такие изменения:

  • Ранее perl-скрипт выполнял процедуру привязки при каждой авторизации, вне зависимости от того, был ли ваучер уже привязен к mac-адресу ранее или нет. Теперь процедура откорректирована, и привязка осуществляется только в случае, если в базе для ваучера еще не прописан mac-адрес;
  • Ранее привязка к mac-адресу происходила даже если клиент вводил неверный пароль. Теперь привязка осуществляется только в случае, если и логин и пароль, введенные клиентом, верны!

Исправлена ошибка постраничного вывода отчета о проданных ваучерах

Имевшаяся в программе ошибка не позволяла просматриватиь страницы со 2-й и далее, если список не умещался на одной странице.

Исправлена ошибка постраничного вывода отчета об израсходованных/просроченных ваучерах

Имевшаяся в программе ошибка не позволяла просматриватиь страницы со 2-й и далее, если список не умещался на одной странице.

В меню инкассации ваучеров на кнопку «Пометить все как оплаченные» добавлен дополнительный вопрос, предлагающий подтвердить указанное действие

Нечаянный клик по указанной кнопке «навсегда прятал» от Администратора список ваучеров (собственно, выполнялось то, что и должно — ваучеры отмечались как оплаченные и пропадали из списка). Теперь страница требует от Администратора подтвердить свои действия (нечаянное срабатывание исключено).

В меню ваучеров добавлены новые кнопки

Добавлены три новые кнопки. Эти кнопки управляют фильтрацией ваучеров, отображаемых в списке. Клик по первой кнопке включает отображение только активированных ваучеров. Клик по второй — и отображаются только не использованные ваучеры. Третья кнопка возвращает отображение списка в «исходное» состояние — отображаются все ваучеры, как уже активированные, так и еще не использованные.

При вызове меню редактирования ваучеров/клиентов/тарифов добавлена проверка на существование позиции, которую планируется редактировать

Функция эта, на самом деле, более полезная на демо-сервере, а также на серверах, которыми одновременно управляет довольно много человек (кассиров/админов). В таких случаях могли возникать ситуации, когда, например, один пользователь программы (будь то кассир или админ) удалил ваучер, а второй пользователь (другой кассир или же админ), у которого список ваучеров не успел обновиться, решил отредактировать этот же самый ваучер. В итоге, второй пользователь получал целый ворох сообщений об ошибках. Теперь при вызове формы редактирования ваучера (или же «клиента с оплатой по счету», или же Тарифного пакета) программа дополнительно проверяет — есть ли в базе запрошенный ваучер (или клиент, или тариф). Если искомая запись отсутствует, пользователю просто выводится сообщение об этом.

Дополнительно урезаны права Кассиру «доверие» которому установлено как «Не доверяем»

Теперь, если в настройках программы про «доверие кассирам» установлено как «Не доверяем», при редактировании ваучеров Кассирам запрещено менять и пароль, и Тарифный пакет ваучера (рабочей осталась лишь возможность отвязки ваучера от mac-адреса).

Написано небольшое API

В связи с участившимися вопросами о том, как внешние программы могли бы взаимодействовать с Easyhotspot (например, такими: «Может ли мой кассовый аппарат каким-то образом получить от Easyhotspot пароль от WiFi и распечатать его на чеке?») в программу было добавлено небольшое API — при обращении к нему (http POST-запрос) программа «отвечает» данные только что сгенерированного нового ваучера в формате XML.

В программу добавлена функция импорта ваучеров из XML-файла

В программу добавлена новая функция — импорт ваучеров из XML-файла. Процедура доступна Администраторам, для этого добавлена новая кнопка в списке Тарифных пакетов (в строке у каждого из тарифов), при наведении на кнопку появляется всплывающая подсказка «Импорт пар логин/пароль из XML-файла». При импорте осуществляется проверка на уникальность логинов. Если логин, который должен быть добавлен в базу, уже в ней имеется, то этот «неуникальный» логин (и соответствующий пароль) в базу не добавляются. По окончании процедуры выводится число успешно добавленных ваучеров и число ваучеров, которые импортировать не удалось. Также, выводится ссылка на файл с парами «логин/пароль», импорт которых не удался.

Формат XML-файла с ваучерами :

Пример XML файла с ваучерами для импорта в программу Easyhotspot

Реализована связка Mikrotik с Easyhotspot на все 100%

  • Написано соответствующее руководство по настройке роутеров Mikrotik;
  • Написаны необходимые дополнительные файлы, благодаря которым роутер Mikrotik использует не встроенную страницу авторизации (являющуюся венцом творения «минималистов»), а нормальную «многофункциональную» страницу авторизации модифицированного Easyhotspot-а (со всеми ее «плюшками» типа «страницы-подложки» /показа рекламы, как до, так и после авторизации / механизмами гостевго доступа и автологина / кнопками платежных систем, а также перехода в кабинет пользователя и т.д. и т.п.);
  • Написана «многофункциональная» страница авторизации модифицированного Easyhotspot-а в версии для Mikrotik (использующая их алгоритм авторизации);
  • В коде самой программы Easyhotspot во всех процедурах работы с мак-адресами в число допустимых символов добавлено двоеточие — «:» (дело в том, что mikrotik по умолчанию отправляет mac-адрес, разделяя октеты именно двоеточием);

В программу внесен целый ряд изменений всвязи с новыми требованиями российского законодательства

В связи с Постановлением Правительства Российской Федерации от 31.07.2014 № 758 «О внесении изменений в некоторые акты … (и т.д.)» отныне (цитата): «Оказание универсальных услуг связи по передаче данных и предоставлению доступа к сети интернет с использованием пунктов коллективного доступа осуществляется оператором универсального обслуживания после проведения идентификации пользователей. Идентификация пользователя осуществляется оператором универсального обслуживания путем установления фамилии, имени, отчества (при наличии) пользователя, подтверждаемых документом, удостоверяющим личность». В связи с этим в программе было выполнено следующее:

  • Добавлены поля для ручного ввода данных о паспорте как для «клиентов с оплатой по счету», так и для ваучеров. В самих списках (клиентов с оплатой по счету или ваучеров) паспортные данные не отображаются (там банально уже нет места для этого), но по ним возможен поиск;
  • Кроме того, добавлено архивирование всех данных аккаунта при удалении как ваучеров, так и клиентов с оплатой по счету, а также при выписке счетов, при удалении администратором израсходованных ваучеров после инкассации и т.д. и т.п. Дополнительно в программу добавлена форма для поиска по данным, хранящимся в этом архиве. Форма позволяет искать по самым разным данным, попавшим в архив, включая имя, паспортные данные, логин, пароль, mac-адрес, ip-адрес, тариф, дата, и многое другое. Результаты поиска могут быть экспортированы в CSV-файл как по отдельности для каждой из записей (кнопка (значок-иконка excel) присутствует в каждой из строк с результатами поиска), так и сразу всех записей, удовлетворивших критерию поиска (кнопка «Экспорт всех результатов поиска в единый CSV-файл» внизу под списком).;
  • Написан новый модуль к программе Easyhotspot, который отсылает СМС с паролем на мобильный телефон, номер которого клиенту нужно ввести на специальной странице, предложенной хотспотом. Дополнительной функцией этой же страницы является ознакомление клиента с правилами хотспота. Ссылка на мануал от модуля: Инструкция к модулю СМС-авторизации;

Ужесточен подход к «обязательности просмотра» рекламы клиентами

В функцию показа клиентам рекламы (до авторизации) были введены такие дополнительные изменения:

  • Отсчет времени показа рекламы начинается только после того, как страница с рекламой полностью загружена в iframe;
  • Отсчет времени показа рекламы приостанавливается, если клиент свернул браузер, перешел на другую закладку, переключился на другое приложение;

В результате клиент обязательно должен смотреть именно страницу рекламы в течение всего того времени, которое вы установили в настройках!

Изменен механизм выбора стилей страницы авторизации

Ранее стили выбирались скриптом на Javascript. Теперь для этого используются встроенные возможности CSS (а именно — функция @ media screen)

Написан новый платежный модуль — для белорусской платежной системы iPay

Данный модуль позволит вам организовать обслуживание клиентов вашего хотспота, при котором они смогут оплатить доступ в интернет любым из способов, предлагаемых платежной системой iPay. Платежная система iPay позволяет* клиентам оплачивать счета:

  • с помощью простой отправки СМС со своих мобильных телефонов;
  • онлайн оплаты на сайте iPay для клиентов мобильных операторов МТС и life:);
  • через систему «Расчет» (ЕРИП). Оплата может производиться в инфокиосках, банкоматах, интернет и SMS-банкингах в банках участниках системы «Расчет»;

Подробнее вы можете прочесть на странице, посвященной данному модулю

Обновлен модуль приема платежей по СМС (через короткие номера)

В модуль добавлена поддержка украинского агрегатора СМС Биллинг. Данный агрегатор позволяет принимать платежи с помощью отправки клиентом СМС на указанные короткие номера.

Обновлен модуль приема платежей по кредитным картам (liqpay)

Обсновление связано с переходом самого сервиса Liqpay на новую версию API — с 1.2 на 2.0.

Обновлен скрипт-инсталятор

В скрипт-инсталятор внесено изменение: корректировке подверглись «шаблоны» имен интерфейсов, благодаря чему стало возможным использование имен вида eth0.100.

В биллинге реализован механизм для записи в базу информации об идентификаторе хотспота (NASID), с которого клиент получает доступ в интернет

Благодаря внесенным изменениям:

  • В базу данных программы (в список сеансов сервера FreeRADIUS) теперь записываются и идентификаторы (NASID) хотспотов, с которых клиенты получают доступ в интернет;
  • В итоге, теперь появилась возможность данную информацию (об идентификаторах хотспотов) выводить в списках, экспортировать в отчеты, использовать иными способами для поиска и анализа;

В программу добавлена функция отправки «служебных смс»;

В программу добавлена «рутина» для отправки СМС. Данный код выполняет следующие функции:

  • Возможность выбрать одного из четырех (на момент написания новости) агрегаторов и настроить данные учетной записи;
  • Отправка СМС «поставленных в очередь» (самой программой, модулями и т.д. и т.п.);
  • Отображение списка обработанных СМС, лога ошибок, возникающих при отправке;

В программу добавлена функция «пост-активации» ваучеров по СМС

Как все это выглядит:

  • Кассир генерит в программе обычные ваучеры (либо же Администратор импортирует из XML-файла новые ваучеры);
  • Клиент покупает ваучер и пытается по нему в первый раз выйти в интернет;
  • Хотспот не пускает клиента в интернет, вместо этого пишет ему в ответ сообщение типа «Этот ваучер еще не был активирован…. (и далее по тексту, пример — см. на рис. ниже)»;
  • Открывается форма, в которой клиенту предлагается ввести номер его мобильного телефона;
  • На телефон клиента отсылается СМС с кодом активации;
  • Клиенту открывается форма, в которой ему предлагается ввести полученный код активации;
  • Клиент вводит код активации, полученный в СМС, система пишет «Все, ваучер активирован, пробуйте авторизоваться повторно«.
  • Клиент повторно на странице авторизации вводит данные ваучера (даже не вводит, их страница авторизации «помнит» итак, а просто нажимает кнопку «Войти«) и т.к. ваучер уже активирован, беспрепятственно получает доступ в интернет;
  • Параллельно система записывает номер телефона клиента в базу данных, в поле, где хранятся паспортные данные;

Сообщение о том, что ваучер не активирован

В веб-интерфейс программы внесен целый ряд изменений и исправлений:

  • В папку вебинтерфейса Easyhotspot добавлен файл .htaccess с набором инструкций, принуждающих браузеры по возможности использовать картинки и пр. элементы оформления из собственного кеша. Это немного ускорило работу вебинтерфейса;
  • В списках сеансов для ваучера исправлена ошибка вывода информации о том, когда истекает срок годности ваучера (из-за ошибки показывало 2 янв 1970 г);
  • Для форм поиска реализована функция, которая запускает поиск по клику на значке «увеличительного стекла». Ранее надо было нажимать Enter на клавиатуре. Добавлено по просьбе владельцев планшетов (не имеющих кнопки Enter);
  • Добавлено отображение списка пользователей (кассиров, админов, суперадминов), вошедших в Easyhotspot (в т.н. «черную админку»). Выводит список тех, чьи сеансы «активны» (активным считается пользователь, выполнявший какие-либо действия в программе в течение последних 2-х часов). В списке показаны: время последней активности, логин и ранг (кассир/админ/суперадмин) пользователя, IP-адрес, с которого вошел пользователь, сведения о его браузере и ОС;
  • При поиске ваучеров поиск теперь осуществляется в том числе и по данным в колонке «пароль» (это полезно с оглядкой на последние платежные модули, которые выдают клиентам в качестве пароля номера их телефонов, в итоге — так их проще искать);
  • В меню Тарифов добавлено всплывающее предупреждение, которое выводится, когда для создаваемого (или редактируемого) Тарифного пакета назначается привязка к ID хотспота и/или «График обслуживания»;
  • На страницы настроек платежных модулей добавлены кнопки для перехода на страницу настроек агрегатора, используемого для отправки «служебных СМС» (с паролями);

В платежные модули добавлена функция «привязки к NASID»

Благодаря этой функции у платежнных модулей появилась возможность обслуживать клиентов, приходящих с разных хотспотов (с разными NASID) одним и тем же модулем (одной и той же страницей), но по разным Тарифным пакетам! То есть, страница выбора тарифов платежных модулей может быть настроена так, что она будет предлагать клиентам только те Тарифные пакеты, которые привязаны к тому ID-хотспота (или NASID, что фактически, является одним и тем же), который прописан в хотспоте, с которого клиент «пришел» на страницу модуля. Также, ID-хотспота, на котором была проведена процедура оплаты, будет выводиться дополнительной колонкой при отображении результатов работы платежного модуля как в самой программе Easyhotspot, так и при экспорте их в csv-файл.

В платежные модули добавлена функция экспорта результатов в CSV-файл

В платежные модули добавлена функция экспорта результатов в CSV-файл (этот файл впоследствии может быть открыт для анализа и/или редактирования в программах MS Excel, OpenOffice Calc или LibreOffice Calc). При экспорте администратору предлагается выбрать требуемый период времени (даты старта и окончания).

Добавлен простейший скрипт ротации файлов, выступающих в качестве «подложки»

В «коробку» с программой добавлена парочка простейших скриптов «ротации» адресов страниц, выступающих в качестве «подложки».

Первый файл меняет «подложки» в зависимости от времени суток (утро/день/вечер). В скрипте в качестве параметров указываются два времени (только часы), когда «заканчивается утро» и когда «заканчивается обед». Кроме того, указываются три адреса разных страниц: «что показываем утром», «что показываем в обед» и «что показываем вечером».

Второй файл (скрипт) по очереди меняет три разных «подложки» каждую минуту.

Изменена страница авторизации, для взаимодействия с базой теперь используется AJAX

У страницы авторизации были изменены механизмы, использующиеся для функции гостевого режима. В результат было достигнуто снижение нагрузки на сервер. Подробнее о том, благодаря чему это произошло:

  • Подключившись к хотспоту, но еще не авторизовавшись (не получив доступ в интернет) большинство клиентов гонят в хотспот (точнее, в интернет) целую волну запросов. Дело в том, что «унюхавши» интернет, целые толпы самых разных программ, таких как всевозможные агенты — фейсбуков, мейлов, обновлений софта и пр. тут же хотят попасть на свои сайты! А если на устройство еще и какой-нибудь вирус подсажен, то тут вообще «льется, что из водопроводной трубы»… И так как клиент еще не авторизован, то на КАЖДЫЙ такой запрос хотспот отвечает страницей авторизации.
  • Краткая ремарка о работе гостевого механизма — КАЖДОМУ клиенту, которому выводится страница авторизации, она генерит персональный гостевой ваучер. И данные этого ваучера (логин/пароль) подставляются в скрытую форму кнопки «Бесплатно». Чтобы, когда клиент нажимал эту кнопку, в базе изихотспота уже был готовый ваучер, по которому его сообственно и впускает потом в интернет. Ранее perl-скрипт, который формирует страницу авторизации, каждый раз при формировании страницы выполнял вся рутину (поиск по базе, создание нового гостевого ваучера, запись его в базу и т.д. и т.п.);
  • В старой версии скрипт лез в базу за данными гостевых ваучеров при КАЖДОМ обращении к странице авторизации, не зависимо от того, запросил ее сам пользователь с браузером или какой-нибудь агент поиска обновлений на PlayMarket-е какого-нибудь планшета с Android-ом;
  • В итоге, когда кто-то ломился в страницу авторизации, то при этом возрастало число обращений в базу данных (что является ЗАМЕТНОЙ нагрузкой). В качестве примера на рис. ниже показано как возросло число запросов к серверу (странице авторизации) при подключении к хотспоту всего одного ноутбука, у которого целых ворох установленных программ «ну очень сильно хотел обновиться»;
  • Теперь же (в обновленной варианте страницы авторизации) сама рутина «гостевых ваучеров» перемещена непосредственно в сам Easyhotspot, а страница авторизации просто обращается к ней за данными с помощью AJAX. Казалось-бы, процедура усложнилась? Возможно. Однако, AJAX — это использование Javascript, которого НЕТ во всевозможных брут-форсах, юзер-агентах всевозможных фейсбуков, «вкнотактов», «мейлов-ру» и иже с ними, персональных «обновлялках» программ и всевозможных плей-маркетах, и т.д. и т.п. Javascript — присутствует только в браузерах! Поэтому, чисто гостевая процедура будет запускаться ТОЛЬКО в случаях, когда реальный человек реально смотрит страницу в реальном браузере, что снижает число обращений в базу и как следствие — суммарную нагрузку на сервер;

Возрастание числа запросов страницы авторизации

Написан новый платежный модуль — для платежной системы Onpay

Данный модуль позволит вам организовать обслуживание клиентов вашего хотспота, при котором они смогут оплатить доступ в интернет любым из способов, предлагаемых платежной системой Onpay.

Подробнее вы можете прочесть на странице, посвященной данному модулю

Написан новый платежный модуль — для платежной системы ROBOKASSA

Данный модуль позволит вам организовать обслуживание клиентов вашего хотспота, при котором они смогут оплатить доступ в интернет любым из способов, предлагаемых платежной системой ROBOKASSA.

Подробнее вы можете прочесть на странице, посвященной данному модулю

В скрипт-инсталятор внесен ряд обновлений и исправлений

  • В очередной раз подкорректированы шаблоны для проверки имен интерфейсов (с какой-то радости 14-я Ubuntu вдруг стала присваивать имена и такого вида — p2p1);
  • При обновлении страницы авторизации теперь переносится из старых настроек в новые имя гостевого тарифного пакета;
  • При обновлении базы данных введены проверки, чтобы не выводились «пугающие» сообщения об ошибках добавления уже существующих таблиц и/или колонок в них;
  • Для скачивания пакета с программой Webmin теперь вписана ссылка на сайт именно самого Webmin-а. В результате — при установке скачивается самая последняя его версия, а не та, которая «когда-то была мной скопирована на свой сервер»;

Значительно обновлена инструкция «УСТАНОВКА И НАСТРОЙКА WI-FI ХОТСПОТА С ИСПОЛЬЗОВАНИЕМ CHILLISPOT, FREERADIUS И EASYHOTSPOT»

Всвязи с многочисленными изменениями в программе, была отредактирована инструкция «УСТАНОВКА И НАСТРОЙКА WI-FI ХОТСПОТА С ИСПОЛЬЗОВАНИЕМ CHILLISPOT, FREERADIUS И EASYHOTSPOT».

Обновлено руководство по работе в программе Easyhotspot;

Всвязи с изменениями в программе, была обновлена инструкция «Программа управления Wi-Fi хотспотом — Easyhotspot, Руководство по эксплуатации» (добавлена информация об отправке служебных СМС и т.д.). Инструкция доступна на странице ссылок.


Просмотреть все эти изменения в действии можно на сайте демо-версии модифицированной программы Easyhotspot (логин/пароль Кассира: vcool/vcool123, логин/пароль Администратора: admin/admin123), или же то же самое, но с английским языком интерфейса

На всякий случай, напоминаю, что все эти изменения относятся именно к модифицированной версии программы Easyhotspot, которую можно приобрести на странице онлайн-продажи.

Исправлена ошибка постраничного вывода отчета об израсходованных/просроченных ваучерах