2012-05-04 13 views
5

मैं एक त्वरित, विन्यास-रहित, FTP सर्वर की तलाश में हूं। कुछ Serve या Rack_dav जैसा कुछ है, लेकिन एफ़टीपी के लिए, जो केवल एक कमांड चलाकर फ़ोल्डर प्रकाशित कर सकता है। क्या ऐसी मणि करने के लिए कोई मणि या कुछ है?त्वरित FTP सर्वर

समाधान

वेन ftpd मणि के आधार पर, मैं Purvey कहा जाता है एक त्वरित और आसान से उपयोग मणि बनाया।

उत्तर

7

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 हूँ के लेखक और वर्तमान मेंटेनर

+0

बढ़िया! मैं प्लग-एंड-प्ले मणि के लिए आधार के रूप में इसका उपयोग करूंगा। धन्यवाद! – alf

+0

@alfonso, कृपया मुझे बताएं कि यह आपके लिए कैसे काम करता है। मेरा ईमेल पता रीडमे में है। वैसे, मुझे यह उल्लेख करना चाहिए था कि यह उदाहरण * लिखता/हटाता/इत्यादि * देता है। अगली रिलीज में ReadOnlyDiskFileSystem होगा। –

+0

मणि बनाया! इसे [पुरावे] कहा जाता है (https://github.com/alfonsocora/purvey)। मैंने आपको ftpd के लिए चश्मा चलाने के दौरान एक छोटे से मुद्दे के लिए एक पुल अनुरोध भी भेजा था। यदि आपको भी लगता है तो पुरस्कार में योगदान करने के लिए स्वतंत्र महसूस करें :) आपकी मदद के लिए धन्यवाद! – alf

2

इस मणि, एक हल्के FTP सर्वर ढांचे EventMachine https://github.com/yob/em-ftpd

+0

धन्यवाद! अच्छा लग रहा है, लेकिन मुझे वास्तविक फ़ाइल सिस्टम के साथ इसका उपयोग करने के लिए ड्राइवर लिखना होगा। क्या आप जानते हैं कि वह ड्राइवर पहले से मौजूद है या नहीं? यदि यह नहीं करता है तो एक ब्याज मुक्त स्रोत प्रोजेक्ट की तरह लगता है :) – alf

+0

अच्छी तरह से, यह एक प्लग नहीं है और मणि जाओ लेकिन आपके पास गिट साइट em-ftpd/example/fake.rb – peter

+1

@peter hi पर ऐसे ड्राइवर का उदाहरण है , क्या यह लाइटवेइट एफ़टीपी सर्वर सुरक्षित कनेक्शन का समर्थन करता है? एफटीपीएस हो सकता है? – cypronmaya

संबंधित मुद्दे