graval
1.0.0
實驗FTP服務器框架。通過提供一個簡單的驅動程序類來響應少數方法,您可以擁有完整的FTP服務器。
一些示例用例包括持久數據到:
有一個可用的示例內存驅動程序 - 有關使用它的步驟,請參見下面的使用說明。
該包裝的完整文檔可在Godoc上找到
go get github.com/yob/graval
要啟動FTP服務器,您將需要提供一個驅動程序,該驅動程序會在您的持久性層上說話 - 下面列出了所需的驅動程序合同。
有一個作為演示的樣本中內存驅動程序。您可以使用此命令構建它:
go install github.com/yob/graval/graval-mem
然後運行它:
./bin/graval-mem
最後,使用任何FTP客戶端連接到服務器,以及以下詳細信息:
host: 127.0.0.1
username: test
password: 1234
您的驅動程序必須實現許多簡單的方法。您可以在Godoc上的包裝文檔中查看所需的合同
FTP是一個令人難以置信的不安全協議。請注意強迫用戶使用重要的用戶名或密碼進行身份驗證。
該庫是根據MIT許可證的條款分發的。有關更多詳細信息,請參見隨附的文件。
歡迎所有建議和補丁,最好是通過我可以從中提取的git存儲庫。如果該圖書館對您有用,請告訴我。
共同指定FTP協議的RFC範圍。按時間順序,更有用的是:
對於英語摘要,它比RFC更清晰,並且對RFC959發表後24年實際有用或相關的哪些功能發表了一些評論:
有關歷史課,請查看RCF959的附錄III。它列出了與文件傳輸相關的前面(已過時的)RFC文檔,包括1971年的Ye Old RFC114,“文件傳輸協議”
該庫是基於EM-FTPD的,這是一個FTPD框架,在Ruby和Eventmachine生態系統中具有相似的設計目標。它運行得足夠好,但是您知道,回調和事件循環使我有所作為。