KioskBrowser - программа на базе Chromium, открывающаяся на полный экран и позволяющая настраивать и брендировать интерфейс стартовой страницы, имеющая виртуальную клавиатуру и позволяющая удаленно загружать веб-страницы.
Внимание, с выходом KioskBrowser v2 данная статья устарела! Используйте документацию: https://kioskbrowser.elibsystem.ru/.
Содержание
Визуальная адаптация[править]
С программой поставляется готовая страница, в которой можно загружать в iframe другие страницы, изменять логотип, название, а также есть кнопка возврата на стартовую (домашнюю страницу).
Имеется возможность настройки стартовой страницы, загружаемой в iframe или написания полностью своей HTML-страницы.
Программа поставляется в бинарном виде для Windows x86 и Linux x86_64 и ARM64.
Системные требования[править]
Для работы бинарного дистрибутива необходима Windows x64 от Windows Seven и старше.
Жесткий диск 1ГБ, 2ГБ ОЗУ, 2 ядра по 2.5 ГГц.
Установка[править]
Скачать программу можно по ссылкам:
- Windows x86 https://kioskbrowser.elibsystem.ru/files/dist/KioskBrowser.msi
- Linux x64 https://kioskbrowser.elibsystem.ru/files/dist/KioskBrowser.AppImage
- Linux arm64 https://kioskbrowser.elibsystem.ru/files/dist/KioskBrowser-arm64.AppImage
Инструкция по кастомизации и сборке под другие платформы доступна после установки в папке программы.
Самостоятельная сборка[править]
Вы можете собрать свой инсталлятор под 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. Set to 0 for disabling. */ 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 */ }, antiBornPixels: { /* prevent born of screen pixels if screen is not have embed protection */ isEnabled: true, /* enable protection */ padding: 10, /* screen have black padding and webview is moving from this padding. default: 10, set 0 to disable padding */ flickerPixelInterval: 0 /* interval of one pixel flickering in ms. do not set less than 16 ms. 0 - pixel flickering is disabled. 30 - recommended. It is value is set GPU working if not zero */ } };
- homeUrl - домашняя (стартовая) страница киоска. Для ELiS рекомендуется использовать ELiS WebApps.
- homeUrlInactivityTimeoutSec - время неактивности (в секундах), после которого браузер перейдет на домашнюю страницу. Под активностью подразумеваются нажатия на экране.
- chromeColor - цвет фона браузера и клавиатуры.
- textColor - цвет текста браузера и клавиатуры.
- useWebView - включает режим работы в WebView, изолирующий отображаемый сайт от nodejs. Включение режима WebView необходимо для работы Flash Player, но при его активации не работает виртуальная клавиатура.
- useRecursiveIframeBinding - производить рекурсивный обход встроенных iframe для подключения к клавиатуры в поля ввода внутри iframe.
- httpServer.isEnabled - включает встроенный HTTP-сервер, на который можно удаленно (или локально) отправлять команды об загрузке заданного URL. Может использоваться, например, из скриптовых языков программирования при связки с устройствами HID, RFID и т.п.
- httpServer.secret - управление адресной строкой может защищаться паролем. При парольной защите ко всем запросам надо добавить параметр key равный secret. Например: http://localhost/setUrl?key=secret. Если null - защиты от подключения нет.
- httpServer.hostname - имя сервера или IP-адрес, на котором встроенный HTTP-сервер будет принимать подключения.
- httpServer.port - порт на котором HTTP-сервер будет ожидать подключения.
- antiBornPixels.isEnabled - включение защиты от выгорания экрана.
- antiBornPixels.padding - отступы от краев экрана по которым идет смещение экрана.
- antiBornPixels.flickerPixelInterval - интервал в мс, в течении которого будет происходить миграция черного пиксела по экрану. 0 - отключить защиту одиночным блуждающим пикселом, 30 - перемещать пиксел раз в 30 мс. меньше 16 мс. ставить не рекомендуется. Включение этого режима создает нагрузку на видеокарту.
После редактирования, KioskBrowser необходимо перезапустить.
Для Linux файл конфигурации следует создать в ~/.KioskBrowser/config.js и в конце файла добавить строчку:
module.exports = config;
Причём в этом добавочном файле можно указывать только те опции, которые вы хотите переопределить.
Интеграция с 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
Виртуальная клавиатура[править]
Программа киоска содержит встроенную виртуальную клавиатуру на русском и английском языках.
Безопасность[править]
В KioskBrowser запрещен ряд действий, такие как открытие всплывающего окна, всплытие модального окна и поля прикрепления файлов с локального компьютера (<input type="file">). Однако рекомендуется проверить безопасность использования KioskBrowser на ваших сайтах.
Flash Player[править]
Сборка KioskBrowser не содержит Flash Player и для установки этого плагина следует:
- установить браузер Google Chrome;
- перейти в папку с плагином (для Windows это %LocalAppData%\Google\Chrome\User Data\PepperFlash\);
- скопировать все содержимое папки плагина в которой расположен pepflashplayer.dll (включая manifest.json) в папку PepperFlash, находящуюся внутри папки установленного KioskBrowser (в C:\Program Files\KioskBrowser\PepperFlash).
- в config.js установить параметр "useWebView" в "true", параметр рекомендуется увеличить до нескольких десятков минут.
Совместимость с отечественными ОС[править]
Linux-версия браузера может работать на Calculate Linux. Возможно на Calculate Linux потребуется установка libnss:
# quickpgk dev-libs/nss
Для 64-битной ОС надо использовать 64-битную сборку браузера.
Автозагрузка[править]
В Windows 10 нажмите Win+R и введитеshell:startup
. Откроется папка автозагрузки для текущего пользователя и остается вставить туда ярлык на KioskBrowser.exe
Для Linux может быть полезна статья: https://elibsystem.ru/node/251.