pyftpdlibをとりあえずインストール

pytftpdlibをとりあえずインストールしてみた。easy_installかダウンロードして"setup.py install"でok。バージョンは現時点で最新の0.2.0。

easy_install http://pyftpdlib.googlecode.com/files/pyftpdlib_0.2.0.tar.gz

GoogleCodeのページにクイックスタートが載っているので、これを試してみた。

from pyftpdlib import ftpserver
authorizer = ftpserver.DummyAuthorizer()
authorizer.add_user('hogeuser', 'hogepass', 'F:/pyftpd/', perm=('r', 'w'))
ftp_handler = ftpserver.FTPHandler
ftp_handler.authorizer = authorizer
address = ("192.168.11.3", 21)
ftpd = ftpserver.FTPServer(address, ftp_handler)
ftpd.serve_forever()

ftpでネットワークの速度を測定する」を参考に6GBのファイルを、100MbpsのLAN環境で転送して速度を調べてみた。

C:\>ftp 192.168.11.3
Connected to 192.168.11.3.
220 pyftpdlib 0.2.0 ready.
User (192.168.11.3:(none)): hogeuser
331 Username ok, send password.
Password:
230 Login successful.
ftp> dir
200 PORT command successful.
125 Data connection already open. Transfer starting.
-rw-rw-rw-   1 owner    group      6000000000 Oct 29 21:35 速度計測用6GB.dat
226 Transfer complete.
ftp: 78 bytes received in 0.04Seconds 1.95Kbytes/sec.
ftp> bin
200 Type set to: Binary.
ftp> get 速度計測用6GB.dat nul
200 PORT command successful.
125 Data connection already open. Transfer starting.
226 Transfer complete.
ftp: 6000000000 bytes received in 3499.78Seconds 1714.39Kbytes/sec.

OSの設定がよろしくないせいでパフォーマンスが出てない気がする。まあ、これだけ出れば十分。日本語も化けてないみたいだし、2GB以上のファイルも扱えるみたいだし、良さそうだなこれ。