mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
proftpd: initial add-on
This commit is contained in:
parent
9ed7f7b328
commit
47eb715e76
42
packages/addons/addon-depends/whois/package.mk
Normal file
42
packages/addons/addon-depends/whois/package.mk
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
|
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||||
|
#
|
||||||
|
# This Program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This Program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="whois"
|
||||||
|
PKG_VERSION="5.2.13"
|
||||||
|
PKG_REV="1"
|
||||||
|
PKG_ARCH="any"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="http://www.linux.it/~md/software/"
|
||||||
|
PKG_URL="https://github.com/rfc1036/whois/archive/v${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
|
PKG_SECTION="system"
|
||||||
|
PKG_SHORTDESC="whois is a client-side application which queries the whois directory service for information pertaining to a particular domain name."
|
||||||
|
PKG_LONGDESC="whois is a client-side application which queries the whois directory service for information pertaining to a particular domain name."
|
||||||
|
|
||||||
|
PKG_IS_ADDON="no"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
make_target() {
|
||||||
|
make mkpasswd
|
||||||
|
}
|
||||||
|
|
||||||
|
makeinstall_target() {
|
||||||
|
: # nop
|
||||||
|
}
|
2
packages/addons/service/proftpd/changelog.txt
Normal file
2
packages/addons/service/proftpd/changelog.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
100
|
||||||
|
- initial LibreELEC release
|
BIN
packages/addons/service/proftpd/icon/icon.png
Normal file
BIN
packages/addons/service/proftpd/icon/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
78
packages/addons/service/proftpd/package.mk
Normal file
78
packages/addons/service/proftpd/package.mk
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
|
# Copyright (C) 2009-2015 Stephan Raue (stephan@openelec.tv)
|
||||||
|
#
|
||||||
|
# This Program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This Program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="proftpd"
|
||||||
|
PKG_VERSION="1.3.5b"
|
||||||
|
PKG_REV="100"
|
||||||
|
PKG_ARCH="any"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="http://www.proftpd.org/"
|
||||||
|
PKG_URL="https://github.com/proftpd/proftpd/archive/v$PKG_VERSION.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain libcap libressl netbsd-curses pcre whois"
|
||||||
|
PKG_SECTION="service"
|
||||||
|
PKG_SHORTDESC="ProFTPD: a FTP server for linux"
|
||||||
|
PKG_LONGDESC="ProFTPD ($PKG_VERSION): is a secure and configurable FTP server with SSL/TLS support"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="yes"
|
||||||
|
PKG_ADDON_NAME="ProFTPD Server"
|
||||||
|
PKG_ADDON_TYPE="xbmc.service"
|
||||||
|
|
||||||
|
ADDON_DIR="/storage/.kodi/addons/service.proftpd"
|
||||||
|
|
||||||
|
PKG_CONFIGURE_OPTS_TARGET="--enable-static \
|
||||||
|
--enable-openssl \
|
||||||
|
--with-modules=mod_tls \
|
||||||
|
--enable-nls \
|
||||||
|
--localedir=$ADDON_DIR/locale \
|
||||||
|
--enable-sendfile \
|
||||||
|
--enable-facl \
|
||||||
|
--enable-autoshadow \
|
||||||
|
--enable-ctrls \
|
||||||
|
--enable-ipv6 \
|
||||||
|
--enable-nls \
|
||||||
|
--enable-pcre \
|
||||||
|
--enable-largefile"
|
||||||
|
|
||||||
|
pre_build_target() {
|
||||||
|
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
||||||
|
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
export CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I$SYSROOT_PREFIX/usr/include/ncurses -I$ROOT/$PKG_BUILD/.$TARGET_NAME/include/"
|
||||||
|
export LDFLAGS="$LDFLAGS -L$ROOT/$PKG_BUILD/.$TARGET_NAME/lib"
|
||||||
|
}
|
||||||
|
|
||||||
|
makeinstall_target() {
|
||||||
|
: # nop
|
||||||
|
}
|
||||||
|
|
||||||
|
addon() {
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||||
|
cp $PKG_BUILD/.$TARGET_NAME/proftpd $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||||
|
cp $PKG_BUILD/.$TARGET_NAME/ftpwho $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||||
|
cp $PKG_BUILD/.$TARGET_NAME/ftptop $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||||
|
|
||||||
|
cp $BUILD/whois*/mkpasswd $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||||
|
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/locale
|
||||||
|
cp $PKG_BUILD/.$TARGET_NAME/locale/* $ADDON_BUILD/$PKG_ADDON_ID/locale
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
diff -urN proftpd-1.3.4d-org/include/conf.h proftpd-1.3.4d-new/include/conf.h
|
||||||
|
--- proftpd-1.3.4d-org/include/conf.h 2011-05-23 22:35:35.000000000 +0200
|
||||||
|
+++ proftpd-1.3.4d-new/include/conf.h 2013-07-20 12:25:28.000000000 +0200
|
||||||
|
@@ -360,13 +360,9 @@
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if defined(HAVE_LLU) && SIZEOF_OFF_T == 8
|
||||||
|
+/* correctly show file size larger than 2GB */
|
||||||
|
# define PR_LU "llu"
|
||||||
|
# define pr_off_t unsigned long long
|
||||||
|
-#else
|
||||||
|
-# define PR_LU "lu"
|
||||||
|
-# define pr_off_t unsigned long
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
/********************************************************************
|
||||||
|
* This is NOT the user configurable section. Look in options.h
|
135
packages/addons/service/proftpd/source/bin/proftpd.start
Executable file
135
packages/addons/service/proftpd/source/bin/proftpd.start
Executable file
@ -0,0 +1,135 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
|
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2012 x23
|
||||||
|
# Copyright (C) 2012-2015 ultraman
|
||||||
|
#
|
||||||
|
# This Program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This Program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
. /etc/profile
|
||||||
|
|
||||||
|
mkdir -p "/storage/.kodi/userdata/addon_data/service.proftpd"
|
||||||
|
oe_setup_addon service.proftpd
|
||||||
|
|
||||||
|
chmod a+x $ADDON_DIR/bin/*
|
||||||
|
|
||||||
|
if [ ! -f "$ADDON_HOME/proftpd.conf" ]; then
|
||||||
|
cp $ADDON_DIR/etc/proftpd.conf $ADDON_HOME
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "$ADDON_HOME/openssl.cnf" ]; then
|
||||||
|
cp $ADDON_DIR/etc/openssl.cnf $ADDON_HOME
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$Debuglevel" ] && Debuglevel=0
|
||||||
|
|
||||||
|
if [ ! -f "$ADDON_HOME/proftpd.cert.pem" -o ! -f "$ADDON_HOME/proftpd.key.pem" ]; then
|
||||||
|
openssl req -newkey rsa:1024 -config $ADDON_HOME/openssl.cnf -new -x509 -days "$CertTTL" -nodes -out "$ADDON_HOME/proftpd.cert.pem" -keyout "$ADDON_HOME/proftpd.key.pem"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Edit proftpd.conf with user settings
|
||||||
|
if [ "$TLSEngine" = "false" ]; then
|
||||||
|
sed -i 's/TLSEngine.*/TLSEngine off/g' $ADDON_HOME/proftpd.conf
|
||||||
|
else
|
||||||
|
sed -i 's/TLSEngine.*/TLSEngine on/g' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$AllowOverwrite" = "false" ]; then
|
||||||
|
sed -i 's/AllowOverwrite.*/AllowOverwrite off/g' $ADDON_HOME/proftpd.conf
|
||||||
|
else
|
||||||
|
sed -i 's/AllowOverwrite.*/AllowOverwrite on/g' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i 's/^Port.*/Port '$Port'/g' $ADDON_HOME/proftpd.conf
|
||||||
|
sed -i 's/MaxClients .*/MaxClients '$MaxClients'/g' $ADDON_HOME/proftpd.conf
|
||||||
|
sed -i 's/MaxClientsPerHost.*/MaxClientsPerHost '$MaxClientsPerHost'/g' $ADDON_HOME/proftpd.conf
|
||||||
|
sed -i 's/MaxHostsPerUser.*/MaxHostsPerUser '$MaxHostsPerUser'/g' $ADDON_HOME/proftpd.conf
|
||||||
|
sed -i 's/MaxInstances.*/MaxInstances '$MaxInstances'/g' $ADDON_HOME/proftpd.conf
|
||||||
|
sed -i 's/Umask.*/Umask '$Umask'/g' $ADDON_HOME/proftpd.conf
|
||||||
|
sed -i 's/ServerName.*/ServerName "'"$ServerName"'"/g' $ADDON_HOME/proftpd.conf
|
||||||
|
sed -i 's/PassivePorts.*/PassivePorts '$PassivePorts' '$PassivePorts2'/g' $ADDON_HOME/proftpd.conf
|
||||||
|
|
||||||
|
sed -i '/MasqueradeAddress.*/d' $ADDON_HOME/proftpd.conf
|
||||||
|
if [ "$MasqueradeAddress" = "true" ]; then
|
||||||
|
sed -i '1i\MasqueradeAddress '$MasqueradeAddress2'' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$ServerIdent" = "false" ]; then
|
||||||
|
sed -i 's/ServerIdent.*/ServerIdent off "'"$ServerIdentText"'"/g' $ADDON_HOME/proftpd.conf
|
||||||
|
else
|
||||||
|
sed -i 's/ServerIdent.*/ServerIdent on "'"$ServerIdentText"'"/g' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$AllowForeignAddress" = "false" ]; then
|
||||||
|
sed -i 's/AllowForeignAddress.*/AllowForeignAddress off/g' $ADDON_HOME/proftpd.conf
|
||||||
|
else
|
||||||
|
sed -i 's/AllowForeignAddress.*/AllowForeignAddress on/g' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$AllowStoreRestart" = "false" ]; then
|
||||||
|
sed -i 's/AllowStoreRestart.*/AllowStoreRestart off/g' $ADDON_HOME/proftpd.conf
|
||||||
|
else
|
||||||
|
sed -i 's/AllowStoreRestart.*/AllowStoreRestart on/g' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$AllowRetrieveRestart" = "false" ]; then
|
||||||
|
sed -i 's/AllowRetrieveRestart.*/AllowRetrieveRestart off/g' $ADDON_HOME/proftpd.conf
|
||||||
|
else
|
||||||
|
sed -i 's/AllowRetrieveRestart.*/AllowRetrieveRestart on/g' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RootLogin" = "false" ]; then
|
||||||
|
sed -i 's/RootLogin.*/RootLogin off/g' $ADDON_HOME/proftpd.conf
|
||||||
|
else
|
||||||
|
sed -i 's/RootLogin.*/RootLogin on/g' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$TLSRequired" = "false" ]; then
|
||||||
|
sed -i 's/TLSRequired.*/TLSRequired off/g' $ADDON_HOME/proftpd.conf
|
||||||
|
else
|
||||||
|
sed -i 's/TLSRequired.*/TLSRequired on/g' $ADDON_HOME/proftpd.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$ADDON_DIR/bin"
|
||||||
|
|
||||||
|
case "$CryptoHash" in
|
||||||
|
"0") CryptoHash="sha-512"; SALTLength="16";;
|
||||||
|
"1") CryptoHash="sha-256"; SALTLength="16";;
|
||||||
|
"2") CryptoHash="md5"; SALTLength="8";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
mkdir -p /var/config/
|
||||||
|
rm -f /var/config/proftpd.passwd
|
||||||
|
touch /var/config/proftpd.passwd
|
||||||
|
chmod 700 /var/config/proftpd.passwd
|
||||||
|
|
||||||
|
for NUM in $(seq 1 100); do
|
||||||
|
USERNAME=$(eval echo \$Username${NUM})
|
||||||
|
USERPASS=$(eval echo \$Userpass${NUM})
|
||||||
|
USERPATH=$(eval echo \$Userpath${NUM})
|
||||||
|
|
||||||
|
if [ -n "$USERNAME" ]; then
|
||||||
|
echo $USERNAME:$(./mkpasswd --hash=$CryptoHash --salt=$(cat /dev/urandom | tr -cd "[:alnum:]" | head -c $SALTLength) $USERPASS):10:10::$USERPATH:/bin/false >> /var/config/proftpd.passwd
|
||||||
|
# user writes with different user/group
|
||||||
|
mkdir -p "$USERPATH"
|
||||||
|
chmod 777 "$USERPATH"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exec proftpd -n -d $Debuglevel -c $ADDON_HOME/proftpd.conf
|
35
packages/addons/service/proftpd/source/default.py
Normal file
35
packages/addons/service/proftpd/source/default.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of LibreELEC - https://libreelec.tv
|
||||||
|
# Copyright (C) 2016 Team LibreELEC
|
||||||
|
#
|
||||||
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
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()
|
12
packages/addons/service/proftpd/source/etc/openssl.cnf
Normal file
12
packages/addons/service/proftpd/source/etc/openssl.cnf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[ req ]
|
||||||
|
prompt = no
|
||||||
|
distinguished_name = req_distinguished_name
|
||||||
|
|
||||||
|
[ req_distinguished_name ]
|
||||||
|
C = GB
|
||||||
|
ST = Test State
|
||||||
|
L = Test Locality
|
||||||
|
O = Org Name
|
||||||
|
OU = Org Unit Name
|
||||||
|
CN = Common Name
|
||||||
|
emailAddress = test@email.com
|
60
packages/addons/service/proftpd/source/etc/proftpd.conf
Normal file
60
packages/addons/service/proftpd/source/etc/proftpd.conf
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
ServerName "ProFTPD"
|
||||||
|
ServerType standalone
|
||||||
|
DefaultServer on
|
||||||
|
UseReverseDNS off
|
||||||
|
ServerIdent on "FTP Server"
|
||||||
|
Port 21
|
||||||
|
RootLogin on
|
||||||
|
ListOptions "-il"
|
||||||
|
MaxClients 10
|
||||||
|
MaxHostsPerUser 5
|
||||||
|
MaxClientsPerHost 5
|
||||||
|
Umask 022
|
||||||
|
MaxInstances 30
|
||||||
|
User root
|
||||||
|
Group root
|
||||||
|
DefaultRoot ~
|
||||||
|
AllowForeignAddress on
|
||||||
|
|
||||||
|
TransferLog /storage/.kodi/userdata/addon_data/service.proftpd/transfer.log
|
||||||
|
ExtendedLog /storage/.kodi/userdata/addon_data/service.proftpd/extended.log
|
||||||
|
SystemLog /storage/.kodi/userdata/addon_data/service.proftpd/service.log
|
||||||
|
|
||||||
|
# Trace DEFAULT:10
|
||||||
|
# TraceLog /storage/.kodi/userdata/addon_data/service.proftpd/trace.log
|
||||||
|
|
||||||
|
AuthGroupFile /etc/group
|
||||||
|
AuthUserFile /var/config/proftpd.passwd
|
||||||
|
RequireValidShell off
|
||||||
|
AuthOrder mod_auth_unix.c mod_auth_file.c*
|
||||||
|
UseFtpUsers off
|
||||||
|
PersistentPasswd off
|
||||||
|
|
||||||
|
<Global>
|
||||||
|
Umask 022
|
||||||
|
TimesGMT off
|
||||||
|
DenyFilter \*.*/
|
||||||
|
PassivePorts 45000 45100
|
||||||
|
</Global>
|
||||||
|
|
||||||
|
<Directory /*>
|
||||||
|
AllowOverwrite on
|
||||||
|
AllowStoreRestart on
|
||||||
|
AllowRetrieveRestart on
|
||||||
|
GroupOwner root
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<IfModule mod_tls.c>
|
||||||
|
TLSEngine on
|
||||||
|
# Support both SSLv3 and TLSv1
|
||||||
|
TLSProtocol SSLv3 TLSv1
|
||||||
|
TLSRequired off
|
||||||
|
TLSVerifyClient off
|
||||||
|
TLSOptions NoSessionReuseRequired
|
||||||
|
TLSRSACertificateFile /storage/.kodi/userdata/addon_data/service.proftpd/proftpd.cert.pem
|
||||||
|
TLSRSACertificateKeyFile /storage/.kodi/userdata/addon_data/service.proftpd/proftpd.key.pem
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
#<IfModule mod_lang.c>
|
||||||
|
# UseEncoding utf8 cp1251
|
||||||
|
#</IfModule>
|
@ -0,0 +1,50 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<strings>
|
||||||
|
<!-- proftpd -->
|
||||||
|
<string id="40000">General</string>
|
||||||
|
<string id="40010">Settings</string>
|
||||||
|
<string id="40030">Allow Overwrite</string>
|
||||||
|
<string id="40040">Port</string>
|
||||||
|
<string id="40050">Max Clients</string>
|
||||||
|
<string id="40060">Max Clients per Host</string>
|
||||||
|
<string id="40070">Max Hosts per User</string>
|
||||||
|
<string id="40080">Max Instances</string>
|
||||||
|
<string id="40090">Umask</string>
|
||||||
|
<string id="40100">Server Name</string>
|
||||||
|
<string id="40110">Server Ident</string>
|
||||||
|
<string id="40120">Server Ident Text</string>
|
||||||
|
<string id="40180">Allow Store Restart</string>
|
||||||
|
<string id="40190">Allow Retrieve Restart</string>
|
||||||
|
<string id="40200">Allow Root Login</string>
|
||||||
|
<string id="40210">Debug level</string>
|
||||||
|
<string id="50000">User</string>
|
||||||
|
<string id="50010">Hash Algorithm</string>
|
||||||
|
<string id="50020">Username 1</string>
|
||||||
|
<string id="50030">User Password 1</string>
|
||||||
|
<string id="50040">User Path 1</string>
|
||||||
|
<string id="50050">Username 2</string>
|
||||||
|
<string id="50060">User Password 2</string>
|
||||||
|
<string id="50070">User Path 2</string>
|
||||||
|
<string id="50080">Username 3</string>
|
||||||
|
<string id="50090">User Password 3</string>
|
||||||
|
<string id="50100">User Path 3</string>
|
||||||
|
<string id="50110">Username 4</string>
|
||||||
|
<string id="50120">User Password 4</string>
|
||||||
|
<string id="50130">User Path 4</string>
|
||||||
|
<string id="50140">Username 5</string>
|
||||||
|
<string id="50150">User Password 5</string>
|
||||||
|
<string id="50160">User Path 5</string>
|
||||||
|
<string id="60000">TLS</string>
|
||||||
|
<string id="60010">Allow TLS Engine</string>
|
||||||
|
<string id="60020">TLS Required</string>
|
||||||
|
<string id="60030">Certificat Lifetime (Days)</string>
|
||||||
|
<string id="60040">Certificat Hash Algorithm</string>
|
||||||
|
<string id="60050">Certificat Cryptosystem</string>
|
||||||
|
<string id="60060">Certificat Bit-Strength</string>
|
||||||
|
<string id="70000">FXP</string>
|
||||||
|
<string id="70010">Allow Foreign Address</string>
|
||||||
|
<string id="70020">Passive Portrange Start</string>
|
||||||
|
<string id="70030">Passive Portrange End</string>
|
||||||
|
<string id="70040">Enable Masquerade Address</string>
|
||||||
|
<string id="70050">Masquerade Address</string>
|
||||||
|
</strings>
|
@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<settings>
|
||||||
|
<category label="40000">
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="Port" type="number" label="40040" default="21" />
|
||||||
|
<setting id="MaxClients" type="number" label="40050" default="10" />
|
||||||
|
<setting id="MaxClientsPerHost" type="number" label="40060" default="5" />
|
||||||
|
<setting id="MaxHostsPerUser" type="number" label="40070" default="5" />
|
||||||
|
<setting id="MaxInstances" type="number" label="40080" default="30" />
|
||||||
|
<setting id="Umask" type="number" label="40090" default="022" />
|
||||||
|
<setting id="ServerName" type="text" label="40100" default="ProFTPD on LibreELEC"/>
|
||||||
|
<setting id="ServerIdent" type="bool" label="40110" default="true" />
|
||||||
|
<setting id="ServerIdentText" type="text" label="40120" default="LibreELEC" visible="eq(-1,true)" />
|
||||||
|
<setting id="AllowOverwrite" type="bool" label="40030" default="true" />
|
||||||
|
<setting id="AllowStoreRestart" type="bool" label="40180" default="true" />
|
||||||
|
<setting id="AllowRetrieveRestart" type="bool" label="40190" default="true" />
|
||||||
|
<setting id="RootLogin" type="bool" label="40200" default="true" />
|
||||||
|
<setting id="Debuglevel" type="labelenum" label="40210" default="0" values="0|1|2|3|4|5|6|7|8|9|10" />
|
||||||
|
</category>
|
||||||
|
<category label="60000">
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="TLSEngine" type="bool" label="60010" default="true" />
|
||||||
|
<setting id="TLSRequired" type="bool" label="60020" default="false" visible="eq(-1,true)" />
|
||||||
|
<setting id="CertTTL" type="number" label="60030" default="36500" />
|
||||||
|
<setting id="CertHash" type="enum" label="60040" default="sha1" values="sha1" />
|
||||||
|
<setting id="CertCrypto" type="enum" label="60050" default="x509" values="rsa|x509" />
|
||||||
|
<setting id="CertBitStrength" type="number" label="60060" default="2048" />
|
||||||
|
</category>
|
||||||
|
<category label="70000">
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="AllowForeignAddress" type="bool" label="70010" default="true" />
|
||||||
|
<setting id="PassivePorts" type="number" label="70020" default="45000" />
|
||||||
|
<setting id="PassivePorts2" type="number" label="70030" default="45100" />
|
||||||
|
<setting id="MasqueradeAddress" type="bool" label="70040" default="true" />
|
||||||
|
<setting id="MasqueradeAddress2" type="text" label="70050" default="127.0.0.1" visible="eq(-1,true)" />
|
||||||
|
</category>
|
||||||
|
<category label="50000">
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="CryptoHash" type="enum" label="50010" default="sha-512" values="sha-512|sha-256|md5" />
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="Username1" type="text" label="50020" default="" />
|
||||||
|
<setting id="Userpass1" type="text" label="50030" default="" enable="!eq(-1,)" />
|
||||||
|
<setting id="Userpath1" type="folder" label="50040" default="/storage" enable="!eq(-1,)" option="writeable" />
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="Username2" type="text" label="50050" default="" visible="!eq(-3,)" />
|
||||||
|
<setting id="Userpass2" type="text" label="50060" default="" visible="!eq(-4,)" enable="!eq(-1,)" />
|
||||||
|
<setting id="Userpath2" type="folder" label="50070" default="/storage" visible="!eq(-5,)" enable="!eq(-1,)" option="writeable" />
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="Username3" type="text" label="50080" default="" visible="!eq(-3,)" />
|
||||||
|
<setting id="Userpass3" type="text" label="50090" default="" visible="!eq(-4,)" enable="!eq(-1,)" />
|
||||||
|
<setting id="Userpath3" type="folder" label="50100" default="/storage" visible="!eq(-5,)" enable="!eq(-1,)" option="writeable" />
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="Username4" type="text" label="50110" default="" visible="!eq(-3,)" />
|
||||||
|
<setting id="Userpass4" type="text" label="50120" default="" visible="!eq(-4,)" enable="!eq(-1,)" />
|
||||||
|
<setting id="Userpath4" type="folder" label="50130" default="/storage" visible="!eq(-5,)" enable="!eq(-1,)" option="writeable" />
|
||||||
|
<setting type="lsep" />
|
||||||
|
<setting id="Username5" type="text" label="50140" default="" visible="!eq(-3,)" />
|
||||||
|
<setting id="Userpass5" type="text" label="50150" default="" visible="!eq(-4,)" enable="!eq(-1,)" />
|
||||||
|
<setting id="Userpath5" type="folder" label="50160" default="/storage" visible="!eq(-5,)" enable="!eq(-1,)" option="writeable" />
|
||||||
|
</category>
|
||||||
|
</settings>
|
43
packages/addons/service/proftpd/source/settings-default.xml
Normal file
43
packages/addons/service/proftpd/source/settings-default.xml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<settings>
|
||||||
|
<setting id="AllowForeignAddress" value="true" />
|
||||||
|
<setting id="AllowOverwrite" value="true" />
|
||||||
|
<setting id="AllowRetrieveRestart" value="true" />
|
||||||
|
<setting id="AllowStoreRestart" value="true" />
|
||||||
|
<setting id="CertBitStrength" value="2048" />
|
||||||
|
<setting id="CertCrypto" value="0" />
|
||||||
|
<setting id="CertHash" value="0" />
|
||||||
|
<setting id="CertTTL" value="36500" />
|
||||||
|
<setting id="CryptoHash" value="0" />
|
||||||
|
<setting id="MasqueradeAddress" value="false" />
|
||||||
|
<setting id="MasqueradeAddress2" value="192.168.1.5" />
|
||||||
|
<setting id="MaxClients" value="10" />
|
||||||
|
<setting id="MaxClientsPerHost" value="5" />
|
||||||
|
<setting id="MaxHostsPerUser" value="5" />
|
||||||
|
<setting id="MaxInstances" value="30" />
|
||||||
|
<setting id="PassivePorts" value="45000" />
|
||||||
|
<setting id="PassivePorts2" value="45100" />
|
||||||
|
<setting id="Port" value="21" />
|
||||||
|
<setting id="RootLogin" value="true" />
|
||||||
|
<setting id="Debuglevel" value="0" />
|
||||||
|
<setting id="ServerIdent" value="true" />
|
||||||
|
<setting id="ServerIdentText" value="LibreELEC" />
|
||||||
|
<setting id="ServerName" value="ProFTPD on LibreELEC" />
|
||||||
|
<setting id="TLSEngine" value="true" />
|
||||||
|
<setting id="TLSRequired" value="false" />
|
||||||
|
<setting id="Umask" value="022" />
|
||||||
|
<setting id="Username1" value="" />
|
||||||
|
<setting id="Username2" value="" />
|
||||||
|
<setting id="Username3" value="" />
|
||||||
|
<setting id="Username4" value="" />
|
||||||
|
<setting id="Username5" value="" />
|
||||||
|
<setting id="Userpass1" value="" />
|
||||||
|
<setting id="Userpass2" value="" />
|
||||||
|
<setting id="Userpass3" value="" />
|
||||||
|
<setting id="Userpass4" value="" />
|
||||||
|
<setting id="Userpass5" value="" />
|
||||||
|
<setting id="Userpath1" value="/storage" />
|
||||||
|
<setting id="Userpath2" value="/storage" />
|
||||||
|
<setting id="Userpath3" value="/storage" />
|
||||||
|
<setting id="Userpath4" value="/storage" />
|
||||||
|
<setting id="Userpath5" value="/storage" />
|
||||||
|
</settings>
|
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=ProFTPD
|
||||||
|
After=network-online.service
|
||||||
|
Requires=network-online.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.proftpd/bin/proftpd.start"
|
||||||
|
TimeoutStopSec=2
|
||||||
|
Restart=always
|
||||||
|
RestartSec=2
|
||||||
|
StartLimitInterval=0
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=kodi.target
|
Loading…
x
Reference in New Issue
Block a user