diff --git a/packages/addons/service/filebrowser/changelog.txt b/packages/addons/service/filebrowser/changelog.txt new file mode 100644 index 0000000000..927b2407d4 --- /dev/null +++ b/packages/addons/service/filebrowser/changelog.txt @@ -0,0 +1 @@ +initial release diff --git a/packages/addons/service/filebrowser/icon/icon.png b/packages/addons/service/filebrowser/icon/icon.png new file mode 100644 index 0000000000..80e529515c Binary files /dev/null and b/packages/addons/service/filebrowser/icon/icon.png differ diff --git a/packages/addons/service/filebrowser/package.mk b/packages/addons/service/filebrowser/package.mk new file mode 100644 index 0000000000..66fbc63d1d --- /dev/null +++ b/packages/addons/service/filebrowser/package.mk @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="filebrowser" +PKG_VERSION="2.25.0" +PKG_REV="0" +PKG_LICENSE="Apache License 2.0" +PKG_SITE="https://filebrowser.org" +PKG_DEPENDS_TARGET="toolchain:host" +PKG_SECTION="service" +PKG_SHORTDESC="Filebrowser: a web based filemanger" +PKG_LONGDESC="Filebrowser (${PKG_VERSION}): is a web based file managing interface and it can be used to upload, delete, preview, rename and edit your files." +PKG_TAR_STRIP_COMPONENTS="no" +PKG_TOOLCHAIN="manual" + +case "${ARCH}" in + "aarch64") + PKG_SHA256="18563c11ed0876de75fc3b6b4bf9596b4ce2a484bf75215ffcf2d3f5662880f3" + PKG_URL="https://github.com/filebrowser/filebrowser/releases/download/v${PKG_VERSION}/linux-arm64-filebrowser.tar.gz" + ;; + "arm") + PKG_SHA256="63348c3ae98123afabb36ebe50990f43c54432e0502d81b94547dc41954727ab" + PKG_URL="https://github.com/filebrowser/filebrowser/releases/download/v${PKG_VERSION}/linux-armv7-filebrowser.tar.gz" + ;; + "x86_64") + PKG_SHA256="287209e2d8b8cccbfe8d84b39a272e16517c4fc2e6eae6e2cedd57519d30b3b2" + PKG_URL="https://github.com/filebrowser/filebrowser/releases/download/v${PKG_VERSION}/linux-amd64-filebrowser.tar.gz" + ;; +esac +PKG_SOURCE_NAME="filebrowser-${PKG_VERSION}-${ARCH}.tar.gz" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="Web File Browser" +PKG_ADDON_PROJECTS="any !RPi1" +PKG_ADDON_TYPE="xbmc.service" + +addon() { + mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/bin + cp -r ${PKG_BUILD}/filebrowser ${ADDON_BUILD}/${PKG_ADDON_ID}/bin +} diff --git a/packages/addons/service/filebrowser/source/bin/filebrowser.start b/packages/addons/service/filebrowser/source/bin/filebrowser.start new file mode 100644 index 0000000000..8333a94940 --- /dev/null +++ b/packages/addons/service/filebrowser/source/bin/filebrowser.start @@ -0,0 +1,14 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv) + +. /etc/profile + +oe_setup_addon service.filebrowser + +ADDON_SETTINGS="$ADDON_HOME/settings.xml" + +chmod a+x $ADDON_DIR/bin/* + +exec "$ADDON_DIR/bin/filebrowser" -d "$ADDON_HOME/database.db" -l stdout -r "/storage" -a "0.0.0.0" -p "$FILEBROWSER_PORT" diff --git a/packages/addons/service/filebrowser/source/default.py b/packages/addons/service/filebrowser/source/default.py new file mode 100644 index 0000000000..b50e228132 --- /dev/null +++ b/packages/addons/service/filebrowser/source/default.py @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) + +import subprocess +import xbmc +import xbmcaddon + + +class Monitor(xbmc.Monitor): + + def __init__(self, *args, **kwargs): + xbmc.Monitor.__init__(self) + self.id = xbmcaddon.Addon().getAddonInfo('id') + + def onSettingsChanged(self): + subprocess.call(['systemctl', 'restart', self.id]) + + +if __name__ == "__main__": + Monitor().waitForAbort() diff --git a/packages/addons/service/filebrowser/source/resources/language/English/strings.po b/packages/addons/service/filebrowser/source/resources/language/English/strings.po new file mode 100644 index 0000000000..111c178235 --- /dev/null +++ b/packages/addons/service/filebrowser/source/resources/language/English/strings.po @@ -0,0 +1,26 @@ +# Kodi Media Center language file +# Addon Name: filebrowser +# Addon id: service.filebrowser +# Addon Provider: Team LibreELEC +msgid "" +msgstr "" + +msgctxt "#30000" +msgid "Settings" +msgstr "" + +msgctxt "#30001" +msgid "Web Port" +msgstr "" + +msgctxt "#30002" +msgid "Default Login http://ip-of-htpc:9977" +msgstr "" + +msgctxt "#30003" +msgid "Username: admin" +msgstr "" + +msgctxt "#30004" +msgid "Password: admin" +msgstr "" diff --git a/packages/addons/service/filebrowser/source/resources/screenshot-01.png b/packages/addons/service/filebrowser/source/resources/screenshot-01.png new file mode 100644 index 0000000000..1f481c9d0f Binary files /dev/null and b/packages/addons/service/filebrowser/source/resources/screenshot-01.png differ diff --git a/packages/addons/service/filebrowser/source/resources/screenshot-02.png b/packages/addons/service/filebrowser/source/resources/screenshot-02.png new file mode 100644 index 0000000000..0762ec044a Binary files /dev/null and b/packages/addons/service/filebrowser/source/resources/screenshot-02.png differ diff --git a/packages/addons/service/filebrowser/source/resources/screenshot-03.png b/packages/addons/service/filebrowser/source/resources/screenshot-03.png new file mode 100644 index 0000000000..597d2db1bc Binary files /dev/null and b/packages/addons/service/filebrowser/source/resources/screenshot-03.png differ diff --git a/packages/addons/service/filebrowser/source/resources/screenshot-04.png b/packages/addons/service/filebrowser/source/resources/screenshot-04.png new file mode 100644 index 0000000000..8dcc724abe Binary files /dev/null and b/packages/addons/service/filebrowser/source/resources/screenshot-04.png differ diff --git a/packages/addons/service/filebrowser/source/resources/settings.xml b/packages/addons/service/filebrowser/source/resources/settings.xml new file mode 100644 index 0000000000..ec4d0f193e --- /dev/null +++ b/packages/addons/service/filebrowser/source/resources/settings.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/packages/addons/service/filebrowser/source/settings-default.xml b/packages/addons/service/filebrowser/source/settings-default.xml new file mode 100644 index 0000000000..b2918a0644 --- /dev/null +++ b/packages/addons/service/filebrowser/source/settings-default.xml @@ -0,0 +1,3 @@ + + 9977 + diff --git a/packages/addons/service/filebrowser/source/system.d/service.filebrowser.service b/packages/addons/service/filebrowser/source/system.d/service.filebrowser.service new file mode 100644 index 0000000000..35e2021f60 --- /dev/null +++ b/packages/addons/service/filebrowser/source/system.d/service.filebrowser.service @@ -0,0 +1,13 @@ +[Unit] +Description=Filebrowser Service +After=network-online.service + +[Service] +ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.filebrowser/bin/filebrowser.start" +TimeoutStopSec=2 +Restart=always +RestartSec=2 +StartLimitInterval=0 + +[Install] +WantedBy=kodi.target