该ftpd的宝石支持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
Run Code Online (Sandbox Code Playgroud)
注意:此示例允许FTP客户端上载,删除,重命名等.
要启用TLS:
include Ftpd::InsecureCertificate
...
server.certfile_path = insecure_certfile_path
server.tls = :explicit
server.start
Run Code Online (Sandbox Code Playgroud)
披露:我是ftpd的作者和当前的维护者
| 归档时间: |
|
| 查看次数: |
4265 次 |
| 最近记录: |