diff --git a/packages/addons/service/minisatip/changelog.txt b/packages/addons/service/minisatip/changelog.txt
new file mode 100644
index 0000000000..ed5784c55b
--- /dev/null
+++ b/packages/addons/service/minisatip/changelog.txt
@@ -0,0 +1,2 @@
+100
+- Initial Release
diff --git a/packages/addons/service/minisatip/icon/icon.png b/packages/addons/service/minisatip/icon/icon.png
new file mode 100644
index 0000000000..bd9dfaa6a4
Binary files /dev/null and b/packages/addons/service/minisatip/icon/icon.png differ
diff --git a/packages/addons/service/minisatip/package.mk b/packages/addons/service/minisatip/package.mk
new file mode 100644
index 0000000000..9446c3ee62
--- /dev/null
+++ b/packages/addons/service/minisatip/package.mk
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
+
+PKG_NAME="minisatip"
+PKG_VERSION="110e6e99bc6c823b2a2c30ea02c58c91f59d077e"
+PKG_SHA256="8ac997ae70d80bc50603609baf9a86253cf525f179c71fada5320301abaea902"
+PKG_VERSION_NUMBER="0.7.16"
+PKG_REV="100"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="https://github.com/catalinii/minisatip"
+PKG_URL="https://github.com/catalinii/minisatip/archive/$PKG_VERSION.tar.gz"
+PKG_DEPENDS_TARGET="toolchain dvb-apps libdvbcsa libxml2"
+PKG_SECTION="service"
+PKG_SHORTDESC="minisatip: a Sat>IP streaming server for Linux"
+PKG_LONGDESC="minisatip($PKG_VERSION_NUMBER): is a Sat>IP streaming server for Linux supporting DVB-C, DVB-S/S2, DVB-T/T2, ATSC and ISDB-T"
+
+PKG_IS_ADDON="yes"
+PKG_ADDON_NAME="Minisatip"
+PKG_ADDON_TYPE="xbmc.service"
+
+PKG_CONFIGURE_OPTS_TARGET="--enable-static \
+ --disable-netcv \
+ --enable-dvbca \
+ --enable-dvbaes \
+ --enable-dvbcsa \
+ --with-xml2=$(get_build_dir libxml2)"
+
+pre_configure_target() {
+ cd $PKG_BUILD
+ rm -rf .$TARGET_NAME
+
+ # enables Common Interface (DVBEN50221)
+ CFLAGS="$CFLAGS -I$(get_build_dir dvb-apps)/lib"
+ LDFLAGS="$LDFLAGS -L$(get_build_dir dvb-apps)/lib/libdvbapi -L$(get_build_dir dvb-apps)/lib/libdvben50221 -L$(get_build_dir dvb-apps)/lib/libucsi"
+}
+
+makeinstall_target() {
+ :
+}
+
+addon() {
+ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
+ cp -P $PKG_BUILD/minisatip $ADDON_BUILD/$PKG_ADDON_ID/bin
+ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/webif
+ cp -PR $PKG_BUILD/html/* $ADDON_BUILD/$PKG_ADDON_ID/webif
+}
diff --git a/packages/addons/service/minisatip/source/bin/minisatip.start b/packages/addons/service/minisatip/source/bin/minisatip.start
new file mode 100644
index 0000000000..0c6987a3f9
--- /dev/null
+++ b/packages/addons/service/minisatip/source/bin/minisatip.start
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
+
+. /etc/profile
+
+oe_setup_addon service.minisatip
+
+chmod a+x $ADDON_DIR/bin/*
+
+# wait for dvb card
+if [ "$WAIT_FOR_FEINIT" = "true" ]; then
+ while [ true ] ; do
+ if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend0 ]; then
+ break
+ fi
+ sleep 1
+ done
+fi
+
+# sleep for x seconds
+if [ "$WORKAROUND_SLEEP" = "true" ]; then
+ sleep $WORKAROUND_SLEEP_TIME
+fi
+
+## options
+# simulate x adapters
+if [ "$MINISATIP_TESTMODE" = "true" ]; then
+ MINISATIP_ARG_TEST="-a 2:2:2"
+fi
+
+# debug log
+if [ "$MINISATIP_DEBUG" = "true" ]; then
+ MINISATIP_ARG="-l -l -l"
+fi
+
+# RTSP over TCP instead UDP
+if [ "$MINISATIP_SATIP_TCP" = "true" ]; then
+ MINISATIP_ARG="$MINISATIP_ARG -O"
+fi
+
+# clean the PSI from all CA information
+if [ "$MINISATIP_CLEANPSI" = "true" ]; then
+ MINISATIP_ARG="$MINISATIP_ARG -t"
+fi
+
+# port for listening for rtsp requests
+if [ "$MINISATIP_RTSP_PORT" != "554" ]; then
+ MINISATIP_ARG="$MINISATIP_ARG -y $MINISATIP_RTSP_PORT"
+fi
+
+# specify the hostname and port for the dvbapi server (oscam)
+if [ "$MINISATIP_CLEANPSI" = "true" ]; then
+ MINISATIP_ARG="$MINISATIP_ARG -o ${MINISATIP_DVBAPI_IP}:${MINISATIP_DVBAPI_PORT}"
+fi
+
+if [ "$MINISATIP_STARTUP" = "true" ]; then
+ echo "Minisatip was started with this settings: ${MINISATIP_STARTUP_ARGS}" > $ADDON_LOG_FILE
+ exec $ADDON_DIR/bin/minisatip -f ${MINISATIP_ARG_TEST} -x ${MINISATIP_WEBPORT} -R /storage/.kodi/addons/service.minisatip/webif ${MINISATIP_STARTUP_ARGS} >> $ADDON_LOG_FILE
+else
+ echo "Minisatip was started with this settings: ${MINISATIP_ARG}" > $ADDON_LOG_FILE
+ $ADDON_DIR/bin/minisatip -f ${MINISATIP_ARG_TEST} -x ${MINISATIP_WEBPORT} -R /storage/.kodi/addons/service.minisatip/webif ${MINISATIP_ARG} >> $ADDON_LOG_FILE
+fi
diff --git a/packages/addons/service/minisatip/source/default.py b/packages/addons/service/minisatip/source/default.py
new file mode 100644
index 0000000000..706475996f
--- /dev/null
+++ b/packages/addons/service/minisatip/source/default.py
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# 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/minisatip/source/resources/language/English/strings.po b/packages/addons/service/minisatip/source/resources/language/English/strings.po
new file mode 100644
index 0000000000..02a8346856
--- /dev/null
+++ b/packages/addons/service/minisatip/source/resources/language/English/strings.po
@@ -0,0 +1,82 @@
+# Kodi Media Center language file
+# Addon Name: minisatip
+# Addon id: service.minisatip
+# Addon Provider: Team LibreELEC
+msgid ""
+msgstr ""
+
+msgctxt "#30000"
+msgid "Hardware"
+msgstr ""
+
+msgctxt "#30001"
+msgid "Wait for frontend initialization"
+msgstr ""
+
+msgctxt "#30002"
+msgid "Number of adapters to wait for"
+msgstr ""
+
+msgctxt "#30003"
+msgid "Unload DVB modules before suspend"
+msgstr ""
+
+msgctxt "#30004"
+msgid "Delay the start of Minisatip"
+msgstr ""
+
+msgctxt "#30005"
+msgid "time (s)"
+msgstr ""
+
+msgctxt "#30006"
+msgid "Minisatip"
+msgstr ""
+
+msgctxt "#30007"
+msgid "Use RTSP over TCP for data transport"
+msgstr ""
+
+msgctxt "#30008"
+msgid "Clean the PSI from all CA information"
+msgstr ""
+
+msgctxt "#30009"
+msgid "Specify the hostname for the dvbapi server (OScam)"
+msgstr ""
+
+msgctxt "#30010"
+msgid "Specify the port for the dvbapi server (OScam)"
+msgstr ""
+
+msgctxt "#30011"
+msgid "Port for listening for RTSP requests"
+msgstr ""
+
+msgctxt "#30012"
+msgid "Webui Port"
+msgstr ""
+
+msgctxt "#30013"
+msgid "Debugging"
+msgstr ""
+
+msgctxt "#30014"
+msgid "Debug Log"
+msgstr ""
+
+msgctxt "#30015"
+msgid "Simulate DVB adapters"
+msgstr ""
+
+msgctxt "#30016"
+msgid "Advanced Options"
+msgstr ""
+
+msgctxt "#30017"
+msgid "Manually enter startup command-line"
+msgstr ""
+
+msgctxt "#30018"
+msgid "Command-line"
+msgstr ""
diff --git a/packages/addons/service/minisatip/source/resources/settings.xml b/packages/addons/service/minisatip/source/resources/settings.xml
new file mode 100644
index 0000000000..318fc9e0af
--- /dev/null
+++ b/packages/addons/service/minisatip/source/resources/settings.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/addons/service/minisatip/source/settings-default.xml b/packages/addons/service/minisatip/source/settings-default.xml
new file mode 100644
index 0000000000..30a46dcd2b
--- /dev/null
+++ b/packages/addons/service/minisatip/source/settings-default.xml
@@ -0,0 +1,17 @@
+
+ false
+ false
+ 127.0.0.1
+ 9000
+ 554
+ false
+ false
+
+ false
+ 9999
+ 1
+
+ false
+ false
+ 1
+
diff --git a/packages/addons/service/minisatip/source/sleep.d/minisatip.power b/packages/addons/service/minisatip/source/sleep.d/minisatip.power
new file mode 100644
index 0000000000..153eb73a7a
--- /dev/null
+++ b/packages/addons/service/minisatip/source/sleep.d/minisatip.power
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
+
+. /etc/profile
+
+oe_setup_addon service.minisatip
+
+SERVICE="service.minisatip"
+
+if [ "$RESTART_ON_RESUME" == "true" ] ; then
+ case "$1" in
+ pre)
+ if systemctl is-active "$SERVICE" &>/dev/null ; then
+ systemctl stop "$SERVICE"
+ fi
+ ;;
+ post)
+ if systemctl is-enabled "$SERVICE" &>/dev/null ; then
+ systemctl start "$SERVICE"
+ fi
+ ;;
+ esac
+fi
diff --git a/packages/addons/service/minisatip/source/system.d/service.minisatip.service b/packages/addons/service/minisatip/source/system.d/service.minisatip.service
new file mode 100644
index 0000000000..a962f4a2bc
--- /dev/null
+++ b/packages/addons/service/minisatip/source/system.d/service.minisatip.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=minisatip
+After=network-online.service
+
+[Service]
+ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.minisatip/bin/minisatip.start"
+TimeoutStopSec=2
+Restart=always
+RestartSec=2
+StartLimitInterval=0
+
+[Install]
+WantedBy=kodi.target