wrk 2025-01-04 22-34-32
# $ cat ftps.py # ftps server # openssl req -x509 -newkey rsa:2048 -keyout ftpd.key -out ftpd.crt -nodes -days 3650 from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler, TLS_FTPHandler from pyftpdlib.servers import FTPServer from OpenSSL import SSL # Создаем авторизатор authorizer = DummyAuthorizer() # Добавляем пользователя с правами доступа authorizer.add_user("user", "luser", "/inter/ftp", perm="elradfmwMT") # полные права # Создаем обработчик для FTPS handler = TLS_FTPHandler handler.authorizer = authorizer # Настройка SSL handler.certfile = 'ftpd.crt' # Путь к вашему сертификату handler.keyfile = 'ftpd.key' # Путь к вашему ключу # Настраиваем сервер на определенном порту server = FTPServer(("0.0.0.0", 21), handler) # Устанавливаем максимальное количество соединений и соединений с одного IP server.max_cons = 256 # максимальное количество соединений server.max_cons_per_ip = 5 # максимальное количество соединений с одного IP # Запускаем сервер server.serve_forever()