ここで「FTPS出来る」と言い、pyopensslを入れればいいんだぞと言っているのだから
それはもう「出来て当然」とも言えて、このネタは「でけましたぁ」いう以上のもんでもなく。
一応もういちど。pyopenssl を pip でインストールしてる、の図:
コピペしたい人のために:
1 import logging
2 from pyftpdlib.servers import FTPServer
3 from pyftpdlib.authorizers import DummyAuthorizer
4 from pyftpdlib.handlers import TLS_FTPHandler
5
6 def main():
7 #logging.basicConfig(level=logging.DEBUG)
8
9 authorizer = DummyAuthorizer()
10 authorizer.add_user('user', 'pass', '.', perm='elradfmw')
11 authorizer.add_anonymous('.')
12 handler = TLS_FTPHandler
13 handler.certfile = 'cert.pem'
14 handler.keyfile = 'key.pem'
15 handler.authorizer = authorizer
16 # requires SSL for both control and data channel
17 #handler.tls_control_required = True
18 #handler.tls_data_required = True
19 server = FTPServer(('', 21), handler)
20 server.serve_forever()
21
22 if __name__ == '__main__':
23 main()
ドキュメントみればわかることしかやってないので特に説明はしないですが、ただ、ドキュメント中の demo は「deprecated」使いっぱなしという自爆をやらかしてるんで、そこくらいかな、「自力」たのは。
サーバ、クライアントともに Python で FTPS の巻、でした。
こういうことをしたいということは「GUI では耐え切れないほど多い/大きいファイル転送」で困っているということで、「自分にしか嬉しくないカスタマイズ」に価値があるわけでしょう。ということは本番に適用する前に検証用のサーバ、いずれにしても欲しいわけだね。なのでこういう自己完結出来るアプローチはありがてぇこってす。