Новости программы Easyhotspot, июнь…ноябрь 2018

Новости — июнь…ноябрь 2018

С момента прошлой публикации в программе произошли следующие изменения:

  • Изменения в веб-интерфейсе Easyhotspot («черной админке»);
  • Обновления и исправления модулей
  • Обновления и изменения скрипта-инсталятора
  • Изменения в документации

Изменения в веб-интерфейсе Easyhotspot («черной админке»)

  • Версия фреймворка Codeigniter (на котором написана «черная админка») обновлена до 3.1.9. Что при этом изменилось в самом Codeigniter можно прочесть в «Change Log» на их сайте. В свою очередь, для Easyhotspot это — банальное поддержание актуальности базового фреймворка;
  • Немного изменены настройки редактора TinyMCE: добавлена кнопка прямого редактирования html-кода и добавлен вызов текстовых сообщений на украинском языке, когда он украинский язык выбран в «черной админке»;
  • Исправлена ошибка нового кабинета: в меню вызова страниц платежных систем кнопка для п/с Mixplat открывала ошибочную ссылку (несуществующую страницу);
  • Изменен формат экспорта данных из программы — добавлена библиотека PHPExcel, и все отчеты, которые ранее выводилось в виде CSV-файлов, теперь выводятся в формате MS Office Excel (2007);
  • Параллельно ряд отчетов был сделан «более красивыми». Например, экспорт данных из архива теперь выводится на трех листах одного xlsx-файла. На первом листе выводятся сведения об аккаунтах, на втором — о платежах, и на третьем — о сеансах доступа в интернет;
  • При экспорте в xlsx-файл из архива данных об аккаунте возникала ошибка создания «многостраничного» файла электронной таблицы, ЕСЛИ В БАЗЕ НЕ БЫЛО СВЕДЕНИЙ О «ПОКУПКЕ». Ошибка исправлена;
  • Обновлен отчет о ваучерах при экспорте в xls-файл. Если ранее в нем выводились только логин и пароль, то теперь список параметров расширен, и в него входят такие сведения: Номер, Логин, Пароль, Имя Тарифного пакета, Дата и время создания ваучера, MAC-адрес клиента, Данные из графы «Паспорт», Дата и время активации ваучера, Дата и время окончания срока годности ваучера, Суммарное время доступа в интернет по ваучеру, Суммарный объем трафика, потребленный ваучером, ID хотспота (NASID);
  • Попутно была обнаружена и устранена ошибка, которая ранее во время экспорта (еще в CSV) результатов работы платежных модулей могла приводить к удалению из базы этих данных (уже после их экспорта), даже если администратор не ставил «птичку» о желании такого удаления;
  • Была обнаружена и исправлена ошибка редактирования «клиента с оплатой по счету» (postpaid). Для того, чтобы она проявилась, нужно было, чтобы сначала (когда-то ранее) в программе приключился глюк. Суть ошибки заключалась в следующем: Freeradius при проверке авторизации клиентов в том числе использует данные из таблицы radcheck. Одной из таких записей, размещенных в таблице radcheck, является пароль клиента. При редактировании учетной записи клиента с оплатой по счету код биллинга обновлял запись с паролем в таблице radcheck. Но в момент обновления сам факт наличия в базе radcheck такой записи (с паролем) биллинг не проверял. В нормальной ситуации все происходило успешно, и отредактированный клиент потом успешно авторизовался по новому паролю. Но отношение самого сервера MySQL к обработке запроса на обновление записи звучит так: «да, запрос на обновление был получен и выполнен. но, если самой обновляемой записи при этом не было, мы это ошибкой не считаем» 🙂 … В итоге ошибка проявлялась лишь В ТОМ СЛУЧАЕ, если по каким-то «неизвестным причинам» из таблицы radcheck (когда-то ранее) уже пропала запись о пароле клиента. И вот тогда — обновляй, не обновляй аккаунт клиента в биллинге, а пароля у него в таблице radcheck так и не появлялось! И в итоге такой клиент авторизоваться больше уже не мог и постоянно получал отказ. Ошибка исправлена! И, повторюсь, в нормальной ситуации эта ошибка вообще не проявлялась…
  • При редактировании (ОБНОВЛЕНИИ) настроек фирмы-агрегатора для функции отправки служебных СМС у клиента происходила ошибка — новые данные не записывались в базу программы (у себя эту ошибку так и не смог воспроизвести). Был изменен код функции (сам алгоритм записи настроек в базу), ошибка «ушла»;
  • В код биллинга была добавлена функция переключения ваучеру тарифа с «первого» на «второй» по истечении лимита, отведенного «первым» тарифным пакетом. Что дает этот «финт»? Такой себе «двухскоростной» режим обслуживания! Вы должны будете создать два тарифа: первый — «быстрый и недолгий», и второй — с длительным доступом, но с низкой скоростью. Затем создаете ваучер первого тарифа и даете его клиенту. Клиент по такому ваучеру сначала пользуется быстрым интернетом в течение какого-то времени, и по истечении номинала первого тарифа его отключит от интернета. Описываемая тут функция найдет ваучер «первого» тарифа с израсходованным номиналом, и сменит ему тариф на «второй». Клиент подключится к интернету снова, но уже на низкой скорости. И в таком медленном режиме он сможет пользоваться интернетом до тех пор, пока не израсходует «номинал» второго (более длинного) тарифа;
  • В биллинг добавлена функция, которая выгружает на указанный в (её) настройках SFTP-сервер xlsx-файл со сведениями обо всех сеансах доступа в интернет за предыдущий день, включая и сведения из графы «паспорт» для соответствующего аккаунта (в эту графу автоматизированные модули Easyhotspot-а вносят номер мобильного телефона клиента);
  • В список агрегаторов функции отправки служебных СМС добавлена фирма АЛЬФАSMS (Украина);
  • Немного изменен макет страницы авторизации, в тех случаях, когда она выводит «промежуточные сообщения» (такие как «Подключаемся…» и т.п.). Текст сообщений теперь отцентрирован по вертикали внутри div-а, выводящего эти сообщения;
  • Небольшие обновления во внешнем виде «чёрной админки» Easyhotspot (правка CSS-файлов: внесение изменений, небольшая оптимизация);
  • Исправлена функция показа рекламы после авторизации (а точнее — приведена к тому же принципу, что и выписка гостевых ваучеров — имя «гостевого тарифа» для проверки берется не из файла настроек (conf.txt), а из базы биллинга (выбирается т.н. «гостевой тариф», привязанный к данному NASID);
  • Изменены настройки размещения лог-файлов, генерируемых веб-приложением Easyhotspot. Теперь они располагаются в папке /var/www/easyhotspot/application/logs;
  • В процедуру ротации лог-файлов добавлен файл настроек, обязывающий раз в неделю проводить ротацию логов веб-приложения Easyhotspot (всех логов, найденных в папке /var/www/easyhotspot/application/logs);

Обновления и исправления модулей

  • Переписан модуль СМС-авторизации! Теперь он предлагает два способа авторизации клиентов — либо по паролю, присылаемому в СМС, либо по звонку на номер, указанному хотспотом. Кроме того, функции модуля были разделены между самим биллингом и страницей авторизации. Отдельное веб-приложение теперь не используется, а номер своего телефона клиент теперь вводит непосредственно в меню авторизации хотспота. Подробнее можно прочесть на странице с описанием модуля или в инструкции к нему;
  • В модуль Робокассы внесено изменение — убрана отправка символа валюты (RUB) при проведении платежей в рублях. В соответствии с текущей версией документации п/с Робокасса, платежи итак осуществляются в рублях и отправка информации о валюте — излишняя;
  • Исправлена ошибка в платежном модуле Onpay: при формировании ваучера модуль вписывал пароль с устаревшим аттрибутом User-Password. В современных версиях FreeRDIUS данный аттрибут вызывает ошибку, и клиент не может авторизоваться. Исправлено на рекомендованное Cleartext-Password. Клиенты успешно авторизуются по купленным ваучерам.
  • Пришло уведомление от платежной системы Liqpay о том, что с 01.07.2018 они окончательно отключают автоматическую переадресацию запросов с домена LiqPay.com на LiqPay.ua. Изменение адреса страницы платежной системы было внесено в код модуля;
  • Обновлен (а точнее — переписан заново) модуль обслуживания по СМС, отправляемым на т.н. «короткие номера». Теперь модуль написан на php (был — на perl). Страница Тарифов модуля теперь адаптируется под экраны мобильных устройств. Владельцы мобильных устройств могут, нажав кнопку, автоматически переходить в приложение отправки для СМС, куда уже будут вписаны и требуемый «короткий номер», и текст сообщения! Все подробности можно прочесть на обновленной странице с описанием модуля СМС («короткие номера»), либо в инструкции к нему;

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

  • В системе полностью убрано использование perl-модуля Net::Ping::External. Это обусловлено тем, что в новых версиях дистрибутивов данная библиотека будет недоступна. Как показал поиск, причина изъятия указанной библиотеки заключается в том, что у нее были обнаружены уязвимости безопасности, которые разработчик не устраняет (и уже давно, благодаря чему складывается впечатление, что он просто забросил свою программу). Ранее в биллинге Easyhotspot библиотека Net::Ping::External использовалась дважды: во первых, в скрипте страницы авторизации с помощью ping МОГЛА выполняться проверка доступности интернета (по умолчанию была выключена). С другой стороны, скрипт контроля роутеров, обслуживаемых сервером Easyhotspot, выполнял ping роутеров, от которых были получены запросы. Первое «применение» — как мне кажется, фактически не использовал никто. И даже больше — реально это было лишено смысла, т.к., если у хотспота отсутствует доступ к интернету, то переадресация неавторизованнных клиентов на страницу авторизации не работает. В итоге, было принято решение полностью убрать из кода страницы авторизации как использование самой библиотеки Net::Ping::External, так и проверки доступности интернета с помощью ping. Для второй задачи было найдено альтернативное решение. Скрипт контроля роутеров был вписан в сам Easyhotspot (в «черную админку»), функция ping также легла на нее же (с использованием уже языка php), а вместо старого perl-скрипта была написана «заглушка», которая просто переадресовывает запросы на новый адрес проверки;
  • Выход дистрибутива Ubuntu 18.04 LTS послужил поводом для радикального обновления скрипта-инсталятора! С учетом того, что дистрибутив Ubuntu 18.04 LTS выпускается только в 64-битной версии, программу Chillispot устанавливать на него стало бесполезным (Chillispot не работает на 64-битных ОС!). И в итоге получалось так, что Easyhotspot, установленный на Ubuntu 18.04 LTS, мог бы работать только в «варианте 3» (удаленный сервер-RADIUS для управления «внешними» роутерами). Инсталятор был изменен так, что теперь на сервер Easyhotspot, если он используется в качестве шлюза локальной сети хотспота («варианты 1 и 2»), устанавливается не устаревший Chillispot, а его обновленный «форк» — Coova-Chilli! При этом приложение Coova-Chilli компилируется из «исходников» непосредственно на самом сервере, что позволяет устанавливать его как на 32-битных ОС, так и на 64-битных! Благодаря внесенным изменениям (с одной стороны) Easyhotspot на дистрибутив Ubuntu 18.04 LTS теперь можно также устанавливать в любом из вариантов! А с другой стороны — сервер Easyhotspot в «вариантах 1 и 2» теперь может быть установлен на 64-битную версию и иных дистрибутивов;
  • В скрипт-инсталятор добавлена новая функция. В «черной админке» для отображения лога авторизации используются разные команды для разных версий сервера FreeRADIUS, установленного в биллинге. Теперь скрипт-инсталятор прописывает цифру, соответствующую версии FreeRADIUS-а, в файл конфига веб-интерфейса Easyhotspot, и благодаря этому биллинг сам выбирает корректную команду для отображения лога авторизации (раньше команду нужно было выбирать вручную — править вручную файл конфига);

Изменения в документации

Обновлена инструкция «Mikrotik и Easyhotspot». В инструкцию добавлена информация о настройке NASID. Расширена информация по поводу HTTPS-авторизации, добавлены разъяснения.  На основании информации, изложенной в интернете, был написан дополнительный скрипт, который в комплексе с рядом дополнительных мер позволяет заставить продукцию Apple открывать страницу авторизации хотспота не в CNA, а в Safari (т.е., в полноценном браузере).

Обновлена инструкция «Индивидуализация вашего хотспота». В инструкцию добавлены такие разделы:

  • Автоматический показ меню авторизации сразу же
  • Запрет меню авторизации «прятаться»
  • Изменение сложности логина и пароля, генерируемых программой

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

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

Список предыдущих анонсов новостей программы Easyhotspot доступен тут.

Новости программы Easyhotspot — февраль 2018

С момента прошлой публикации в программе произошли следующие изменения:

  • Изменения в веб-интерфейсе Easyhotspot («черной админке»);
  • Обновления и исправления у страницы авторизации
  • Новые модули
  • Обновления иных модулей
  • Обновления и изменения скрипта-инсталятора
  • Написан новый кабинет пользователя
  • Изменения в документации

Читать далее «Новости программы Easyhotspot — февраль 2018»

Новости Easyhotspot — июль 2017

С момента прошлой публикации «много воды утекло»! И так как новостных сообщений не было давно, могло создаться впечатление, что «бобик сдох» (развитие программы прекращено). На самом деле в программе произошли глобальные и важные изменения, которые просто отняли много времени! Итак, вот список изменений, произошедших в программе:

  • Веб-интерфейс Easyhotspot перенесен с фреймворка Codeigniter версии 1.5.4 на версию 3.1.2
  • В веб-интерфейс биллинга Easyhotspot внесен ряд изменений, дополнений и улучшений;
  • Обновлена страница авторизации
  • Обновлен модуль СМС-авторизации
  • Обновления платежных модулей
  • В скрипт-инсталятор внесен ряд изменений
  • Изменения и исправления в прочих скриптах
  • Изменения в документации

Веб-интерфейс Easyhotspot перенесен с фреймворка Codeigniter версии 1.5.4 на версию 3.1.2

Фактически, выпущенный «давным-давно» Codeigniter версии 1.5.4 с каждой новой версией PHP требовал все большего количества «костылей», замен «устаревших» и отмененных функций, подавления каких-то «предупреждений», «извещений» и т.п. «Масло в огонь подливал» еще и сервер баз данных MySQL, который тоже (с версии 5.7.х) начал более строго относится к формируемым запросам в базу. Поэтому, в первую очередь данное обновление является своеобразным «заделом на будущее», т.к. решает проблему работы биллинга под управлением последних версий PHP, MySQL и т.д., которые уже вовсю используются в новых версиях дистрибутивов Linux. Предполагаю, что в дальнейшем «ареал» использования новых версий данного ПО будет только расширяться. Поэтому, фреймворк и был заменен новой версией. Использование новой версии фреймворка повлекло за собой использование и новой системы авторизации в биллинг (входа в саму «черную админку» EasyHotspot). Был выбран скрипт Ion Auth, который в свою очередь, наложил «ограничение снизу» на версию PHP, используемую сервером биллинга. Теперь версия PHP на сервере биллинга должна быть не ниже 5.3.1.

По той же самой причине (корректная работа с PHP версии 7.0) была заменена библиотека, используемая для рисования «круговой диаграммы» на странице статистики ваучеров. Вместо «старой» Google Graph (про которую сам Google написал у себя на странице, что она «более не доступна») теперь используется «новая» Google Charts. По факту — делают они практически одно и то же, рисуют диаграмму тоже практически одинаковую (3D это я просто включил «прикола ради»), НО сам код библиотеки, использованной для взаимодействия с сервисами Google написан в соответствии с новыми «пожеланиями/правилами» PHP, благодаря чему у PHP версии 7.0 он уже не вызывает warning-ов об использовании «устаревших» методов.

На домашней странице Администратора в список информации о системе была добавлена информация и об используемых версиях ПО (чтобы вы сразу могли видеть, новая у вас программа или «не очень» ☺):

В веб-интерфейс биллинга Easyhotspot внесен ряд улучшений, дополнений и исправлений:

  • К уже имевшимся двум вариантам языка интерфейса (русскому и английскому) была добавлена поддержка еще одного — украинского. Кроме того — была убрана «жесткая» (фиксированная) настройка языка интерфейса «черной админки». Выбор языка теперь осуществляется по «отзыву» браузера пользователя (точнее — у ВСЕХ браузеров есть такой параметр в настройках, как «предпочитаемый язык просмотра страниц в интернете»). В итоге, если ваш браузер сообщает, что вы «предпочитаете» использовать русский язык — то Easyhotspot выведет вам интерфейс на русском языке. Если «предпочитаете» использовать украинский язык — получите Easyhotspot на украинском. Во всех остальных случаях — получите английский язык интерфейса. Данный алгоритм мог бы снижать удобство пользования для тех пользователей, чьи языки не попадают в число вышеперечисленных (и кому программа подставляла бы английский «по умолчанию»), но при этом сами пользователи предпочли бы английскому другой (например, русский). Чтобы этого не происходило, в программу были добавлены кнопки принудительного выбора языка. Благодаря им пользователь сможет сам ПРИНУДИТЕЛЬНО указать желаемый язык интерфейса «черной админки» (из числа трех, приведенных выше). Его выбор будет сохранен в cookie, и впоследствии интерфейс Easyhotspot будет выводиться ему на выбранном языке, а не на устанавливаемом автоматически.
  • Добавлена функция поиска по таблице Raddact (сведения обо всех сеансах всех активных пользователей). Функция полезна тем, что позволяет искать информацию о сеансах клиентов и ваучеров, еще не попавшую в архив программы. Напоминаю, что в архив эти данные попадают лишь после выполнения любого из следующих действий: удаления аккаунта клиента (с оплатой по счетам), выписки счета клиенту (с оплатой по счетам) или удаления ваучера. По этому, поиск по архиву раньше ничего не показывал об аккаунтах (как ваучеров, так и клиентов с оплатой по счету), которые все еще активны на момент поиска;
  • Реализован ЕДИНЫЙ (да еще и с локализацией единиц измерения!) набор скоростей, использующийся в программе повсеместно (в том смысле, что он один используется «везде, где нужно»). В первую очередь это удобно тем, что теперь при желании нет нужды настраивать кучу этих наборов скоростей «поштучно» в самых разных местах (файлах) программы, а достаточно откорректировать их в одном месте, и изменения тут же отразятся везде;
  • Изменен макет (внутренняя html-разметка) страницы, используемой при печати «пачки» ваучеров. Благодаря этому прекратились хаотичные смещения некоторых отдельных ваучеров относительно остальных. Теперь все «ровно и красиво — и ряды, и колонны»;
  • Была исправлена ошибка во встроенной в Easyhotspot функции проверки номеров телефонов, благодаря которой проверку успешно проходили неверно введенные номера, если они начинались с 7, но пользователь вводил не 11 а 12 цифр;
  • Не было печали, но тут какой-то «чудак на букву м» начал терзать «черную админку» на демо-сервере на предмет взлома методом «поиска команд мускула» и т.п.. Админка «выжила», лишь только лог ошибок мускула распух. Подумалось, почему бы тогда не ограничить набор вводимого «по самое не могу» (вдобавок к стандартным функциям типа mysql_escape_string и т.п.). В итоге во всех формах поиска было добавлено принудительное «кастрирование» поисковой фразы до шаблона «буквы/цифры/дефисы/подчеркивания». Все остальное тупо множится на ноль. В дополнение к этому, были внесены дополнительные изменения в настройки параметров функции form_validation, также значительно ограничивающие возможности ввода в поисковые формы всякой ереси…
  • В биллинг добавлена функция логирования действий, осуществляемых пользователями (именно персоналом хотспота — кассирами, админами, суперадминами) в программе («черной админке»). Теперь вы легко сможете доказать кассиру, что он, например, удалил ваучер, выручку за который присвоил себе;
  • В меню платежных систем при экспорте данных в CSV-файл добавлена «птичка» — «Удалить после экспорта». Отметка в ней позволяет удалять из базы записи о заказах, попавших в отчет. Ваучеры этих заказов «удаляются» в архив (т.е. данные о них не удаляются абсолютно полностью, а вместо этого переносятся в архив программы);
  • В списке тарифов для обслуживания платежной системой добавлено извещение, если для тарифа не установлены описания (модули могут давать сбои в таких случаях);
  • В меню платежных систем на кнопки удаления тарифов добавлены запросы, требующие от пользователя подтверждения данного действия;
  • В скрипт регулярных действий добавлена процедура, удаляющая из баз платежных систем незавершенные заказы, которые были созданы ранее, чем 31 день назад (т.е., те заказы, у которых клиент кнопку выбора тарифа нажал, а платить не стал, в базе они отображаются со статусом «В обработке»).

Обновлена страница авторизации

  • Полностью изменен макет страницы авторизации! В первую очередь преследовалась цель «минимизации» присутствия на ней элементов меню хотспота. Все это — ради того, чтобы клиенту ничто не мешало видеть вашу «страницу-подложку»! В итоге, на странице («в покое») присутствует одна лишь кнопка «Меню», по нажатию на которую клиенту выводятся формы для ввода логина-пароля, бесплатного «гостевого» входа, список доступных платежных систем и т.д. Вместо того, чтобы пересказывать все нюансы, мне проще будет показать вам саму «живую» страницу авторизации: вот ссылка (открывайте и смотрите)!
  • В связи с использованием в программе функции «унификации mac-адресов», в скрипт страницы авторизации также был добавлен код, приводящий mac-адреса к единому виду aa-bb-00-11-22-ff (то есть, все буквы — строчные, разделитель октетов — дефис);
  • Обновлены как код страницы авторизации, так и код самого биллинга Easyhotspot для того, чтобы функция автоматической авторизации клиентов, с одной стороны, перестала зависеть от cookies, а с другой стороны — работала как для «ваучерных» клиентов, так и для «клиентов с оплатой по счету»;
  • Исправлена ошибка, заключавшаяся в том, что при одновременном использовании функций СМС-авторизации и СМС-подтверждения (бумажных) ваучеров меню СМС-авторизации «перекрывало» окно «СМС-подтверждения»;
  • Скрипт страницы авторизации для Mikrotik был отредактирован с целью возможности корректной работы при использовании хотспотом https-авторизации. Что это дает? HTTPS-авторизация в Mikrotik-ах позволяет корректно перехватывать запросы неавторизованных клиентов и отправлять их на страницу авторизации даже в тех случаях, если они пытаются открывать https-ресурсы в интернете («известная» проблема всех captive-portal-ов). Учтите, что для использования этой функции вам потребуются ssl-сертификаты. Сама переадресация будет работать, даже если сертификаты вы будете использовать «самоподписные», но при каждом запросе браузеры клиентов будут вопить о том, что сертификаты — «левые» («фишинг»). Поэтому, для нормальной работы сертификаты лучше будет купить честные…

Обновлен модуль СМС-авторизации

  • В модуле СМС-авторизации запросы от модуля к программе Easyhotspot переведены с функции file_get_contents на использование curl. Также, добавлено принудительное (неотключаемое) логирование ошибок curl в случае, если модуль не смог «достучаться» до программы Easyhotspot (ошибка 905);
  • У функции отправки служебных СМС из списка агрегаторов удален Protelecom и вместо него добавлен SMSProfi;
  • В список агрегаторов функции «отправки служебных СМС» добавлены два новых — SMS Gatekeeper и Chudotelecom;
  • Для отправки «служебных СМС» добавлена поддержка программ ProfiSMS и Gammu-Smsd (эти программы осуществляют отправку СМС не через «фирмы-агрегаторы», а через GSM/3G телефон/модем, подключенный непосредственно к серверу биллинга);

Обновления платежных модулей

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

Слегка «подрихтован» код ряда платежных модулей (Assist, Liqpay, Onpay, Paypal, Robokassa, Wallet-One, Yandex). Изменения касались только внешнего вида на мобильных устройствах, сам функционал не менялся.

Обновлен модуль приема оплат с кредитных карт через платежную систему Liqpay:

  • Теперь модуль использует новую версию API Liqpay — 3.0;
  • Модуль был переписан на php (вместо perl);
  • В модуль включен механизм смены языка интерфейса («из коробки» модуль имеет 2 встроенных языка — русский и английский, в документации описан механизм добавления других);
  • В модуль добавлена возможность отключить ввод телефона клиента;
  • В модуль добавлена возможность «помесячной» оплаты для «постоянных» клиентов («клиентов с оплатой по счету»);
  • В модуль добавлен режим тестирования;
  • В модуль добавлена возможность включения DEBUG режима;

Изменения и исправления в скрипте-инсталяторе:

  • Прислали очередной формат имени интерфейса, «придуманного» Ubuntu, который не проходил проверку шаблона в скрипте-инсталяторе (enp4s0f0). Скрипт исправлен — отредактирован шаблон;
  • В скрипт-инсталятор добавлена процедура, которая настраивает и активирует использование сервером FreeRADIUS «функции унификации mac-адресов» (если такое возможно);
  • Скрипт инсталятор теперь определяет объем ОЗУ сервера и устанавливает максимальный размер памяти, выделяемый скрипту PHP, равным его половине;

Изменения и исправления в прочих скриптах:

  • Исправлена ошибка в скрипте формы обратной связи. Ранее в нем поле ввода текстового сообщения имело «html-имя» ads_text и точно такой-же id. В результате программы (включая и плагины браузеров), блокирующие рекламу (например, Ad-Block), «прятали» это поле. И клиент попросту не мог ввести текстовое сообщение — не куда было! Идентификаторы исправлены на такие, что не вызывают такой реакции у программ типа Ad-Block, и теперь поле для ввода текстового сообщения клиенту видно «без проблем»;
  • Изменен скрипт страницы «формы обратной связи». В него добавлена возможность включения двух дополнительных полей — телефона и адреса e-mail (то есть, включенными могут быть как одно (любое) из двух указанных полей, так и оба сразу, а также — ни одно из указанных полей). Если эти поля включены, ввод информации в них является обязательным для клиента. Очень помогает администраторам в тех случаях, когда клиент присылает сообщение, а куда ему отвечать — написать в нем забывает;
  • У скрипта архивации баз данных изменен формат добавления даты в имя архива. Раньше было ДД-ММ-ГГГГ, теперь стало ГГГГ-ММ-ДД (благодаря чему теперь визуально видна сортировка файлов в «правильном» порядке);
  • Исправлена ошибка скрипта, автоматически авторизующего ваучерных клиентов. Ранее скрипт использовал проверку только срока годности ваучера и в ситуациях, когда номинал ваучера уже истек, а срок годности — еще нет, скрипт «зацикливался», пытаясь постоянно авторизовать этого клиента;

Изменения в документации

В связи с обновлениями в программе были обновлены следующие документы:


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

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

Список предыдущих анонсов новостей программы Easyhotspot доступен тут.

Новости программы Easyhotspot — 2016

С момента прошлой публикации в программу были внесены такие изменения:

В веб-интерфейсе Easyhotspot исправлены такие ошибки:

  • Исправлена ошибка возникавшая, если из программы удалить всех кассиров. В таком случае сервер php выдавал два сообщения — один notice и один warning;
  • Исправлена «ошибка», благодаря которой экспорт части статистики (в csv-файлах) отказывался открывать Microsoft-овский excel. Баг этот, правда, был не мой, а Microsoft-овский, см. по ссылке: http://support.microsoft.com/kb/323626;
  • Исправлена ошибка постраничного вывода выписанных счетов в меню Администратора
  • Исправлена ошибка постраничного вывода списка кассиров, проявлявшаяся лишь в тех случаях, когда суммарное число персонала в программе Easyhotspot (Кассиров, Админов и Суперадминов) превышало установленное в настройках колличество строк для постраничного вывода (по умолчанию = 10);

В веб-интерфейс биллинга Easyhotspot внесен ряд изменений, дополнений и улучшений:

  • В программу добавлена возможность импорта «Клиентов с оплатой по счету» из XML-файла;
  • В списке ваучеров добавлен вывод popup-окна при щелчке по имени Тарифного пакета. В открывающемся popup-окне отображается сводка параметров Тарифного пакета;
  • В меню Тарифов добавлено всплывающее предупреждение, которое выводится, когда для создаваемого (или редактируемого) Тарифного пакета назначается привязка к ID хотспота и/или «График обслуживания»;
  • При поиске ваучеров поиск теперь осуществляется в том числе и по данным из колонки «пароль» (это полезно с оглядкой на некоторые платежные модули, которые выдают клиентам в качестве пароля номера их телефонов, в итоге — ваучер клиента теперь можно найти и по номеру телефона тоже);
  • В код были добавлены проверки того что, в php не запрещена функция exec, и в самой ОС установлен пакет lsb-release. Эти функции используются для вывода информации об ОС, на которой установлен Easyhotspot. В случае не соответствия указанным условиям теперь выводится popup-окно с указанииями, а не системные сообщения об ошибках сервера php;
  • В процедуру отправки «служебных СМС» добавлена поддержка агрегатора СМС_Центр (smsc.ru);
  • В списке служебных СМС добавлена кнопка для удаления сообщений. Кнопка отображается ТОЛЬКО ДЛЯ НЕДОСТАВЛЕННЫХ СМС, т.к. ее цель — лишь удаление тестовых СМС, которые администраторы умудряются насоздавать, пока настраивают их отправку;
  • В настройках платежных модулей добавлены кнопки для перехода на страницу настроек агрегатора, используемого для отправки служебных СМС с паролями;
  • В меню настроек платежных модулей добавлена проверка и вывод сообщения об ошибке, если администратор пытается при вводе адреса сервера хотспота указать http:// в начале строки…
  • В меню для редактирования описания тарифов в настройках платежных модулей теперь установлен и используется редактор TinyMCE;
  • В меню редактирования ваучера добавлена кнопочка [?] справа от списка с тарифными пакетами. При ее нажатии выводится всплывающее меню с описанием текущего выбранного в списке тарифного пакета;
  • В меню «Клиентов с оплатой по счету» изменен сам метод (чисто «внутренний механизм») генерации логина/пароля по нажатию соответствующей кнопки («незанятость» логина и пароля проверяется непосредственно в процессе генерации);

Обновлен модуль СМС-авторизации

Ключевые изменения:

  • В качестве логина модуль теперь выдает клиенту его телефон, а в качестве пароля — произвольно сгенерированную «абракадабру»;
  • Отправка СМС возложена на функцию отправки служебных СМС, включенную в программу Easyhotspot. Модуль теперь просто ставит СМС клиента в «очередь» программы;
  • Проверка номеров телефонов клиентов также перенесена в программу Easyhotspot. При этом, в программу внесен массив кодов стран-бывших республик СССР, плюс массивы кодов их операторов мобильной связи. Для успешного прохождения проверки номер телефона клиента теперь должен вводиться в международном формате;

Написан целый ряд новых платежных модулей

  • Модуль для обслуживания клиентов через п/с Assist;
  • Модуль для обслуживания клиентов через п/с Единая касса (Wallet One);
  • Модуль для обслуживания клиентов через п/с Яндекс.Касса;
  • Модуль для обслуживания клиентов через п/с Paypal;

В скрипт страницы авторизации внесен ряд изменений

  • Код javascript вынесен из кода perl в отдельный файл;
  • Для СМС-авторизации введена дополнительная функция «авто-логина»: скрипт находит в базе Easyhotspot имя и пароль, с которыми устройство с этим mac-адресом авторизовалось «в прошлый раз», и пытается снова авторизоваться с этими данными;
  • Для показаний счетчика времени, отсчитывающего длительность рекламы ПОСЛЕ авторизации, в стилях (CSS) включена анимированная смена цвета (переход от белого к черному и назад), что делает его заметным на фоне любой страницы;
  • У файла перадресации для Mikrotik добавлен параметр, благодаря которому для ваучеров с лимитом времени в popup-окне страницы авторизации отображается сколько времени осталось у клиента;
  • При формировании логина гостевых ваучеров добавлен NASID. Теперь один и тот же клиент (гаджет) в хотспотах с разными NASID получает разные «гостевые ваучеры» (те, которые используются кнопкой «Бесплатно»). Соответственно, в разных зонах хотспота он обслуживается с разными параметрами. Без этого нововведения могли возникать такие ситуации, при которых клиенту (например) выписывался «гостевой ваучер» хотспотом А с одним набором лимитов (низкой скоростью, малым временем и т.д. и т.п.) и через время, НЕ ПОЛНОСТЬЮ ИЗРАСХОДОВАВ этот ваучер, клиент уходил из зоны этого хотспота А. После чего этот клиент попадал в зону хотспота Б, где, допустим, лимиты скорости выше, а времени больше. Но система авторизовывала его по «гостевому ваучеру» хотспота А, и клиент получал худшие условия. Плюс ко всему, подсчет времени доступа в интернет для клиента ПРОДОЛЖАЛСЯ (т.е. учитывалось и то время, которое клиент израсходовал в зоне хотспота А). Теперь же в хотспотах с разными NASID одному и тому же клиенту генерятся разные ваучеры;
  • Всвязи с изменением, описанным в предыдущем пункте пришлось изменить и механизм блокировки ввода на странице авторизации «нежелательных» симовлов (пробелов, служебных и т.д.);
  • Добавлен арабский перевод для страницы авторизации;
  • У страницы авторизации в ссылки для вызова файлов с кодом javascript и стилями css добавлен «штамп даты и времени». Благодаря этому при обновлениях программы отпадает необходимость клиентам хотспотов очищать кеш браузеров (иначе браузеры используют не обновленные файлы, а храняшиеся в кеше старые). А так, благодаря добавлению к ссылке фрагмента кода вида «?201603241212», обновленные файлы с кодом javascript и стилями css автоматически «перезакачиваются» браузерами клиентов по-новой;

Изменения и исправления в скрипте-инсталяторе:

  • В очередной раз были подкорректированы шаблоны для «имен» сетевых адаптеров (чтобы скрипт нормально воспринимал варианты типа «enp0s8» и аналогичные);
  • Исправлена ошибка — ранее при ОБНОВЛЕНИИ страницы авторизации не переносились НЕКОТОРЫЕ параметры формы обратной связи. А именно — не переносилось старое имя отправителя письма (что «не на столько страшно»), и не переносился адрес получателя письма (что «намного хуже»). Ошибка исправлена;
  • Была корректно настроена процедура, которая в настройках веб-сервера apache меняет AllowOverride None на AllowOverride All. Ранее она справлялась с этой задачей только в настройках сервера apache версии 2.2.х, а в настройках apache 2.4.х — не производила подобную замену. В итоге, впоследствии при работе сервера настройки из файлов .htaccess сервером apache игнорировались. Теперь корректно меняется параметр AllowOverride для любого из вариантов сервера apache;
  • Для случая установки на Ubuntu 10.04 LTS добавлена команда, вписывающая в настройки репозиториев сервер oldreleases-ubuntu. Благодаря этому становится возможным установка и обновление ПО. (хотя. конечно, сам дистрибутив Ubuntu 10.04 LTS уже устарел и не поддерживается компанией Canonical, но тем не менее, Easyhotspot может быть по прежнему установлен на него);
  • В связи с тем, что Debian признал релиз 6.х (squeeze) устаревшим и полностью убрал из интернета его репозитории, установка сервера Easyhotspot на данную версию ОС Debian стала невозможной. Поэтому, в скрипт-инсталятор был добавлен «запрет» (новой) установки, если на сервере используется ОС Debian 6.х (squeeze). В то же время, возможность обновления самой программы Easyhotspot (на тех серверах, где она уже была установлена ранее) для данной версии данного дистрибутива была сохранена;
  • В связи с выходом нового дистрибутива Ubuntu 16.04 LTS были откорректированы и сама программа Easyhotspot, и скрипт-инсталлятор, и т.д. и т.п. В итоге корректно проходит и сама инсталляция, и последующая работа программы, установленной на сервер с данной ОС;

Изменения и исправления в прочих скриптах:

  • Исправлен скрипт «кабинета пользователя»: он не показывал заказы выписанные (ваучеры приобретенные) через платежные системы Onpay и Robokassa;
  • Скрипт, устанавливающий coova-chilli/обновляющий chillispot на coova-chilli (на локальном сервере), проверен (и подкорректирован) для новых дистрибутивов — Debian 8.0 и Ubuntu 14.04. Для Debian вообще ничего не пришлось менять, а для Ubuntu — лишь добавить новую версию в шаблон проверки. В остальном — все ОК, скрипт работает;
  • Отредактированы все скрипты, которые считывают параметры из файла /usr/lib/cgi-bin/conf.txt. В них была добавлена команда, отсекающая досовские окончания строк (в редакторе mcedit выглядят как  ^M   черного цвета). В результате — устранена причина по которой эти скрипты отказывались работать после правки конфига (conf.txt) в редакторах в Windows;

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

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

Список предыдущих анонсов новостей программы Easyhotspot доступен тут.

Новости программы 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, которую можно приобрести на странице онлайн-продажи.

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

Обновления в Easyhotspot — весна 2014

В программу были добавлены новые возможности:

В меню создания и редактирования Тарифных пакетов «гуманизирован» ввод срока годности

Ранее в программе ввод срока годности осуществлялся только в сутках. Если же была необходимость ввести значение равное, например, нескольким часам, нужно было вычислять дробное значение. Теперь ввод срока годности осуществляется более простым человеческим образом: нужно ввести число и выбрать из выпадающего списка единицу измерения.

admin_choose_expiration_units

Фиксированный список валют в программе заменен возможностью самостоятельно заводить, редактировать валюту(ы) Администраторами системы

Теперь в программе «по умолчанию» (сразу же после установки) отсутствует какая-либо предустановленная валюта! Администратор системы может добавить в список любое необходимое ему число валют. Внося валюту в список, Администратор указывает для валюты сокращенное наименование, полное наименование и код валюты в соотвествии со стандартом ISO-4217.

Admin_currency_list

В программу добавлена функция бана Клиентов по mac-адресу

В программу добавлен список mac-адресов, которым хотспоты будут отказывать в авторизации при любых обстоятельствах. Не важно — правильные данные вводит клиент при авторизации, или нет — хотспот всегда будет отвечать отказом в доступе! Разделение прав Кассиров/Администраторов применительно к данной функции реализовано следующим образом:

  • Кассир может вносить в список бана mac-адрес любого авторизовавшегося Клиента через меню просмотра пользователей подключенных «онлайн». Удалить mac-адрес из списка забаненых у Кассира нет возможности.
  • Администратор может добавить произвольный mac-адрес с помощью специального меню. Также, в своем меню Администратор может удалить любой mac-адрес из списка забаненых.

Admin-baned-mac-address-menu

Изменено поведение страниц, обновлявшихся автоматически

Ранее в программе было включено принудительное обновление всех страниц в меню Кассира каждые 3 минуты. Это создавало некоторое неудобство, например в случае создания Клиентов — сработавшее по таймеру автоматическое обновление могло прервать этот процесс, и все приходилось вводить по-новой. Теперь функция автообновления изменена:

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

Кнопки скачивания в CSV-формате списков и Клиентов, и Ваучеров перенесены

Программа и раньше предоставляла возможность скачать в CSV-формате списки как Клиентов с оплатой по счету, так и ваучеров. Но кнопки эти не имели надлежащего оформления, и были размещены нелогично. Теперь кнопка для скачивания списка Клиентов с оплатой по счету находится в меню Клиентов с оплатой по счету (в верхнем правом углу). А кнопка скачивания списка ваучеров в CSV-формате — находится в врехнем правом углу меню Ваучеров, где ей логичнее всего находиться. Кнопки теперь оформлены в виде иконок, изображающих «spreadsheet» (экселевский файл) и имеют соотвествующие всплывающеи подсказки. Следует также добавить, что Кассирам эти кнопки видны только лишь в том случае, если параметр «Доверие кассиру» в программе установлен как «Да». Администраторам кнопки видны в любом случае.

Программа полностью изменена в вопросах выписки счетов

Изменения в этой части программы выполнено так много, что их описание просто не умещается в формат новостной заметки. Вот наиболее значимые из них:

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

Чтобы полностью ознакомиться с новой методикой обслуживания Клиентов по счетам, рекомендуется внимательно прочесть обновленное «Руководство по работе в программе Easyhotspot«.

Обновлена инструкция: «Программа управления Wi-Fi хотспотом — Easyhotspot, Руководство по эксплуатации»

Всвязи с многочисленными изменениями в программе, были внесены изменения в инструкцию «Программа управления Wi-Fi хотспотом — Easyhotspot, Руководство по эксплуатации«. Инструкция доступна на странице ссылок.

В страницу авторизации добавлена возможность показа рекламы ПОСЛЕ авторизации (для гостевых клиентов)

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

  • Эта функция имеет свои собственные настройки активации этого режима, источника отображаемой рекламы (адрес страницы с рекламой) и длительности ее показа. Эти параметры независимы от настроек показа рекламы ДО авторизации;
  • Реклама после авторизации отображается ТОЛЬКО «гостевым» клиентам (тем, которые воспользовались кнопкой «Бесплатно» для того, чтобы получить доступ в интернет. Клиентам, которые авторизуются по логину\паролю (и, предположительно, оплачивают свой доступ в интернет), данная реклама не отображается;
  • Так как в момент показа этой рекламы клиент УЖЕ АВТОРИЗОВАН, её источником может быть любая страница, размещенная где угодно в интернете, и при этом не требуется дополнительная нгастройка хотспота на допуск к этой странице без авторизации!

У страницы авторизации добавлена функция автоматической авторизации клиента по логину / паролю

Теперь страница авторизации хотспота пытается сама авторизовать клиента. Речь именно про авторизацию тех клиентов. которые используют для этого логин и пароль (а не про «гостевых шаровиков»). В данном процессе есть несколько нюансов:

  • Во первых, как минимум самый первый раз клиент вынужден будет авторизоваться самостоятельно (вручную). В этот момент скрипт сохранит логин и пароль в браузере клиента. И впоследствии «автологин» будет пытаться подключать клиента с этими сохраненными логиногм и паролем. Немного подробнее: когда появляется меню ввода пароля, скрипт проверяет — есть ли сохраненные в куках браузера клиента пароль и логин, и если есть, то подставляет их в форму (собственно, это было реализовано в скрипте и раньше, только вот кнопку клиент должен был нажимать сам!). После чего, если оба поля (логин и пароль) заполнены, то, с задержкой в 1 секунду скрипт сам «нажимает» кнопку «Войти».
  • Если же у клиента нет сохраненных в браузере логина и пароля, то авторизоваться, естественно, не с чем, и «автологин» не выполняется. В этом случае, клиент должен ввести логин и пароль вручную. Во время ручного ввода клиентом логинов/паролей активируется (и при вводе каждого нового символа перезапускется) небольшая задержка в 15 секунд. Это избавляет от ситуаций, когда, допустим, логин уже введен, клиент успевает ввести только первый символ в поле пароля, и «автологин» уже «пошел» авторизовать…
  • Если «автологин» отработал успешно, то все ок, и клиент просто попадает в интернет.
  • Если же «автологин» вытащенными из куков логином/паролем не удался, то значит, что сохраненные в куках у клиента логин и пароль либо не верны, либо уже пришли в негодность (например, закончился срок обслуживания аккаунта, или закончился номинал ваучера, или истек срок годности, и т.д. и т.п.). В этом случае повторных попыток авторизоваться «автологин» не предпринимает, (чтобы страницу авторизации не «зацикливало» на непрерывных попытках «автологина» неверными данными).
  • Если клиент завершил сеанс сам (кнопкой «Отключиться»), процедура «автологина» блокируется на 20 минут. Иначе, клиент отключается от интернета, его выбрасывает на страницу авторизации, а она его снова же сама автоматом и авторизует. В течение этих 20 минут клиент (если «передумает») СМОЖЕТ снова авторизоваться, но увы, только вручную.

Для нерадивых админов добавлен «привет» в случае неправильной конфигурации гостевого доступа

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

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

При авторизации ваучера выполняется проверка — привязан ли данный ваучер к какому-либо mac-адресу. Если нет, то ваучер привязывается к mac-адресу клиента, авторизующегося в данный момент. Во всех последующих случаях — система видит, что ваучер УЖЕ привязан, и ничего не делает. С другой стороны, уже имеющийся в программе механизм отказывает в авторизации тем, кто пытается подключиться по этому же ваучеру, но с другого оборудования (с каким-либо другим mac-адресом). В итоге, получается, что ваучер привязывается к тому mac-адресу, с которого был авторизован.

В лог авторизации клиентов программа при этом выводит сообщения об успешных привязках (обведены красным):

Kassir-autobind-to-mac-for-vouchers

Добавлена возможность бана по mac-адресу прямо из лога авторизации

В программу добавлена возможность бана по mac-адресу прямиком из лога авторизации. Ранее кассир мог забанить только уже авторизованного в хотспоте клиента (который уже получил доступ в интернет, и отображается в списке онлайн). Теперь же кассир может банить даже тех клиентов хотспота, у которых авторизоваться не получилось, и которые в итоге в списке онлайн пользователей отсутствуют, но при этом, судя по логу авторизации, сидят и активно подбирают пароли, пытаясь войти! Для этого в логе авторизации (см. рисунок выше) все mac-адреса специально выделяются визуально, плюс становятся «кнопками-ссылками». При щелчке по такой ссылке (выбранному mac-адресу) программа предлагает кассиру внести данный mac-адрес в список бана).

Кассиру добавлена возможность «отвязывания» ваучера от mac-адреса прямо в меню редактирования ваучера

Всвязи с автопривязкой ваучеров к mac-адресу (точнее, возможными разборками «хитро….деланых» клиентов), кассиру добавлена возможность отвязывать аккаунты ваучеров от mac-адресов. В форме редактирования ваучера, который привязан к какому-то mac-адресу, теперь отображается и сам mac-адрес, и кнопка («крестик»), чтобы эту привязку снять. Щелкнув по кнопке, кассир снимает привязку, и клиент сможет авторизоваться с другого устройства. Но «хитроделаным» клиентам стоит напоминать при этом, что как только они авторизуются по ваучеру с устройств с другими mac-адресами, их ваучеры будут тут-же привязаны к новым mac-адресам!

Внешний вид меню редактирования ваучера с кнопкой «отвязки» показан на рисунке ниже:

Kassir-edit-voucher-binded-to-mac

Изменен метод, используемый для отрисовки круговой диаграммы на странице «Статистика хотспота»

Изменен метод отрисовки диаграммы на странице «Статистика хотспота». (Согласен. что большинство на эту страницу вообще «раз в пятилетку» смотрит, и то, только если нечаянно в кнопку кликнет, но тем не менее)… Теперь отрисовкой занимается библиотека GoogleGraph (библиотека — внешняя, т.е. при рисовании диаграмки сервер хотспота отсылает запрос на специальное api, разработанное google, и располагающееся на серверах google). Зато теперь диаграмка фиксированного размера и не «прыгает»….

В меню создания ваучеров в выпадающий список тарифов добавлено краткое описание

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

Kassir-list-of-tarifs-with-description

В программу добавлено новое меню «Роутеры, к которым подключены клиенты»

Для тех, кто обслуживает клиентов несколькими (внешними) роутерами в программу было добавлено новое меню. В нем отображается список тех роутеров, которые в данный момент обслуживают АКТИВНЫХ (уже авторизовавшихся) клиетов. Меню также показывает число клиентов, авторизовавшихся на каждом роутере в данный момент времени.

Пример меню:

Kassir_working_routers_menu

Изменен «кабинет пользователя»

Новый кабинет:

  • При подключении предлагает выбрать безопасный протокол (https), хотя позволяет подключиться и по обычному http (небезопасному). Выбор протокола — за клиентом. Эта функция была введена всвязи с тем, что кабинет позволяет просматривать и изменять конфиденциальную информацию.
  • Для входа в кабинет требует от клиента ввести и логин и пароль
  • Авторизация хранится в течение 10 минут, после чего в случае неактивности, сбрасывается (нужно входить по новой)
  • Кабинет в дополнение к «старым функциям» теперь позволяет клиенту самостоятельно изменить пароль учетной записи, используемый для авторизации в хотспоте (для выхода в интернет)
  • Кабинет позволяет клиенту просмотреть список заказов, оплаченных в автоматизированных платежных системах (поиск ведется по номеру телефона).
  • Для заказов, оплаченных через платежные системы, возможен просмотр статистики простым щелчком по кнопке.

Несколько скриншотов обновленного кабинера:

cabinet_view_orders_by_phone

Пример списка заказов, оплаченных через платежные системы

cabinet_postpaid_client

Кабинет для Клиента с оплатой по счету (с примером сообщения о сроке окончания обслуживания)

cabinet_voucher_user

Кабинет для ваучера (отображаются номинал ваучера (Тарифного пакета) и дата окончания обслуживания)

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

Основная цель этой формы обратной связи — чтобы человек («с улицы»), который просто подключился к хотспоту, и при этом НЕ ЗНАЕТ, ЧТО ЕМУ ВООБЩЕ ТЕПЕРЬ ДЕЛАТЬ, куда обращаться, где искать того, кто ему продаст (или даром выдаст) талон, и т.д. и т.п. мог хоть как-то связаться с администратором хотспота. Ведь этот неавторизованный клиент никакого выхода в интернет не имеет, и следовательно «обычными методами» не может даже e-mail отправить! Данная форма обратной связи:

  • использует учетную запись на внешнем smtp-сервере, следовательно на самом сервере хотспота вам не надо устанавливать и настраивать собственный почтовый (smtp) сервер.
  • отправку письма выполняет сам сервер хотспота, благодаря чему письмо может отправить и неавторизованный клиент, без необходимости авторизоваться и получать доступ в интернет.
  • адрес получателя (администратора хотспота) жестко прописывается в настройках, следовательно форма бесполезна для рассылки спама.
  • В форме сделана задержка, благодаря чему клиенту вас доставать письмами тоже быстро надоест

Пример формы обратной связи доступен по ссылке (шлет письма на мой адрес): форма обратной связи на сервере

Обновлен скрипт-инсталятор — теперь возможна установка на дистрибутив Ubuntu 14.04

Ubuntu выпустила очередной LTS (Long Term Support — «с долговременной поддержкой») релиз — 14.04. Скрипт-инсталятор «подрихтован, и теперь без проблем устанавливает Easyhotspot на дистрибутив Ubuntu 14.04 LTS:

easyhotspot_on_ubuntu_14_04

Также, была проверена обновленная версия Debian — 7.5. На нее скрипт-инсталятор также установил Easyhotspot абсолютно корректно.

Ну и в плане «экстравагантной феерии» — Easyhotspot на Raspberry Pi!

Скрипт-инсталятор, создавая резервные копии, добавляет в имя шаблон даты

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

Скрипт-инсталятор изменен с целью минимизации ошибок при повторной установке «поверх предыдущей»

У скрипта-инсталятора была возможность в расписание заданий накидать «целую пачку» однизх и тех же комманд. Для этого достаточно было просто ставить программу «поверх» старой установки (именно Не обновлять, А поверх). В результате, в планировщике заданий Linux-а прописывалось несколько команд на запуск одних и тех же скриптов чистки системы, гостевых тарифов и т.д. и т.п. Это создавало проблемы, например, когда два одновременно запущенных скрипта чистки гостевых ваучеров мешали дрруг другу. Скрипт-инсталятор был изменен, и теперь в планировщик заданий не вписывает по нескольку раз команду на запуск одних и тех же скриптов…


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

Новости Easyhotspot — 2013 год

Модифицированная версия программы Easyhotspot является билинговой программой для управления хотспотом или сетью хотспотов. Благодаря дополнительным модулям: приема платежей по СМС и приема платежей с банковских пластиковых карт, программа предоставляет возможность полностью автоматического обслуживания клиентов хотспота.

Подробнее прочесть о модифицированной версии программы  можно вот в этой заметке: «Простой биллинг с веб интерфейсом — Easyhotspot« или на сайте, посвященном модифицированной версии программы Easyhotspot.

Со времени, прошедшего с анонса предыдущих изменений, в программу были добавлен целый ряд новых возможностей.

  • В программу добавлены новые страницы для просмотра результатов работы платежных модулей.
  • Сделан простой «кабинет пользователя», позволяющий Клиенту самостоятельно получить информацию обо всех его сеансах доступа в интернет.
  • Добавлено новое меню программы, отображающее список всех сеансов выбранного ваучера.
  • Добавлена возможность печати выбранной группы ваучеров.
  • Полностью изменен подход к отображению рекламы (когда активирован доступ в интернет после показа рекламы).
  • Наведены дополнительные «рюшики» в отображении объемов трафика и времени.
  • Новый платежный модуль — оплата СМС через «Мобильную комерцию» от Неолайна.
  • Новый платежный модуль — оплата СМС через «Мобильную комерцию» от Авизо СМС.
  • Изменена процедура формирования файла со списком пар Логин-Пароль.
  • Данные о хотспоте (фирма, адрес, телефон и т.д.). теперь хранятся в базе, а не в текстовом файле, и редактируются в вебинтерфейсе самой программы Easyhotspot.
  • Добавлены кнопки для перехода из меню Администратора в меню Кассира и наоборот.
  • Реализована взможность для Администратора удалять ваучеры и счета даже в том случае, когда в программе параметр про «Доверие кассиру» установлен как «Нет».
  • В программу было добавлено ограничение — за один раз Кассир может сгенерировать не более 900 ваучеров.
  • В меню Кассира на «домашней» странице добавлена информация о нагрузке сервера (аналогичная той, что показывает команда top).
  • Скрипт сброса гостевых ваучеров изменен.
  • В базу добавлена новая таблица — история гостевых доступов. В программе добавлено меню для просмотра этой статистики.
  • В меню Клиентов с оплатой по счету также добавлена возможность просмотра сеансов Клиента.
  • При выводе данных о сеансах Клиента изменен порядок вывода записей — первыми выводятся самые «свежие» данные.
  • Исправлена ошибка, приводившая к тому, что в процессе редактирования ваучера, при сохранении изменений был шанс «непроизвольно» сменить ваучеру Тарифный пакет.
  • Добавлена «привязка» Клиента (с оплатой по счету) к mac-адресу.

Новые меню для отображения результатов работы платежных модулей

В меню Администратора добавлены новые кнопки (пункты меню). Каждая из них позволяет просмотреть отчет по работе сообтветствующего платежного модуля.

Для модуля приема платежей по СМС:

admin_view_sms_sale_list1

Меню постранично выводит список всех транзакций обработанных модулем. В меню указываются все доступные данные о запросах. Дополнительно, есть возможность посмотреть информацию об идентификаторе транзакции по базе смс-агрегатора, если навести указатель мыши на пункт с номером (No). В поле поиска можно ввести следующие данные: № мобильного телефона, короткий номер, на который была отправлена СМС, дата, идентификатор транзакции по базе смс-агрегатора. Поиск будет выполнен по любому из указанных параметров. Внизу страницы под списком выводится сумма выручки для текущей страницы и для всех записей в базе. Кроме того, если щелкнуть мышью на ЛОГИНЕ ваучера, откроется новое меню, в которм будет представлена информация обо всех сеансах данного ваучера (см. ниже).

Для модуля приема платежей по банковски пластиковым картам:

Admin_view_liqpay_sale_list1

Меню постранично выводит список всех транзакций обработанных модулем. В меню указываются все доступные данные о запросах. Дополнительно, есть возможность посмотреть информацию об идентификаторе транзакции по базе Liqpay, если навести указатель мыши на пункт с номером (No). В поле поиска можно ввести следующие данные: № мобильного телефона, Тарифный пакет, №заказа, дата заказа, идентификатор транзакции по базе Liqpay. Поиск будет выполнен по любому из указанных параметров. Внизу страницы под списком выводится сумма выручки для текущей страницы и для всех записей в базе. Кроме того, если щелкнуть мышью на ЛОГИНЕ ваучера, откроется новое меню, в которм будет представлена информация обо всех сеансах данного ваучера (см. ниже).

Простой «кабинет пользователя»

В программу добавлена страница (cgi-скрипт), адрес которой может быть предоставлен клиентам, чтобы они имели возможность просмотра статистики своего использования интернета. Попав на страницу, клиент должен ввести свой логин, после чего попадает в список всех своих сеансов. Если сеансов много, список выводится постранично, вверху выводится номера страниц (до 10 пунктов), плюс поле для ввода конкретной страницы. Выглядит список следующим образом:

client_cabinet

 

Клиент может «фильтровать» данные. Для этого данные в ряде столбцов таблицы являются ссылками. Ссылками являются — дата (когда сеанс был начат), mac-адрес клиентского компьютера (или иного интернет-гаджета), IP-адрес NAS (читай, хотспота), к которому клиент был подключен во время сеанса. Щелчок мышью по любому из указанных параметров выбирает этот параметр как критерий отбора записей из базы. То есть, например, щелкнув по дате, клиент получит записи только за указанную дату. Аналогично с mac-адресом и IP-адресом NAS. Причем, критерии отбора суммируются. То есть, например, сначала клиент отобрал записи с какой-то датой, а потом щелкнул по IP-адресу NAS. В итоге он получит данные только о сеансах, когда он был подключен именно к данному хотспоту и именно в указанный день.

Внизу списка маленькая табличка подсчитывает «Итого» для записей, которые отображены на странице, и для всех записей в базе. Тамже находится кнопка «Все записи (сброс критериев поиска)«, назначение которой прямо на ней и написано. Как говорится, «Лучше один раз увидеть, чем сто раз услышать»: действующий пример «кабинета» можно посмотреть по ссылке. Чтобы войти, используйте логин kolja, для которого в базе есть данные о сеансах.

Новое меню программы, отображающее список всех сеансов выбранного ваучера

В программу добавлена новая страница, отображающая список сеансов доступа в интернет для выбранного ваучера (аналогично скрипту view_radius.cgi), но только, во первых, внутри программы и, во вторых, только для конкретного выбранного клиента. Чтобы попасть на страницу, в списке ваучеров нужно щелкнуть логин ваучера.

Выглядит список сеансов ваучера (клиента) вот таким образом:

Kassir_view_client_sessions2

Если список всех сеансов не умещается в одну страницу, выводятся кнопки для постраничной навигации. Также, внизу страницы отображается целый ряд параметров: сколько клиент провел времени в интернете, сколько времени осталось, сколько трафика клиент отправил в интернет, и сколько получил, какой у клиента Тарифный пакет, каков номинал Тарифного пакета, дата, когда ваучер активирован, и дата, когда истечет «Срок годности» данного ваучера.

Как уже было сказано выше, этот же список сеансов ваучера можно просмотреть для ваучеров проданных либо за СМС, либо с оплатой с помощью пластиковой банковской карты. Для этого в соответствующем меню Администратор должен также щелкнуть логин ваучера.

Печать выбранной группы ваучеров

Теперь в списке ваучеров есть возможность проставить «галочки» напротив избранных, и затем нажать кнопку «Распечатать выбранные ваучеры«. В итоге вы получите распечатку только тех ваучеров, которые вы выбрали. Выглядит это следующим образом:

kassir_print_selected_vouchers

Абсолютно новый макет страницы авторизации

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

  • Страница В ЛЮБОМ ИЗ РЕЖИМОВ состоит из двух глобальных модулей. С одной стороны, на всю площадь «транслируется» содержимое внешней страницы (рекламной, информационной, еще какой-то — на ваш выбор). С другой — вверху страницы (узкой полоской) выводится именно меню авторизации. Таким образом, ваша реклама или любая иная информация присутствует на странице авторизации всегда. Адрес этой «страницы-подложки» вынесен отдельным параметром в файл настроек, чтоб вы могли его легко изменить по собственному желанию.
  • Страница автоматически определяет мобильные гаджеты (смартфоны и т.п.). Если обнаружен мобильный девайс, макет страницы меняется таким образом, чтобы на мобильном устройстве клиент видел НОРМАЛЬНОГО РАЗМЕРА поля формы и мог вводить в них значения ЧИТАБЕЛЬНО, и при этом, без необходимости каких-либо дополнительных манипуляций с масштабом страницы. (больше скриншотов мобильной версии страницы авторизации).
  • Также, если страница определила у клиента мобильный гаджет, вывод popup-окна (мешавшего авторизации на таких устройствах) выключается автоматически (теперь настройка параметра страницы авторизации про popup важна, только в случае, если клиент подключился «обычным» устройством, например, ноутбуком).
  • Кнопки платежных модулей теперь просто подписаны словами, и сгруппированы в отдельное меню, которое изначально скрыто. Вместо этого списка на странице авторизации теперь присутствует кнопка с надписью «Купить». Щелкнув ее, клиент получает меню со списком доступных для его выбора систем оплаты. Повторный щелчок по кнопке скрывает меню, равно как и щелчок по свободному полю самого меню (мимо размещенных на нем кнопок).
  • Если хотспот обслуживает клиентов ТОЛЬКО в режиме доступа после просмотра рекламы, и никакие иные способы не используются (парольный вход, платежные модули), то после отсчета времени паузы (просмотра рекламы) клиент авторизуется АВТОМАТИЧЕСКИ (ему теперь не нужно вообще нажимать какие бы то ни было кнопки).

Посмотреть на текущий вариант страницы можно по ссылке: Пример страницы авторизации хотспота

Страница авторизации сама чистит куки, если авторизация клиента не удалась

В момент авторизации клиента страница «автоматом» пишет куки (cookies) с логином и паролем в его браузер. Недостаток решения в том, что если клиент ввел неверные данные, в куки записываются неправильные логин и пароль. Впоследствии эти ошибочные данные снова подставляются в страницу авторизации. И у многих «блондинистых» владельцев (особенно) мобильных гаджетов выкорчевать эти куки абсолютно не хватало ни знаний, ни желания и т.д. и т.п. По этому, теперь страница авторизации в случае, когда хотспот отказал в авторизации, сама удаляет эти куки. Результат — «безмерная благодарность администраторов хотспотов«.

«Рюшики» в отображении срока годности

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

admin_expiration_field

Аналогично реализовано теперь и в самих ваучерах:

voucher_new_maket

«Рюшики» в отображении объемов трафика и времени

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

Новый платежный модуль — оплата по СМС, через сервис «Мобильной комерции» Неолайн

Данный модуль в своей работе использует сервис Мобильных Платежей, предлагаемый фирмой Неолайн. Главное отличие данного сервиса от услуг, предлагаемых СМС-агрегаторами, состоит в гораздо более высоком проценте отчислений Партнеру (см. на странице по ссылке, приведенной выше, пункт «Смотреть финансовые условия», при этом в таблице выбирайте категорию услуги — Internet). Подробнее о модуле — на странице:

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

Новый платежный модуль — оплата СМС через «Мобильную комерцию» от Авизо СМС

Данный модуль в своей работе использует сервис Мобильных Платежей, предлагаемый фирмой Aviso-SMS. Главное отличие данного сервиса от услуг, предлагаемых СМС-агрегаторами, состоит в гораздо более высоком проценте отчислений Партнеру (см. на странице тарифов по ссылке). Прочие условия обслуживания указаны на этой странице. Подробнее о самом модуле — на странице:

Еще один модуль для обслуживания клиентов по СМС (через Aviso-SMS)

Изменена процедура формирования файла со списком пар Логин-Пароль

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

Данные о хотспоте (фирма, адрес, телефон и т.д.). теперь хранятся в базе

Теперь вся информация о хотспоте (фирма, адрес, телефон, валюта и т.д.) хранится непосредственно в самой базе и редактируется в вебинтерфейсе самой программы Easyhotspot. Для этих целей в меню «Информация о системе» у Администратора добавлена новая кнопка — «Редактирование данных о хотспоте».

В меню Кассира на «домашней» странице откорректирован показ информации о версии ОС, установленной на сервере

В меню теперь отображается «имя» операционной системы, а также ее архитектура.  См. рис. ниже:

Info_about_OS_version_and_arch

На страницах Клиентов с оплатой по счету, Ваучеров, Статистики гостевых, а также Клиентов онлайн в меню Кассира добавлена сортировка списков по ряду ключевых столбцов

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

Cashier_sorted_list

Для наглядности в Списке клиентов с оплатой по счету дата окончания срока обслуживания, которая уже прошла, выделяется красным цветом

Данная функция позволяет сразу видеть, кто из клиентов в списке уже не обслуживается. Пример можно посмотреть на рисунке ниже (в иллюстрации к следующей новости).

Добавлена функция экспорта списка Клиентов с оплатой по счету в csv-файл

Под списком Клиентов с оплатой по счету добавлена новая кнопка. При ее нажатии программа Easyhotspot из базы данных генерит csv-файл со списком всех Клиентов с оплатой по счету, после чего предлагает вам его открыть либо сохранить. В целях безопасности, данный файл на сервере не сохраняется вовсе, он генерируется «на лету» и тут же «выталкивается» в браузер. И уже Браузер предлагает вам сохранить файл либо открыть его. Также, в целях безопасности, функция работает только в случае, если в программу вошел Администратор, Кассиру функция не доступна. Кнопка показана на рис. ниже:

Cashier_binded_MAC_expired_date_CSV_export

В меню Ваучеров теперь возможно выделение всех строк на странице «одним кликом»

Добавлена функция, облегчающая выбор сразу всех ваучеров из списка на текущей странице. Для этого достаточно просто щелкнуть мышью» кнопку «Отм.» в шапке таблицы. Программа выберет сразу все ваучеры в списке текущей страницы. Повторный щелчок по кнопке «Отм.» нимает выбор со всех строк. Пример см. в иллюстрации к следующей новости.

В меню Ваучеров теперь возможно удаление всех выделенных ваучеров «одним кликом»

Добавлена кнопка, удаляющая за раз все выделенные ваучеры (все ваучеры, у которых проставлена «птичка в колонке «Отм.»). Данная «групповая» функция упрощает удаление ненужных ваучеров, избавляя от необходимости «поштучного» тыканья в кнопки. Функция безоговорочно доступна Администраторам. Доступность функции Кассирам зависит от настройки параметра про «Доверие кассиру». Если Кассиру разрешено удалять ваучеры, то ему будет предоставлена и возможность их группового удаления. См. рис. ниже:

Cashier_one_click_select_and_delete_selected

В списке сеансов ваучера теперь возможно удалить все его сеансы доступа в интернет

Данная кнопочка позволяет вернуть ваучеру «девственную чистоту». После ее нажатия ваучер снова становится не пользованым: нет израсходованных минут, нет скачанных мегабайт, активация еще не состоялась! Ее появление (и назначение) было продиктовано желанием некоторых администраторов хотспотов угождать чрезмерной лени тех клиентов, которые не хотят запоминать новые логины и пароли…

Cashier_delete_session_data

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

В списке статистики гостевых ваучеров добавлена новая кнопка. Совместно с выпадающим меню она позволяет удалить старую статистику. То есть, если выбрать из списка период, и потом нажать кнопку «Удалить», из базы будут удалены все записи старее, чем указанный период:

Cashier_delete_old_statistic

В меню Клиентов онлайн добавлен постраничный вывод

Ранее все Клиенты подключенные к хотспоту отображались на одной едиенственной странице вне зависимсоти от их количества. Теперь в программе в этом списке также реализован постраничный вывод (аналогично списку Ваучеров или списку Клиентов с оплатой по счету).

В меню Клиентов онлайн реализована привязка клиента к mac-адресу «в один клик» / Теперь возможна привязка к mac-адресу и для ваучеров

Максимально упрощена процедура привязки аккаунта клиента к mac-адресу. В меню Клиентов подключенных к хотспоту теперь в список добавлена новая кнопка («персональная» для каждого из клиентов в списке). Кнопка выглядит как «иконка-замочек». При ее нажатии программа привязывает аккаунт к текущему mac-адресу авторизованного клиента. При этом не важно — это Клиент с оплатой по счету или Ваучер. Как только Аккаунт будет привязан к mac-адресу, авторизация других устройств с другими mac-адресами и с этими же самыми учетными данными (логином и паролем) станет не возможной! Логины аккаунтов, которые привязаны к конкретным mac-адресам, для наглядности выделяются в списке красным цветом. Повторный щелчок на этой кнопке убирает привязку Аккаунта к mac-адресу.

Kassir_quick_bind_user_to_mac

Для наглядности в меню Клиентов с оплатой по счету, в меню Ваучеров, и в меню Клиентов онлайн те пользователи, кто привязан к mac-адресу выделяются красным цветом

Клиенты, привязанные к реальным mac-адресам, теперь выделяются в списках. Пример выделения в списке клиентов, подключенных к интернету, вы видите на рисунке, размещенномпрямо над этим абзацем — у «привязанного» клиента красным цветом выделяется его логин в колонке «Пользователь». Другой пример вы можете видеть еще выше, на рисунке, показывающем размещение кнопки экспорта списка клиентов в csv-файл. Там у Клиентов с оплатой по счету, привязанных к mac-адресу, красным цветом выделяется пароль. Аналогично выделяются в своем списке и Ваучеры, привязанные к mac-адресам…

В меню Клиентов онлайн щелчок по логину теперь позволяет перейти в список сеансов клиента

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

Скрипт сброса гостевых ваучеров теперь переносит в таблицу статистики только те гостевые ваучеры, которыми РЕАЛЬНО пользовались

Когда в системе включен гостевой доступ, программа генерит персональный гостевой ваучер для каждого устройства, которое подключилось к хотспоту. Однако, в последствии, далеко не все они пользуются доступом в интернет. Перенос статистики выполняет скрипт сброса гостевых ваучеров. Ранее он переносил в таблицу статистики все записи для всех гостевых ваучеров. В итоге, в таблице статистики пристуствовали записи с нулевыми показателями. Теперь же, если у гостевого ваучера записи о сеансах доступа в интернет отсутствуют, то его данные в таблицу статистики не сбрасываются вовсе.

Статистику использованных гостевых ваучеров теперь можно экспортировать в csv-файл

В меню Статистики гостевых ваучеров добавлена кнопка. При щелчке по ней программа генерит csv-файл с данными, хранящимися в таблице, после чего предлагает вам его открыть либо сохранить. В целях безопасности, данный файл на сервере не сохраняется вовсе, он генерируется «на лету» и тут же «выталкивается» в браузер.

В кабинете пользователя для Ваучеров теперь отображается Номинал ваучера и дата, когда истекает Срок годности ваучера

Клиент может в кабинете увидеть, когда истекает срок обслуживания используемого им ваучера, а также основной лимит Ваучера (номинал). Выглядит это следующим образом:

Cabinet_voucher_limits

В кабинете пользователя для Клиентов с оплатой по счету теперь отображается, через сколько дней прекратится обслуживание его аккаунта

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

Cabinet_account_client_limits

Обновлена версия плагина dompdf

Версия плагина dompdf, осуществляющего экспорт ваучеров в PDF-файл, обновлена.

Для Клиентов с оплатой по счету добавлена возможность сортировки списка по дате окончания обслуживания

В программе дата окончания обслуживания теперь пишется в базу данных не как текстовая строка с датой, а как timestamp, благодаря чему появилась возможность корректной сортировки списка именно по этому параметру.

Для Клиентов с оплатой по счету добавлена кнопка, которая выставляет счет без удаления аккаунта Клиента

Для клиентов с оплатой по счету добавлена кнопка, которая выставляет Клиенту счет, удаляет старые записи о его сеансах доступа в интернет, но при этом не трогает сам аккаунт Клиента — Клиент и дальше может продолжать работать. Кнопка так и называется — «Выставить счет, Клиент продолжит работать». Ранее при выписке счета Клиенту аккаунт этого Клиента автоматически удалялся. Теперь кнопок две, и у Кассира есть возможность выбора — удалять Клиента после выписки счета или нет.

Страница авторизации удаляет пробелы из полей логина и пароля (иногда клиенты добавляют их по ошибке)

Клиенты (или их браузеры) иногда умудряются в поля для логина и пароля добавить пробелы (перед значением, или после него). Страница авторизации преобразует такие пробелы в символ подчеркивания «_», и в конечном результате авторизация Клиента не проходит. В код страницы авторизации была добавлена процедура, удаляющая эти пробелы из логина и пароля, в результате чего число ошибок авторизации снизилось.

Инсталятор теперь позволяет установить хотспот на Debian 7.х

В связи с тем, что у Debian сменилась «стабильная» версия (с 6.0.х на 7.х), скрипт-инсталятор был подкорректирован и теперь он позволяет устанавливать модифицированную версию программы Easyhotspot и на эту ОС.

Инсталятор теперь позволяет установить на сервер хотспота программу Webmin

Как сказано в Википедии: «Webmin — это программный комплекс, позволяющий администрировать операционную систему через веб-интерфейс, в большинстве случаев, позволяя обойтись без использования командной строки и запоминания системных команд и их параметров». Иными словами — эта программа позволяет делать очень многое, используя браузер и подключившись к серверу.

Скрипт-инсталятор теперь во время установки сервера хотспота задает вам дополнительный вопрос — хотите ли вы установить Webmin? Если вы отвечаете утвердительно, в систему устанавливается данное ПО.

Написан новый скрипт для установки на сервер хотспота Coova-Chilli вместо Chillispot

В комплект к программе добавлен новый (отдельный) скрипт, позволяющий установить на сервер Coova-Chilli либо «с нуля», либо обновить уже установленный Chillispot до Coova-Chilli. Скрипт не запускается сам ни при установке сервера, ни при обновлении программы, он должен запускаться вручную. При обновлении Chillispot до Coova-Chilli скрипт переносит основные параметры из настроек Chillispot в настройки Coova-Chilli.

Исправлена ошибка печати счетов, возникшая после обновления плагина dompdf

После обновления версии плагина на актуальную, в формах счетов не был заменен шрифт на кириллический. В итоге счета выписывались с «вопросиками» вместо русских букв (имеется ввиду именно в сгенерированных pdf-файлах). Исправлено.

Сервер FreeRADIUS теперь использует новый модуль счетчика на perl

Обновлена настройка сервера FreeRADIUS — в него добавлен новый модуль, написанный на языке perl. На новый модуль возложены следующие функции:

  • Счетчик трафика (мегабайт). Благодаря этому теперь корректно работают тарифы, которые ограничивают объем данных (трафик), в случаях, когда размер  лимита превышает 4Гб. Причем, благодаря переносу счетчика на perl, «проблема 4Гб» гарантировано отсутствует вне зависимости от разрядности выбранного дистрибутива Linux — 32 бита (i386) или 64 бита (amd64). Ранее ваучеры таких тарифов могли давать ошибку авторизации.
  • Проверка срока годности ваучера. Добавлена лишь с целью вывода корректного сообщения Клиенту на странице авторизации. С самим подсчетом вполне прекрасно справлялся и предыдущий счетчик в виде mysql-запроса. Но при этом раньше отсутствовал «персональный» ответ о причине отказа. Модуль на perl позволил выводить сообщение о том, что причина отказа в авторизации — ИМЕННО окончание срока годности ваучера.
  • Проверка одновременного числа логинов. Добавлена к «штатной» для подстраховки, во избежание ложных результатов.Данная функция позволяет отказаться от использования radutmp, который иногда мог давать отказы в авторизации Клиентам по причине якобы превышения числа одновременных логинов.

Как дополнительный «бонус», использование данного нового модуля, написанного на языке perl, позволило добиться корректного получения лимитов трафика роутерами Mikrotik без необходимости дополнительной «рихтовки кода под себя».

В настройках сервера FreeRADIUS отредактирован ряд параметров, отвечающих за проверку логина, пароля и т.д.

Были подкорректированы параметры, отвечающие в настройках RADIUS за проверку пароля, и ряда иных параметров. Целью данной корректировки было включение во всех проверках чувствительности к регистру вводимых букв. В результате была устранена возможность авторизации с «поЧтИ прАвильНЫМи» логинами и паролями.

Запущен тестовый сервер с программой Easyhotspot

В интернете был размещен тестовый сервер с модифицированной программой Easyhotspot. Его главное отличие в том, что это именно полноценный сервер биллинга, настроенный для обслуживания внешних роутеров («Вариант №3«), а не только веб-интерфейс, как на «демо-сайте«. Этот сервер позволит проверить возможность работы ваших роутеров с сервером биллинга. Подробности описаны в документе по ссылке.

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

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

Добавлены кнопки для перехода из меню Администратора в меню Кассира и наоборот

Теперь, чтобы попасть из меню Администратора в меню Кассира не нужно выходить из программы, и по новой авторизоваться в ней другим пользователем. Достаточно просто нажать кнопку для перехода в другое меню. Кнопки доступны (присутствуют в меню) только в случае, если вошедший в программу пользователь — Администратор или Суперадминистратор (что на мой взгляд, вполне логично).

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

После того, как у Администратора появилась возможность нажатием одной кнопки перейти в меню Кассира, вполне логично возник вопрос — «А почему он не может удалить клиента или ваучер? Ведь он же Админ?!». Программа была изменена таким образом, что теперь Администратор, находясь в меню Кассира, может удалять Клиентов и ваучеры вне зависимости от того, какое значение установлено у параметра про «Доверие Кассиру». параметр этот теперь влияет только на отображение кнопок удаления пользователю-Кассиру. Если же пользователь — Администратор или Суперадминистратор, кнопки для удаления Клиентов, ваучеров и счетов присутсвуют всегда.

В программу было добавлено ограничение — за один раз Кассир может сгенерировать не более 900 ваучеров

Один из посетителей на демо-сайте «на радостях» сгенерил в одном из тарифов 9999 ваучеров. Попытка их удаления (точнее сказать — попытка удаления самого Тарифного пакета, как способа «одним махом» удалить все ваучеры данного номинала) надолго вывела из строя систему (в том плане, что читать из базы программа еще могла, а вот писать в нее — уже нет). В результате в коде появилось принудительное ограничение — если кассир ставит при генерации число ваучеров, равным 901 и выше, система принудительно выставляет его равным 900. Пара замечаний по данному ограничению. Во первых, ограничение введено просто для снижения нагрузки на сервер при выполнении «групповых действий». А во вторых, это ограничение не обозначает жесткий лимит на ОБЩЕЕ число ваучеров даже одного и того же Тарифного пакета! То есть, если вы все-таки захотите создать ваучеров больше, чем 900, то вам просто придется сделать это за несколько шагов – первый раз 900, второй раз 900, …и так далее, пока не будет достигнуто желаемое значение.

В меню Кассира добавлена информация о нагрузке сервера 

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

Скрипт сброса гостевых ваучеров изменен

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

В базу добавлена новое меню — статистика гостевых доступов

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

Kassir_free_vouchers_history

Добавлена «привязка» Клиента (с оплатой по счету) к mac-адресу

Программа позволяет привязать Клиента к определенному mac-адресу. При этом Клиент, для которого в программе указан конкретный mac-адрес, сможет авторизоваться и получить доступ в интернет только в том случае, если mac-адрес его устройства совпадает с тем, который записан в базу данных. В случае, если mac-адрес устройства, с которого Клиент пытается подключиться к интернету, отличается от того, который вписан в базу, Клиент не сможет попасть в интернет даже в том случае, если будет вводить правильные логин и пароль.

По умолчанию у только что созданного Клиента с оплатой по счету привязка к mac-адресу ОТСУТСТВУЕТ! По этому, авторизоваться и получить доступ в интернет Клиент может с любого устройства с любым mac-адресом. Чтобы «привязать» клиента к mac-адресу, в программу нужно ввести mac-адрес его устройства (компьютера, ноутбука, иного интернет-гаджета). Как только в программу в параметры учетной записи Клиента будет вписан какой-то конкретный mac-адрес его устройства, то автоматически ему будет запрещен доступ в интернет с устройств с иными mac-адресами!

Узнать, привязан Клиент к какому-то mac-адресу или нет, очень просто. Для этого нужно в списке Клиентов с оплатой по счету просто навести курсор мыши на пароль выбранного Клиента. Если для Клиента указан mac-адрес, к которому он «привязан», то появится всплывающая подсказка, в которой будет указан и сам mac-адрес. Для Клиентов, у которых привязка к mac-адресу не активна, при наведении курсора мыши на их пароль, такой всплывающей подсказки не появляется совсем.

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

  • Всвязи с участившимися случаями установки на VDS/VPS в инсталятор был добавлен вопрос об этом. В случае, если вы ответите, что устанавливаете биллинг на VDS/VPS, инсталяторне будет пытаться управлять файерволом виртуального сервера (это приводило к зависанию установки).
  • Всвязи с переносом функции редактирования информации о хотспоте непосредственно в саму программу Easyhotspot, из инсталятора были убраны функции ввода этих значений при первой установке и переносе старых значений при обновлении.

Обновления в документации

 


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

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

Новости модифицированной версии Easyhotspot, ноябрь 2012

Модифицированная версия программы Easyhotspot является билинговой программой для управления хотспотом или сетью хотспотов. Благодаря дополнительным модулям: приема платежей по СМС и приема платежей с банковских пластиковых карт, программа предоставляет возможность полностью автоматического обслуживания клиентов хотспота.

Подробнее прочесть о модифицированной версии программы Easyhotspot можно вот в этой заметке: «Простой биллинг с веб интерфейсом — Easyhotspot«.

С момента прошлого анонса обновлений были выполнены следующие действия:

В программу были добавлены новые замечательные возможности. «Красной строкой» о них:

  • Клиентам с оплатой по счету теперь можно выставить дату окончания обслуживания!
  • Появилась возможность привязки клиентов и Тарифных пактов к конкретному хотспоту! 
  • Отныне в Easyhotspot есть возможность редактирования Тарифных пакетов!

 

А теперь немного подробнее обо всех этих новинках.

Дата окончания обслуживания

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

kassir_expiration_2

Меню отображает текущее установленное значение параметра, дает возможность сбросить установленную дату, а также позволяет выполнить установку даты окончания обслуживания клиента тремя способами:

  • Кнопка «Этот месяц» автоматически выставляет датой окончания обслуживания 1-е число следующего месяца.  Например, действие происходит 2 сенября 2012 года. При нажатии Кнопки «Этот месяц» в систему будет вписана дата 1 октября 2012 года, и как следствие, клиент сможет проработать весь «этот» месяц (сентябрь). А 1-го октября 2012 года в 00 часов 00 минут обслуживание клиента будет прекращено, и он не сможет войти в интернет.
  • Кнопка «След. месяц» автоматически выставляет датой окончания обслуживания 1-е число месяца через один от текущего.  Например, действие происходит 30 сенября 2012 года. При нажатии Кнопки «След. месяц» в систему будет вписана дата 1 ноября 2012 года, и как следствие, клиент сможет проработать весь «следующий» месяц (октябрь). А 1-го ноября 2012 года в 00 часов 00 минут обслуживание клиента будет прекращено, и он не сможет войти в интернет.
  • Кнопка «Выбрать дату» вызывает дополнительное меню — календарь. В этом меню вы можете выбрать произвольную дату, когда обслуживание клиента будет прекращено. После того, как вы выберете дату, и она появится в поле справа от надписи «Произв. дата», вам нужно нажать кнопку «Установить». Только  после этого выбранное значение даты будет вписано в базу программы. ВАЖНО: учтите что устанавливаемая вами дата — это дата, когда в 00 часов 00 минут обслуживание клиента прекратится. То есть, если вы устанавливаете 12 сентября 2012 года, то клиент сможет войти в интернет по 11 сентября 2012 года включительно, а вот 12 сентября, начиная с 00 часов 00 минут, — уже не сможет!

Клиент при авторизации, если истек срок его обслуживания, получает вот такое сообщение:
login_page_expiration

«Привязка» к хотспоту:

Теперь программа позволяет «привязать» клиента к конкретному хотспоту.

Для Клиентов с оплатой по счету эта процедура осуществляется с помощью специального меню. Меню выглядит следующим образом:

kassir_nasid_menu

Вызывается меню щелчком по иконке «глобуса» в списке клиентов. Чтобы указать идентификатор хотспота, к которому будет «привязан» клиент, нужно ввести его ID в поле для ввода и нажать кнопку «Установить». Если же, вы хотите, чтобы клиент, ранее «привязанный» к хотспоту, смог снова обслуживаться любым хотспотом, то в таком случае, в меню нужно нажать кнопку «Удалить».

Для «ваучерных» клиентов персональной привязки к хотспоту НЕТ! К хотспоту может быть «привязан» только Тарифный пакет! В итоге все ваучеры, созданные на основании такого Тарифного пакета, будут «привязаны» к конкретному хотспоту. Идентификатор хотспота указывается непосредственно во время создания Администратором нового Тарифного пакета:

admin_new_tarif_nasid_field

При этом, если «ID-хотспота» не указан (поле оставлено пустым), ваучеры, созданные на основе такого Тарифного пакета, будут обслуживаться ЛЮБЫМИ хотспотами. Если же идентификатор указать, то ваучеры будут проходить авторизацию только на тех хотспотах, у которых установлен точно такой же ID.

Редактирование Тарифных пакетов:

Наконец-то в программе появилась возможность редактирования уже существующих Тарифных пакетов! В списке Тарифных пакетов добавлена кнопочка, при щелчке по которой появляется вот такое меню:

admin_edit_tarif_menu

Думаю, дополнительные разъяснения по самой процедуре редактирования излишни. Чтобы измененные параметры были сохранены в базе,  по окончании редактирования достаточно щелкнуть кнопку «Установить».

Изменения внешнего вида меню (стиля CSS + добавление новых столбцов)

Всвязи с добавлением новых параметров в списках, отображающих Клиентов с оплатой по счету (у Кассира) и Тарифные пакеты (у Администратора), были добавлены новые колонки. Это повлекло за собой дополнительное расширение самих таблиц, в результате они  начали «вылазить за границы». По этому, в таблице стилей (CSS) был изменен параметр, определяющий ширину самого меню. Теперь она равна 1100 пикселей. Как следствие, страница теперь вылазит за границы, если вы используете монитор с разрешением по горизонтали 1024 пикселя и ниже, но кто их такие теперь использует?.

Внешний вид измененного меню Тарифных пакетов:

admin_new_tarif_menu

Внешний вид меню Клиентов с оплатой по счету:

kassir_new_clients_menu

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

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


Продолжения:

Новости Easyhotspot — май 2013

Обновления Easyhotspot, июль 2012

Модифицированная версия программы Easyhotspot является билинговой программой для управления хотспотом или сетью хотспотов. Благодаря дополнительным модулям: приема платежей по СМС и приема платежей с банковских пластиковых карт, программа предоставляет возможность полностью автоматического обслуживания клиентов хотспота.

Подробнее прочесть о модифицированной версии программы Easyhotspot можно вот в этой заметке: «Простой биллинг с веб интерфейсом — Easyhotspot«.

С момента прошлого анонса обновлений были выполнены следующие действия:

Вебинтерфейс программы:

  • Веб-интерфейс программы теперь может отображаться на одном из двух языков — русском или английском (по вашему выбору). Смена языка интерфейса осуществляется изменением единственного параметра в файле настроек программы. Пример английского интерфейса можно посмотреть по ссылке.
  • В списке ваучеров в меню Кассира добавлена popup-подсказка, в которой выводится дата и время активации ваучера. Чтобы ее увидеть, нужно навести курсор мыши на логин выбранного ваучера. Такая же popup-подсказка добавлена и на страницу результатов поиска. Увы, но эта подсказка не отображается в браузере Opera (в остальных наиболее популярных — IE, Firefox, Chrome подсказка присутствует).
Рис. 1 - Английский интерфейс программы + popup-подсказка с датой и временем активации ваучера
Рис. 1 — Английский интерфейс программы + popup-подсказка с датой и временем активации ваучера

Страница авторизации:

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

Инсталятор:

  • Инсталятор теперь позволяет установить Easyhotspot не только на дистрибутив Ubuntu (будь-то 10.04 или 12.04), но и на дистрибутив Debian 6.0.x!
  • Небольшие модернизации в скрипте для установки на Ubuntu 12.04 LTS.
  • В инсталятор добавлен вопрос о том, какой язык установить для веб-интерфейса программы Easyhotspot — английский или русский.
  • В инсталятор добавлена проверка архитектуры использованного дистрибутива. Если установлен дистрибутив с 32-битной версией ОС, установка происходит без проблем. Если же установлена 64-битная версия ОС, и при этом выбран вариант установки такой, при котором контроллер доступа  Chillispot  должен будет работать непосредственно на сервере, установка прекращается. Пользователю выводится сообщение о невозможности установить систему на 64-битную версию ОС Linux. Это связано с тем, что контроллер доступа Chillispot  НЕ РАБОТАЕТ на 64-битных версиях ОС!

Документация:

 


Продолжения:

Новости модифицированной версии Easyhotspot, ноябрь 2012

Новости Easyhotspot — май 2013

Настройка PPPoE в Ubuntu, когда ADSL-модем настроен как bridge

Оставим в стороне вопросы типа «А не проще ли было настроить модем роутером и не мучиться?». Так было нужно. Цель — средствами консоли (ну не нравится мне network-manager!!!) настроить PPPoE соединение, автоматически стартующее при загрузке компьютера.

Настройка производилась по статье с сайта официальной документации Ubuntu. Стаья расположена по адресу:

https://help.ubuntu.com/community/ADSLPPPoE

Вводная — модем, как и сказано в заголовке статьи, настроен в режиме bridge, в него вписаны значения VPI и VCI, выданные провайдером. Модем подключен кабелем в сетевую плату eth0 компьютера, на котором установлен дистрибутив Ubuntu desktop 12.04.

Итак, запускаем терминал, и в нем вводим команду:

sudo pppoeconf

Вариантов дальнейшего развития может быть два. Первый — неудовлетворительный: пакет pppoeconf не установлен. В таком случае его можно например, поискать и скачать с сайта пакетов Ubuntu  и установить «руками». Также, пакет может присутствовать на том диске, с которого вы устанавливали Ubuntu. Добавьте его в число источников ПО и затем выполните установку.

Второй вариант — благоприятный, пакет pppoeconf  установлен. В таком случае запустится программа настройки PPPoE подключения. Самый первый скрин работы программы в данной заметке не приведен — в нем программа проводит сканирование сетевых адаптеров на предмет наличия модемов. ВАЖНО: на момент запуска программы модем должен быть (а) включен, (б) подключен к линии и (в) подключен к компьютеру! Иначе, программа сообщит, что модемов не найдено и завершит свою работу.

После того, как модем найден, программа выдаст предупредительное сообщение:

С учетом того, что мы все-таки пришли сюда, чтобы настроить новое (а может быть и перенастроить старое) подключение, СОГЛАШАЕМСЯ — щелкаем «ДА».

Следующее сообщение программы поинтересуется, хотим ли мы использовать некие предлагаемые ей дополнительные опции подключения:

В моем случае (равно как и в 99% остальных), эти дополнительные опции будут вовсе не лишними. Желающие подробнее узнать о сути этих параметров могут (как и предлагается системой) почитать man (8) pppd, ну или ознакомиться с его переводом на русский язык в интернете. Соглашаемся, щелкаем «ДА» и перходим к следующему шагу.

Программа предложит вам ввести имя пользователя:

В этом поле вам нужно ввести тот логин (имя пользователя), который вам выдал провайдер. Будьте внимательны, не допускайте ошибок. Также, дополнительно обращаю внимание ваше внимание на регистр букв, «User» и «user» — это РАЗНЫЕ логины!

Следующий пункт — ввод пароля:

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

Следующий вопрос — об автоматическом добавлении адресов  DNS-серверов провайдера в список к «уже имеющимся в системе», после того, как устанавливается подключение:

СОГЛАШАЕМСЯ! Без этого мы рискуем получить неработающую систему. (Или вы наизусть помните все IP-адреса интересующих вас серверов? 🙂 )…

Следующее диалоговое окно программы предложит установить для ADSL-подключения  размер MTU равным 1452 байтам:

Тоже соглашаемся. Программа сообщит, что все параметры, необходимые для подключения настроены, и поинтересуется, хотите ли вы, чтобы ADSL-подключение устанавливалось автоматически при загрузке компьютера:

Отвечаем «ДА», но при этом пусть вам «на ум пойдет», что на самом деле этого БЕЗ ДОПОЛНИТЕЛЬНЫХ «телодвижений», увы происходить не будет! Об этом также сказано и в той статье с сайта Ubuntu, ссылку на которую я приводил выше. Переживать не стоит, ниже мы еще «поколдуем», чтобы впоследствии все было ОК.

В следующем окне программа предложит установить соединение прямо сейчас:

Выбираем «ДА»,программа выполнит процедуру подключения. Данное меню также предлагает вам запомнить две команды: pon dsl-provider и poff. Первая из них позволит вам вручную в консоли подключаться к провайдеру. Вторая — отключаться.

Должен дополнительно заметить, что если ранее вы ошиблись при вводе логина и/или пароля, то подключение произойдет как и положено (все будет выглядеть отлично!), но при этом доступ в интернет будет отсутствовать. По крайней мере, у меня именно так и было (я не доглядел в пароле, что одна из букв была введена мной не в том регистре, и в итоге лишние полчаса был вынужден угадывать — «как так, подключение ОК, а интернета нету?!»)…

Последний скрин — сообщение об успешном подключении:

На этом работа программы pppoeconf завершена. С данного скрина вам стоит запомнить команду plog, выводящую лог последнего подключения (надеюсь, команда ifconfig вам итак уже была известна)…

Проверить, что мы успешно подключились, в консоли проще всего такой командой:

ping -c5 google.com

Она позволяет нам сразу увидеть, что все прекрасно — служба DNS определит IP-адрес  для указанного сервера, и начнет пинговать его. Если все Ok, то пинг достигнет цели, и ваш компьютер получит ответы в том же самом количестве.

Автозапуск при загрузке

Как уже было сказано выше, несмотря на то, что мы согласились с тем, что pppoeconf настроит автоматическое соединение с провайдером во время загрузки компьютера, в реальности этого увы не происходит.

Не «рассусоливая» понапрасну много текста, предлагаю просто выполнить следующее. Отредактируйте файл /etc/network/interfaces. Для этого введите команду:

sudo nano /etc/network/interfaces

И приведите файл к следующему содержанию:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet ppp
pre-up iptables-restore < /etc/network/firewall.rules
pre-up /sbin/ip link set dev eth0 up
post-down /sbin/ip link set dev eth0 down

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

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

Обращаю внимание на строку выделенную цветом — это необязательная команда. Она дословно означает следующее: перед тем как запустить интерфейс eth0 программа iptables-restore должна загрузить правила файервола из файла /etc/network/firewall.rules. В вашем случае она может быть и излишней, поэтому можете ее и не вписывать в файл /etc/network/interfaces.

Чтобы выйти из редактора, нажмите Ctrl + X, и в ответ на запрос согласитесь с сохранением изменений.

Перезагрузите ваш компьютер.  Время загрузки увеличится. Сначала система выведет такой скрин:

Потом такой:

И лишь потом загрузится. Но по окончании загрузки у вас теперь должно быть уже активно подключение, и компьютер должен иметь доступ в интернет.

Ну и напоследок…

Chillispot и PPPoE

Собственно, все эти манипуляции я проделывал на компьютере, который выступал в роли хотспота. И доступ в интернет предоставлял «тот самый» Chillispot.

Нюансов в настройке в таком случае совсем не много. Во первых, в правилах файервола в качестве WAN-интерфейса нужно указать ppp0, вот так (выделено красным):

EXTIF="ppp0"
INTIF="eth1"

А во вторых, на всякий случай, стоит указать в настройках Chillispot-а (файл /etc/chilli.conf) адрес второго сервера DNS таким образом:

dns2 8.8.8.8

Суть данной перестраховки в том, что «может так статься», что на момент запуска Chillispot-а ADSL-соединение еще не будет установлено, и у компьютера еще не будет адреса(ов) сервера(ов) DNS. В итоге, в работе Chillispot могут наблюдаться проблемы. А так, мы принудительно подставляем вторым адрес одного из публичных  DNS серверов Google, который подстрахует, если вдруг будет недоступен DNS сервер провайдера…

Обновления модифицированной версии Easyhotspot на 1 июня 2012

Модифицированная версия программы Easyhotspot является билинговой программой для управления хотспотом или сетью хотспотов. Благодаря дополнительным модулям: приема платежей по СМС и приема платежей с банковских пластиковых карт, программа предоставляет возможность полностью автоматического обслуживания клиентов хотспота.

Подробнее прочесть о модифицированной версии программы Easyhotspot можно вот в этой заметке: «Простой биллинг с веб интерфейсом — Easyhotspot«.

С момента прошлого анонса обновлений были выполнены следующие действия:

Вебинтерфейс программы:

  • Немного подкорректированы стили (CSS), и теперь в формах по созданию Тарифных пакетов и Клиентов с оплатой по счету равная ширина полей ввода и списков для выбора (просто выглядит немного поаккуратней).
  • По результатам проведенного «анкетирования» был изменен список скоростей, присутствующий в выпадающем меню выбора как при создании нового Тарифного пакета, так и при создании и редактировании Клиента с оплатой по счету. Теперь в списке присутствуют такие значения: 128, 256, 512 кБит, 1, 2, 4, 6 , 8, 10, 12 Мбит.
  • В меню создания Клиентов с оплатой по счету добавлен выпадающий список для выбора желаемого значения таймаута (ранее это было фиксированное значение, равное 3 минутам).
  • Расширены возможности редактирования Клиентов с оплатой по счету — теперь можно редактировать и значение поля «Имя клиента».
  • В форме создания нового Тарифного пакета добавлено поле для ввода нового параметра — «График обслуживания». Этот параметр позволит создавать Тарифные пакеты, обслуживаемые не в режиме 24/7, а указывать желаемое время и желаемые дни недели, когда пользователи ваучеров, созданных на основе этих Тарифных пакетов смогут получать доступ в интернет. Подробнее — в теме форума, там же выложена и инструкция на примере показывающая как пользоваться этой новой функцией.
  • Добавлена дополнительная функция — при генерации Кассиром новых ваучеров прогамма  формирует файл со списком только что сгенерированных пар «логин-пароль». (Функция м.б. полезной в случае, если ваучеры, допустим,  печатаются где-то в типографии, и туда нужно передавать логины/пароли, которые д.б. на них распечатаны). Чтобы скачать полученный файл логинов-паролей, в меню на странице Администратора добавлен линк.
  • На странице, показывающей пользователей, которые подключены к хотспоту, добавлены новые информационные поля: порядковый номер, информация об IP-адресе, присвоенном клиенту, и IP-адресе контроллера доступа Chillispot, к которому подключен клиент. Также, в колонке  «Пользователь» для Клиентов с оплатой по счету теперь выводится не только логин, но и реальное имя пользователя.

Страница авторизации:

  • В скрипте страницы авторизации реализована защита функции гостевого доступа от подмены mac-адреса.
  • Для функции обслуживания клиентов по «Графику…» переведены сообщения системы о причине отказа в доступе в «неурочное время»…

Базовые настройки и т.п. :

  • В настройках Easyhotspot изменен параметр base_url, в котором прописывается либо IP-адрес, либо доменное имя сервера, на котором размещена программа Easyhotspot. Недостаток использовавшегося ранее решения заключался в том, что там прописывалось какое-то конкретное значение. При жэтом, если, допустим, в параметре был прописан локальный адрес (вида 192.168.х.х), то поработать с этой программой извне (из интернета) уже не получалось: программа все время пыталась переходить на этот самый локальный адрес 192.168.х.х. Сейчас без изменения данного параметра программа работает при обращении к ней с любого адреса.
  • Переработан скрипт проверки зависших сессий. Ранее, после выполнения скрипта, из списка клиентов, которые подключены к хотспоту, пропадали все клиенты (хотя реально их сеансы продолжались). Поэтому, данный скрипт запускался раз в сутки «в самую глухую ночь». Теперь скрипт не затрагивает абсолютно Клиентов, которые находятся в онлайн, а действует только по отношению к тем, сессии которых реально зависли.
  • В инсталятор включен бинарный файл Chillispot более новой версии (Ubuntu из репозиториев устанавливает версиию 1.0). Теперь инсталятор меняет в системе старый файл на более новую версию — Chillispot версии 1.1.0. Благодаря этому корректно работает автоматический переход клиента после авторизации на запрошенный им адрес.

Инсталятор:

  • Инсталятор теперь позволяет установить Easyhotspot не только на дистрибутив Ubuntu 10.04 LTS но и на новую версию — Ubuntu 12.04 LTS (хотя, версия 10.04 на мой взгляд все-таки предпочтительнее, а 12.04 рекомендуется использовать только в случае, если старая не знает вашего «железа»).
  • Инсталятор модифицирован и теперь во время установки задает вопрос о том, каким образом вы  будете использовать сервер — как сервер хотспота, сквозь который проходит трафик клиентов (Chillispot установлен непосредственно на нем самом), либо как сервер биллинга (к нему будут подключаться внешние точки доступа, при этом Chillispot-ы работают на роутерах), либо как и то и другое. В зависимости от вашего ответа на этот вопрос инсталятора на сервере либо устанавливается  Chillispot, либо открываются «наружу» порты RADIUS-а, либо и то и другое…
  • Изменена процедура обновления инсталятором уже установленной версии Easyhotspot — после обновления самой программы (вебинтерфейса) вам предлагается запустить ее и проверить корректность работы. Важно то, что на этот момент в базе программы сохраняются все ваши старые данные. После проверки вам предлагается ответить на вопрос о том, корректно ли работала программа в такой конфигурации (обновленный вебинтерфейс и старая база). Если вы ответите «Да», то в базе останется вся ваша старая  информация, и после обновления вы сможете продолжить, как ни в чем ни бывало. Если же проверка будет неудачна, отвечаете «Нет» и увы, инсталятор вынужден будет удалить вашу старую базу, а на ее место установить новую — «чистую»…

Документация:

  • Обновлена инструкция по работе в самой программе Easyhotspot. Инструкция значительно переработана с целью более доступного объяснения базиса работы в программе, ее основных функций и возможностей. Также, в инструкцию внесено описание всех тех дополнений и модернизаций, которым программа подверглась с момента написания прошлой редакции этой инструкции (более 2-х лет назад). Инструкция доступна к свободному скачиванию по ссылке — «Программа управления Wi-Fi хотспотом — Easyhotspot, Руководство по эксплуатации«.
  • Написана краткая инструкция по использованию «Графика обслуживания». В ней на примере показано, как создать этот самы й график. Инструкция доступна по этой ссылке — «Управление «Графиком обслуживания».
  • Написана инструкция по перепрошивке Ubiquiti Nanostation Loco 2 прошивкой от OpenWRT и установка в нем и настройке программного контроллера доступа Chillispot, что позволит использовать его в составе «распределенной системы» хотспотов, управляемых единым сервером биллинга. Инструкция предлагается на странице онлайн-покупки.

Продолжения:

Обновления Easyhotspot, июль 2012

Новости модифицированной версии Easyhotspot, ноябрь 2012

Новости Easyhotspot — май 2013

Исправления и обновления в модифицированной версии Easyhotspot на 31 января 2012

Модифицированная версия программы Easyhotspot является билинговой программой для управления хотспотом или сетью хотспотов. Благодаря дополнительным модулям: приема платежей по СМС и приема платежей с банковских пластиковых карт, программа предоставляет возможность полностью автоматического обслуживания клиентов хотспота.

Подробнее прочесть о модифицированной версии программы Easyhotspot можно вот в этой заметке: «Простой биллинг с веб интерфейсом — Easyhotspot«.

С момента прошлого анонса обновлений были выполнены следующие действия:

Исправлены следующие две ошибки:

  • Если в меню администратора, в списке выписанных счетов, выполнить поиск, то результат запроса вываливался уже в меню кассира.
  • После редактирования уже существующего клиента с оплатой по счету и сохранения изменений в базу, у клиента полностью пропадала возможность авторизоваться (подключиться к интернету).

Также выполнены следующие обновления:

  • Ранее функция принудительного отключения в программе корректно работала только в том случае, если клиенты подключались к интернету непосредственно через сам сервер хотспота (chillispot был запущен на том же самом компьютере, что и Easyhotspot). Если же система строилась по схеме: «отдельный сервер биллинга» + роутеры с chillispot внутри них» (как описано в заметке «Организация нескольких хотспотов«), то в таком случае функция принудительного отключения не работала. Теперь функция принудительного отключения корректно отключает любых пользователей, подключенных к любым NAS (контроллерам доступа). Успешно отключаются пользователи, подключенные к внешним роутерам с chillispot-ом внутри них, имеющим самые разные IP-адреса. Также, функция корректно работает и в том случае, когда chillispot используется на самом сервере. То есть, теперь допускается смешивание – когда одновременно используется и chillispot на самом сервере, и внешние роутеры с chillispot-ом вшитым в них.
  • Оформление страницы авторизации вынесено в файлы CSS, причем, происходит их смена в зависимости от разрешения экрана клиентского устройства (компьютера, планшета, мобилки и т.д.). Это позволит вам при желании максимально просто сменить внешний вид страницы авторизации.
  • У страницы авторизации реализована возможность максимально простого отключения поля для парольного входа. То есть, на странице в таком случае остается только кнопка «Гостевого входа». Данная возможность полезна, если вы планируете в своем хотспоте  использовать только бесплатный гостевой вход, и поля для ввода логина и пароля вам не нужны.
  • Переведены на русский язык надписи на кнопках «Вход» и «Гостевой вход». Теперь они могут быть на любом языке, кирилическими или латинскими — не важно.
  • Написан дополнительный скрипт, предоставляющий возможность импорта в базу программы Easyhotspot уже готового списка клиентов из XML-файла.
  • В форме создания Тарифных пакетов (в меню Администратора) реализована проверка значений, вводимых в поля. Проверка не дает теперь ввести наименование Тарифного пакета кроме как латиницей, а в поля, в которых должны быть цифры — не дает вводить что-либо иное. При вводе неверного значения программа выводит информационное сообщение, и также у поля с неверным значением фон меняется с белого на красный.
  • Добавлена индикация номера ваучера, что значительно упрощает их учет. Теперь на каждом ваучере печатается его порядковый номер. Как это выглядит, можно увидеть на показаном ниже рисунке (для наглядности нарисунке номер ваучера дополнительно выделен красной рамкой, которой в реалии не будет). Также, отредактирована и сама функция поиска ваучеров в программе Easyhotspot в меню кассира, что позволяет теперь искать ваучеры не только по логину, но и по их порядковому номеру тоже.
Рис. 1 — Ваучер с порядковым номером

 

Просмотреть все изменения и дополнения, выполненные в программе Easyhotspot, вы можете в соответствующей теме на форуме.


Продолжения:

Обновления модифицированной версии Easyhotspot на 1 июня 2012

Обновления Easyhotspot, июль 2012

Новости модифицированной версии Easyhotspot, ноябрь 2012

Новости Easyhotspot — май 2013