快速FTP服務器
回答
的ftpd寶石支持TLS,並配備了一個文件系統驅動程序輕量級FTP服務器架構。像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時的作者和當前的維護者
看看這個寶石,建立在EventMachine的 https://github.com/yob/em-ftpd
謝謝!看起來不錯,但我需要編寫一個驅動程序才能將它用於真正的文件系統。你知道這個驅動程序是否已經存在?聽起來像是一個感興趣的開源項目,如果它沒有:) – alf
好吧,它不是一個插件,去寶石,但你有一個這樣的驅動程序在Git站點的例子em-ftpd/examples/fake.rb – peter
@peter hi ,這個LightWeight FTP服務器是否支持安全連接? ftps可能是? – cypronmaya
- 1. 從FTP服務器快速下載多個文件
- 2. 快速perl http服務器?
- 3. ftp ftp服務器C
- 4. 可變的HTTP/HTTPS快速服務器
- 5. 使用Grunt啓動快速服務器
- 6. Node.js快速服務器端結構
- 7. 快速http 2服務器推送
- 8. 從gulp啓動快速服務器
- 9. 更改SQL服務器快速表名
- 10. .on('connection')爲快速服務器
- 11. Python的快速Web服務器
- 12. 假FTP服務器
- 13. FTP服務器庫
- 14. 速度更快:Web服務還是XML服務器輸出?
- 15. 我無法FTP到FTP服務器
- 16. SSH FTP上傳到FTP服務器
- 17. FTP不同的服務器
- 18. 如何從FTP服務器
- 19. FTP服務器監控
- 20. VPS上的FTP服務器
- 21. 讀取FTP服務器
- 22. 上傳到FTP服務器
- 23. Azure上的FTP服務器
- 24. 從ftp服務器推送
- 25. 一線FTP服務器
- 26. 創建C++ FTP服務器
- 27. PIL.Image.save()到FTP服務器
- 28. 一個ftp服務器
- 29. 設置FTP服務器
- 30. Java和FTP服務器
太棒了!我將用它作爲即插即用寶石的基礎。謝謝! – alf
@alfonso,請讓我知道它是如何爲你工作的。我的電子郵件地址在README中。順便說一句,我應該提到這個例子*允許寫/刪除/等。下一個版本將有一個ReadOnlyDiskFileSystem。 –
寶石創建!它被稱爲[Purvey](https://github.com/alfonsocora/purvey)。我還向您發送了一個針對我在運行ftpd規格時遇到的小問題的請求。如果您感覺自己也願意爲Purvey做出貢獻:)感謝您的幫助! – alf