OpenWebif is an open source browser-based interface for Enigma2-based set-top boxes (STBs).
(TODO: add Modern interface screenshots)
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.
Read the e2openplugin OpenWebif documentation.
Browse OpenWebif API Wiki.
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:
- through
OpenWebif configuration
, which can be found via your receiver'sPlugins
page
or
- by adding the line
config.OpenWebif.displayTracebacks=true
to your receiver's/etc/enigma2/settings
file
Along with the information on the steps you took that caused the issue, the following will be very useful:
- whether the issue is constant or intermittent
- if it has just recently started happening (perhaps after an update)
- screenshots - a picture really is worth a thousand words!
- whether the issue happens on just one or several browsers
- try with a mainstream browser (Brave / Chrome / Firefox / Safari / Edge)
- try disabling browser extensions & plugins
- if you've installed any plugins which could be related to the issue
** 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:
- device type and OS (Mac OS / Windows / Android / Apple ...)
- OS or device version (Monterey / Win10 / Android 11 / iOS12 ...)
- browser (Brave / Chrome / Firefox / Safari / Edge ...)
[Bandit]: OpenWebif Bandit Report
[Flake8]: OpenWebif Flake8 report
[JSHint]: Modern interface report | Classic interface report
OpenWebif is licensed under the GNU General Public License, Version 3.
Download the most recent OpenWebif ipk package
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/E2OpenPlugins/e2openplugin-OpenWebif/raw/gh-pages/enigma2-plugin-extensions-openwebif_latest_all.ipk
# install downloaded ipk file
opkg install openwebif.ipk
# restart enigma2
init 3
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.
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
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"
See what's been happening, check out the OpenWebif changelog
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
python-six (>= 1.14)
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
- connect to the stb (eg.
ssh root@boxip
) - manually delete the .pyc/.pyo file(s) associated with the
template(s) you've modified (enigma2 will regenerate them)
cheetah compile --nobackup --iext=.tmpl -R /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/views/
- restart Twisted server by going to
/web/restarttwisted
in the browser or - restart enigma2
init 4 && init 3
Find out how to make changes to OpenWebif's JS & CSS assets.