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
नोट: यह उदाहरण एक एफ़टीपी ग्राहक, अपलोड करने के लिए हटाने के लिए, नाम बदलने, आदि
की अनुमति देता है
include Ftpd::InsecureCertificate
...
server.certfile_path = insecure_certfile_path
server.tls = :explicit
server.start
प्रकटीकरण:
टीएलएस सक्षम करने के लिए मैं fTPd हूँ के लेखक और वर्तमान मेंटेनर
स्रोत
2013-03-05 12:00:49
बढ़िया! मैं प्लग-एंड-प्ले मणि के लिए आधार के रूप में इसका उपयोग करूंगा। धन्यवाद! – alf
@alfonso, कृपया मुझे बताएं कि यह आपके लिए कैसे काम करता है। मेरा ईमेल पता रीडमे में है। वैसे, मुझे यह उल्लेख करना चाहिए था कि यह उदाहरण * लिखता/हटाता/इत्यादि * देता है। अगली रिलीज में ReadOnlyDiskFileSystem होगा। –
मणि बनाया! इसे [पुरावे] कहा जाता है (https://github.com/alfonsocora/purvey)। मैंने आपको ftpd के लिए चश्मा चलाने के दौरान एक छोटे से मुद्दे के लिए एक पुल अनुरोध भी भेजा था। यदि आपको भी लगता है तो पुरस्कार में योगदान करने के लिए स्वतंत्र महसूस करें :) आपकी मदद के लिए धन्यवाद! – alf