高速で構成不要の FTP サーバーを探しています。ServeまたはRack_davとまったく同じですが、コマンドを実行するだけでフォルダーを公開できる FTP 用です。そんなことをするgemか何かありますか?
解決
Wayne の ftpd gem に基づいて、 Purveyという迅速で使いやすい gem を作成しました。
ftpd gem は TLS をサポートし、ファイル システム ドライバーが付属しています。em-ftpd と同様に、ドライバーを提供しますが、そのドライバーは多くのことを行う必要はありません。これは、任意のユーザー名/パスワードを受け入れ、一時ディレクトリからファイルを提供する最小限の FTP サーバーです。
require 'ftpd'
require 'tmpdir'
class Driver
def initialize(temp_dir)
@temp_dir = temp_dir
end
def authenticate(user, password)
true
end
def file_system(user)
Ftpd::DiskFileSystem.new(@temp_dir)
end
end
Dir.mktmpdir do |temp_dir|
driver = Driver.new(temp_dir)
server = Ftpd::FtpServer.new(driver)
server.start
puts "Server listening on port #{server.bound_port}"
gets
end
注: この例では、FTP クライアントがアップロード、削除、名前変更などを行うことができます。
TLS を有効にするには:
include Ftpd::InsecureCertificate
...
server.certfile_path = insecure_certfile_path
server.tls = :explicit
server.start
開示: 私は ftpd の作成者であり、現在のメンテナーです