ALPHACON BBSGość · pl
← Protipy

Protipy / Python

python -m pyftpdlib -p 21 -w - uruchom anonimowy serwer FTP do zapisu

python -m pyftpdlib -p 21 -w

Wstęp

Oczywiście wcześniej należy upewnić się, że biblioteka pyftpdlib jest zainstalowana, np.:

pip install pyftpdlib

lub

apt install python-pyftpdlib

Biblioteka pyftpdlib umożliwia również implementację własnego serwera FTP. Poniżej przykład prostego skryptu, który sprawdza czy użytkownik próbuje pobrać plik zawierający w nazwie test_ i jeśli tak, wyświetla jego drugą część.

#!/usr/bin/env python
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer

class MyHandler(FTPHandler):
    def ftp_RETR(self, file):
        arr = file.split("/test_")
        if (len(arr) == 2):
            print arr[1]
        self.respond('550 dupa')

def main():
    authorizer = DummyAuthorizer()
    authorizer.add_anonymous(homedir='.')

    handler = MyHandler
    handler.authorizer = authorizer
    server = FTPServer(('', 21), handler)
    server.serve_forever()

if __name__ == "__main__":
    main()

A do czego to się może przydać? A np. do /pl/0039.

Linki