Windowsで気軽なftpsサーバ、兼、オンデマンドなftpsサーバ

ここで「FTPS出来る」と言い、pyopensslを入れればいいんだぞと言っているのだから


それはもう「出来て当然」とも言えて、このネタは「でけましたぁ」いう以上のもんでもなく。

一応もういちど。pyopenssl を pip でインストールしてる、の図:
pip_install_pyopenssl

「でけましたぁ」なの絵ぇ:
pip_install_pyopenssl

コピペしたい人のために:

 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 では耐え切れないほど多い/大きいファイル転送」で困っているということで、「自分にしか嬉しくないカスタマイズ」に価値があるわけでしょう。ということは本番に適用する前に検証用のサーバ、いずれにしても欲しいわけだね。なのでこういう自己完結出来るアプローチはありがてぇこってす。