KioskBrowser

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

kiosk-browser-screenshot.png

Визуальная адаптация[править]

С программой поставляется готовая страница, в которой можно загружать в iframe другие страницы, изменять логотип, название, а также есть кнопка возврата на стартовую (домашнюю страницу).

Имеется возможность настройки стартовой страницы, загружаемой в iframe или написания полностью своей HTML-страницы.

kiosk-browser.png

Программа поставляется в бинарном виде для Windows x64, но также может быть скомпилирована для Windows x86 и Linux.

Системные требования[править]

Для работы бинарного дистрибутива необходима Windows x64 от Windows Seven и старше.

Существует техническая возможность использовать сборки NWJS для запуска на Linux.

Установка[править]

Скачать программу можно по ссылке: http://elibsystem.ru/sites/default/files/files/kiosk_browser/KioskBrowserInstaller.exe

Инструкция по кастомизации и сборке под другие платформы доступна после установки в папке программы.

Самостоятельная сборка[править]

Вы можете собрать свой инсталлятор под Windows x86 или дистрибутив для Linux. Для этого установите бинарную версию в Windows. Скопируйте содержимое папки программы в отдельную папку. Установите nodejs. Настройке программу, отредактировав файл config.js. Из командной строки перейдите в папку программы и наберите команду
node dist run
.

Настройка[править]

В файле config.js (C:\Program Files\KioskBrowser\config.js) замените значение homeUrl на нужный вам сайт. Учтите, что раз файл находится в системной папке, для его редактирования необходимо чтобы редактор был запущен с привилегиями администратора или файл вначале нужно скопировать на рабочий стол, отредактировать и затем заменить оригинальный файл C:\Program Files\KioskBrowser\config.js.

Логотип можно заменить в файле "C:\Program Files\KioskBrowser\img\logo.png".

Верхнюю панель можно отредактировать изменив файл "C:\Program Files\KioskBrowser\index.html".

Конфигурационный файл[править]

Конфигурационный файл config.js (C:\Program Files\KioskBrowser\config.js) имеет аналогичную структуру:

var config = {
	homeUrl: "https://demo.elibsystem.ru/app/catalog",
	homeUrlInactivityTimeoutSec: 180,		/* (int) inactivity timoeout for go home.  */
	chromeColor: "#323232",		/* (string) background color (keyboard, header) */
	textColor: "#C1C1C1",		/* (string) text color (keyboard, header) */
	useWebView: false,              /* use webview needed for Flash Player, but disabling keyboard */
	useRecursiveIframeBinding: true,
	httpServer: {
		isEnabled: false,		/* (boolean) true if http server for RPC is enabled */
		secret: null,			/* (string) use secret as "key" param for access all request. set to null if api key (password) is not needed */
		hostname: "localhost",	/* (string) hostname of server or ip address */
 		port: 80				/*  (int) port of server */
	}
};
  1. homeUrl - домашняя (стартовая) страница киоска. Для ELiS рекомендуется использовать ELiS WebApps.
  2. homeUrlInactivityTimeoutSec - время неактивности (в секундах), после которого браузер перейдет на домашнюю страницу. Под активностью подразумеваются нажатия на экране.
  3. chromeColor - цвет фона браузера и клавиатуры.
  4. textColor - цвет текста браузера и клавиатуры.
  5. useWebView - включает режим работы в WebView, изолирующий отображаемый сайт от nodejs. Включение режима WebView необходимо для работы Flash Player, но при его активации не работает виртуальная клавиатура.
  6. useRecursiveIframeBinding - производить рекурсивный обход встроенных iframe для подключения к клавиатуры в поля ввода внутри iframe.
  7. httpServer.isEnabled - включает встроенный HTTP-сервер, на который можно удаленно (или локально) отправлять команды об загрузке заданного URL. Может использоваться, например, из скриптовых языков программирования при связки с устройствами HID, RFID и т.п.
  8. httpServer.secret - управление адресной строкой может защищаться паролем. При парольной защите ко всем запросам надо добавить параметр key равный secret. Например: http://localhost/setUrl?key=secret. Если null - защиты от подключения нет.
  9. httpServer.hostname - имя сервера или IP-адрес, на котором встроенный HTTP-сервер будет принимать подключения.
  10. httpServer.port - порт на котором HTTP-сервер будет ожидать подключения.

После редактирования, KioskBrowser необходимо перезапустить.

Интеграция с HID, RFID и т.п.[править]

Устройства для считывания различного рода меток обычно поставляются с SDK разработчика, с помощью которого можно получить идентификатор радиометки и предпринять какие-либо действия, например перенаправить на сайт в котором в URL будет находиться идентификатор радиометки и по нему отобразить нужную страницу сайта (например, для сдачи книги по RFID или аутентификации пользователя).

Для реализации такой схемы в состав KioskBrowser включен веб-сервер, который можно активировать в настройках. Для открытия браузера на необходимой странице <url>, например http://example.com/?id=123, можно отправить запрос, в котором <url> будет закодирован в параметр url.

Полная схема указания встроенному в KioskBrowser открыть произвольный <url>: http://<localhost>/setUrl?[key=<secret>&]url=<url>

<localhost> - Здесь это хост, на котором работает KioskBrowser. <secret> - Ключ доступа к API из файла конфигурации (опционально). <url> - HTTP(S)-url, который надо открыть в браузере. При этом <url> должен быть закодирован с помощью функции подобной encodeURIComponent из стандарта ECMA-262.

Пример открытие сайта https://demo.elibsystem.ru/app/catalog:

http://localhost/setUrl?key=secret&url=https%3A%2F%2Fdemo.elibsystem.ru%2Fapp%2Fcatalog

Виртуальная клавиатура[править]

Программа киоска содержит встроенную виртуальную клавиатуру на русском и английском языках.

kiosk-browser-virtual-keyboard.png

Безопасность[править]

В KioskBrowser запрещен ряд действий, такие как открытие всплывающего окна, всплытие модального окна и поля прикрепления файлов с локального компьютера (<input type="file">). Однако рекомендуется проверить безопасность использования KioskBrowser на ваших сайтах.

Flash Player[править]

Сборка KioskBrowser не содержит Flash Player и для установки этого плагина следует:

  1. установить браузер Google Chrome;
  2. перейти в папку с плагином (для Windows это %LocalAppData%\Google\Chrome\User Data\PepperFlash\);
  3. скопировать все содержимое папки плагина в которой расположен pepflashplayer.dll (включая manifest.json) в папку PepperFlash, находящуюся внутри папки установленного KioskBrowser (в C:\Program Files\KioskBrowser\PepperFlash).
  4. в config.js установить параметр "useWebView" в "true", параметр рекомендуется увеличить до нескольких десятков минут.