KioskBrowser logo

Браузер для киосков KioskBrowser

с виртуальной клавиатурой

Удаленный контроль KioskBrowser

Браузер имеет встроенный веб-сервер для удаленного (или локального) управления.

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

По умолчанию удаленный контроль включен на localhost без пароля на порту 8080. При настройке KioskBrowser вы можете отключить или указать на каких IP-адресах веб-сервер будет ожидать команды.

Пример конфигурации для .KioskBrowser.json для включения веб-сервера на всех IP-адресах:

{
    "homeUrl": "https://example.com",
    "httpServerIsEnabled": true,
    "httpServerSecret": "*****",
    "httpServerHostname": "0.0.0.0",
    "httpServerPort": 8080
}

Здесь параметр "httpServerSecret" отвечает за пароль, который должен отправляться с каждым запросом параметром "key". Если пароль не нужен, установите параметр в null.

Обратите внимание, что в Linux порты меньше 1024 являются привелигерованными, поэтому не могут быть открыты приложением KoiskBrowser с ограниченными правами.

Пример открываемого URL в KioskBrowser для запроса на открытие страницы https://example.com/page.html:

http://127.0.0.1:8080/setUrl?key=*****&url=https%3A%2F%2Fexample.com%2Fpage.html

Приложение для удаленного управления

Доступно приложение для управления KioskBrowser в браузере.

По запросу приложение для управления может быть продано отдельно.

API

Для управления брузером вам надо обратиться по IP:port с некоторым URL, приведенным ниже. В большинстве случаев в ответ вы получите JSON в котором в параметре {"success":true, ...} будет указн статус выполнения операции.

setUrl

Открытие в браузере определенной страницы по заданному URL:

http://127.0.0.1:8080/setUrl?key=*****&url=https%3A%2F%2Fexample.com%2Fpage.html

status

Отображает статус работы браузера, может использоваться для мониторинга работоспособности

http://127.0.0.1:8080/status?key=*****

screenshot

Получение скриншота окна браузера. Можно получить как HTML-код с автообновлением каждые 10 секунд для встраивания в iframe, так и JPEG-изображение.

Пример для веб-страницы:

http://127.0.0.1:8080/screenshot?key=*****

Пример для изображения:

http://127.0.0.1:8080/screenshot.jpg?key=*****

setText

Ввод текстовой строки в форму ввода. Внимание! Текст введется только в форму, находящуюся в фокусе ввода (на ней кликнули или вызвали из JavaScript focus().

http://127.0.0.1:8080/setText?key=*****&text=same%20text

getInfo

Получает информацию об оборудовании и браузере.

http://127.0.0.1:8080/getInfo?key=*****

getConfig

Получает конфигурацию браузера.

http://127.0.0.1:8080/getConfig?key=*****

Вернет в формате JSON три объекта:

  • config - текущая (активная) конфигурация как слияние конфигурации defaultConfig с userConfig.
  • defaultConfig - конфигурация браузера по умолчанию.
  • userConfig - конфигурация, которую ввел пользователь.

updateConfigProperty

Обновляет параметр конфигурации в браузера, указанный в .KioskBrowser.json. После изменений лучше перезапустить KioskBrowser.

Параметры конфигурации в .KioskBrowser.json имеют формат JSON в виде:

{
"key1": "value1",
"key2": "value2",
...
"keyN": "valueN"
}

Здесь под key1, key2, keyN понимаются конкретные ключи, например "homeUrl", а под value1, value2, valueN значения этих параметров, которые могут быть строками, числами, массивами и т.д.

Для обновления параметра key1 с value1 надо сделать запрос:

http://127.0.0.1:8080/updateConfigProperty?propertyJson={"key":"key1","value":"value1"}

Например для установки homeUrl на https://ya.ru надо сделать запрос:

http://127.0.0.1:8080/updateConfigProperty?propertyJson={"key":"homeUrl","value":"https://ya.ru"}

reloadApp

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

http://127.0.0.1:8080/reloadApp?key=*****

shutdownDevice

Выключает устройство.

http://127.0.0.1:8080/shutdownDevice?key=*****

В Linux для работы команды пользователю браузера (в примере kiosk) надо дать права для выполнения команды shutdown, для чего добавьте в конце /etc/sudoers строчку kiosk ALL=(ALL) NOPASSWD: /sbin/shutdown.

restartDevice

Перезагружает устройство.

http://127.0.0.1:8080/restartDevice?key=*****

В Linux для работы команды пользователю браузера (в примере kiosk) надо дать права для выполнения команды shutdown, для чего добавьте в конце /etc/sudoers строчку kiosk ALL=(ALL) NOPASSWD: /sbin/shutdown.