Skip to content

UBA Run Modes

Eliran Wong edited this page Nov 19, 2024 · 21 revisions

UniqueBibleApp is able to run in various modes:

  • GUI mode - A desktop application using the Qt library. Runs on Windows / macOS / Linux / Chrome OS platforms.

    uniquebible

    uniquebible gui

  • CLI mode - A command line mode where all input and output is text based. Running CLI mode requires installing Qt library.

    uniquebible cli

  • Terminal mode - A command line mode, running locally, where all input and output is text based, without installing Qt library. Most features available in GUI mode are available in Terminal mode. Moreover, Terminal mode offers some additional utilities.

    uniquebible terminal or ubterm

  • Stream mode - A command line mode, running locally, where all input and output is text based, without installing Qt library. Most features available in GUI mode are available in Stream mode. It differs from Terminal mode in a way that it accepts stdin. It offers the simplest way to run a single-turn UBA command whereas Terminal mode opens sessions to run multiple-turn UBA commands.

    uniquebible stream or ub

  • HTTP/Web mode - UBA acts as a web server and can be accessed by browsers. Runs on Windows / macOS / Linux / Chrome OS / Android / iOS platforms.

    uniquebible http-server or ubhttp

    In addition, Web Mode offers web API endpoints without running a separate API server, e.g. to retrieve commentaries on John 2:4-7

    Raw html output - https://bible.gospelchurch.uk/html?cmd=Commentary:::John%202:4-7

    JSON output - https://bible.gospelchurch.uk/json?cmd=Commentary:::John%202:4-7

    Plain text output - https://bible.gospelchurch.uk/plain?cmd=Commentary:::John%202:4-7

    Remarks: API outputs use utf-8 encoding.

    Read more at: https://github.com/eliranwong/UniqueBibleAPI

  • API Client Mode - UBA acts as a API client that connects to a UniqueBible App http-server. To clarify, this api-client works with the http-server API endpoints, instead of api-server.

    uniquebible api-client or ubapi

  • SSH mode - UBA acts as a ssh server and can be accessed by ssh clients.

    uniquebible ssh-server or ubssh

  • Telnet mode - UBA acts as a telnet server and can be accessed by telnet clients.

    uniquebible telnet-server or ubtelnet

  • API mode - UBA acts as a API server. This allows access to UBA from Postman.

    uniquebible api-server

  • Macro mode - Run a macro command.

    uniquebible execute-macro macro.ubam

Differences between Terminal / CLI / Telnet modes

Terminal, CLI, Telnet modes are text-based modes running via a console.

Terminal mode is the simplest one. It does not require users to install Qt graphical library, like PySide6, PySide2, or PyQt5. It runs locally without setting up a server. Users do not need a client to access UBA.

CLI is also running locally. CLI mode differs from Terminal mode in a way that it requires users to install a Qt graphical library. Running CLI mode allows users to switch to GUI mode, by running ".gui" command.

Telnet mode runs a telnet server on a device. Users need to use a telnet client to access UBA content, either locally or remotely via available networks.

Help to Choose

Some comments are given below to help you to choose a mode that suits your needs.

We recommend the following four modes, as they offer most UBA features to users:

gui mode - the most visual

http-server - the most accessible via internet

terminal mode - the quickest and the most comprehensive in case you are comfortable with command prompt

webtop - the most consistent UI across different platforms but requires docker to be installed

Clone this wiki locally