From b9c954113d1d6c8dbdf27a3f6786965b7a02bda2 Mon Sep 17 00:00:00 2001 From: Gil De Grove Date: Tue, 24 Sep 2019 14:28:16 +0200 Subject: [PATCH 1/4] Add environment variable to configure max connection by ip --- Dockerfile | 2 +- image/root/bin/simple-ftp-server | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index b3e429d..53f513e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ## -*- docker-image-name: "mauler/simple-ftp-server" -*- FROM python:slim -MAINTAINER Paulo +MAINTAINER EURANOVA ENV FTP_ROOT /ftp-home ENV FTP_USER ftp diff --git a/image/root/bin/simple-ftp-server b/image/root/bin/simple-ftp-server index b15df90..c864f14 100755 --- a/image/root/bin/simple-ftp-server +++ b/image/root/bin/simple-ftp-server @@ -26,7 +26,7 @@ def main(): # Specify a masquerade address and the range of ports to use for # passive connections. Decomment in case you're behind a NAT. - # handler.masquerade_address = '151.25.42.11' + handler.masquerade_address = environ.get('FTP_MASQUERADE_ADDRESS', None) # handler.passive_ports = range(60000, 65535) # Instantiate FTP server class and listen on 0.0.0.0:2121 @@ -35,7 +35,7 @@ def main(): # set a limit for connections server.max_cons = 256 - server.max_cons_per_ip = 5 + server.max_cons_per_ip = int(environ.get('FTP_MAX_CONS_PER_IP', '50')) # start ftp server server.serve_forever() From c201ce2d88db9e314d84796253f3a419b19d3ee1 Mon Sep 17 00:00:00 2001 From: Gil De Grove Date: Tue, 24 Sep 2019 16:38:38 +0200 Subject: [PATCH 2/4] dumb commint --- image/root/bin/simple-ftp-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/root/bin/simple-ftp-server b/image/root/bin/simple-ftp-server index c864f14..22582c1 100755 --- a/image/root/bin/simple-ftp-server +++ b/image/root/bin/simple-ftp-server @@ -26,7 +26,7 @@ def main(): # Specify a masquerade address and the range of ports to use for # passive connections. Decomment in case you're behind a NAT. - handler.masquerade_address = environ.get('FTP_MASQUERADE_ADDRESS', None) + # handler.masquerade_address = environ.get('FTP_MASQUERADE_ADDRESS', None) # handler.passive_ports = range(60000, 65535) # Instantiate FTP server class and listen on 0.0.0.0:2121 From 32aa642526db9c10610d8dd25b513d95bf032122 Mon Sep 17 00:00:00 2001 From: Gil De Grove Date: Wed, 25 Sep 2019 15:41:03 +0200 Subject: [PATCH 3/4] Make logging parameterablev --- image/root/bin/simple-ftp-server | 3 +++ 1 file changed, 3 insertions(+) diff --git a/image/root/bin/simple-ftp-server b/image/root/bin/simple-ftp-server index 22582c1..1b84dd7 100755 --- a/image/root/bin/simple-ftp-server +++ b/image/root/bin/simple-ftp-server @@ -6,10 +6,13 @@ from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer +import logging def main(): # Instantiate a dummy authorizer for managing 'virtual' users authorizer = DummyAuthorizer() + LOGLEVEL = environ.get('LOGLEVEL', 'WARNING').upper() + logging.basicConfig(level=logging.DEBUG) # Define a new user having full r/w permissions and a read-only # anonymous user From 147deda99d7f0d98794d396e67bd9781c414ab8f Mon Sep 17 00:00:00 2001 From: Gil De Grove Date: Wed, 25 Sep 2019 16:10:38 +0200 Subject: [PATCH 4/4] Add loglevel --- image/root/bin/simple-ftp-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/root/bin/simple-ftp-server b/image/root/bin/simple-ftp-server index 1b84dd7..dc82765 100755 --- a/image/root/bin/simple-ftp-server +++ b/image/root/bin/simple-ftp-server @@ -12,7 +12,7 @@ def main(): # Instantiate a dummy authorizer for managing 'virtual' users authorizer = DummyAuthorizer() LOGLEVEL = environ.get('LOGLEVEL', 'WARNING').upper() - logging.basicConfig(level=logging.DEBUG) + logging.basicConfig(level=LOGLEVEL) # Define a new user having full r/w permissions and a read-only # anonymous user