oe-alliance / OpenWebif

GNU General Public License v3.0
7 stars 9 forks source link

Build

OpenWebif

OpenWebif is an open source browser-based interface for Enigma2-based set-top boxes (STBs).

OpenWebif 2.0

This is a new repository for OpenWebif. The old version 1.x is here -> https://github.com/E2OpenPlugins/e2openplugin-OpenWebif This version no longer supports Python 2. All box and remote control images are no longer part of OpenWebif.

Sonar Reports

Reliability Rating Duplicated Lines (%) Vulnerabilities Bugs Security Rating Maintainability Rating Code Smells

Screenshots

Classic interface

(TODO: add Modern interface screenshots)

Usage

To find out how to access it from your browser, go to OpenWebif's configuration via your receiver's Plugins page. You'll see the http... address to use at the bottom.

Documentation

Read the OpenWebif documentation.

Browse OpenWebif API Wiki.

Found a Problem / Issue / Bug / Missing Feature?

First, check whether it's already been logged.

Otherwise, feel free to log a new issue or request.

Always try the most recent build first to see if this solves the issue!

If that doesn't help, please provide as much information as possible!

You'll need to enable the Debug | Display Tracebacks in browser setting, either:

or

Along with the information on the steps you took that caused the issue, the following will be very useful:

Note that the more detail we get, the sooner we'll be able to investigate!

We have limited free time and often only have one configuration at our disposable, so...

If possible, even more helpful details to include are:

Want to Help Translate OpenWebif?

Feel free to contribute to the Weblate project.

License

OpenWebif is licensed under the GNU General Public License, Version 3.

Latest Package

Download the most recent OpenWebif ipk package


Installation

OpenWebif is installed by default on a number of enigma2 images

To install the plugin manually:

## connect to your enigma2 device via SSH/Telnet, (eg. `ssh root@boxip`), then

# change to the temp directory
cd /tmp

# shut down enigma2 gracefully
init 4

# fetch OpenWebif ipk
wget -O openwebif.ipk https://github.com/oe-alliance/OpenWebif/raw/gh-pages/enigma2-plugin-extensions-openwebif_latest_all.ipk

# install downloaded ipk file
opkg install openwebif.ipk

# restart enigma2
init 3

Custom SSL Certificate

If you want to use your own certificate, then replace both /etc/enigma2/key.pem and /etc/enigma2/cert.pem with your own key and cert, in PEM format.

Restart Enigma2 after replacing those files.

Using your own CA

You can also put the ca cert as /etc/enigma2/ca.pem and enable HTTPS Client Cert auth in settings you can even login using Client certs signed by the same CA auth.

It doesn't bypass the password login yet and you should of course use your own CA, because else any client with a key signed by that CA auth can login, as there is no option to limit access to certain users (yet, and probably newer will be).

See also #215

Problems with a custom Certificate

Creating key and cert is beyond the scope of this readme. I found Ivan Ristić's openssl cookbook helpful.

FWIW, an ecparam secp384r1 key and a ecdsa-with-SHA256 cert with 4 SAN worked just fine on the following;

root@vuduo4kse:~# date ; cat /etc/os-release 
Wed Nov 29 22:58:24 CET 2023
ID=openbh
NAME="openbh"
VERSION="5.1"
VERSION_ID=5.1
PRETTY_NAME="openbh 5.1"

Development Information

See what's been happening, check out the OpenWebif changelog

Dependencies

The following additional packages need to be installed:
(dependencies should be handled by using ipkg/opkg packages)

python-pprint
python-cheetah
python-json
python-unixadmin
python-misc
python-twisted-web
python-pyopenssl
python-compression
python-ipaddress

File Paths

The OpenWebif plugin's files are located on the enigma2 box at /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif

On non-dev builds, .tmpl files will need to be generated to .py


Updating Assets

Find out how to make changes to OpenWebif's JS & CSS assets.

Translation status

Translation status