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生态系统中具有相似的设计目标。它运行得足够好,但是您知道,回调和事件循环使我有所作为。