26个版本
0.14.7 | 2024年6月20日 |
---|---|
0.14.5 | 2023年12月24日 |
0.14.4 | 2023年9月17日 |
0.14.3 | 2023年6月16日 |
0.12.2 | 2020年10月30日 |
#141 in 网络编程
1,515次每月下载
725KB
2.5K SLoC
unFTP
当你需要FTP,但又不想使用。
unFTP是用Rust编写的FTP(S)服务器,基于libunftp和Tokio异步运行时构建。它与普通FTP服务器不同,因为它提供以下功能:
- 可配置的认证(例如匿名、PAM或JSON文件)。
- 可配置的存储后端(例如GCS或文件系统)。
- 具有健康端点的HTTP服务器,例如在Kubernetes中用于就绪和存活探针。
- 与Prometheus集成以进行监控。
- 用于HA Proxy和Nginx等代理后的代理协议模式。
- 结构化日志记录,以及将日志发送到Redis实例的能力。
使用unFTP,您可以将符合RFC的FTP(S)呈现给外部世界,同时让您在边界内部自由使用现代API和技术。
安装和用法
用户文档可在我们的网站unftp.rs上找到。
Docker镜像
项目包含模板化的Dockerfile。要获取可用命令的列表,请运行
make help
我们提供3种不同的选项来构建unFTP Docker镜像
scratch
:在rust:slim中构建二进制文件,并在FROM scratch
镜像中部署。unFTP二进制文件使用musl libc进行静态链接。alpine
(默认):在rust:slim中构建,并在alpine中部署。此镜像使用musl而不是完整的libc构建。unFTP二进制文件使用musl libc进行静态链接。alpine-debug
:与alpine
相同的镜像,但使用unftp的调试构建,并添加了lftp和CurlFtpFS等工具,同时以root身份运行。alpine-istio
:与alpine
相同,但安装了scuttle。用于与Istio一起使用。alpine-istio-debug
:与alpine-debug相同,但增加了alpine-istio
的功能。
构建alpine Docker镜像
make docker-image-alpine
或者您也可以从Docker Hub下载预先制作好的镜像。
启用tokio-console
您可以使用tokio-console来分析unFTP中运行的异步任务。为此,您需要编译带有tokio_console
功能并启用tokio_unstable cfg
的构建或运行。
例如
RUSTFLAGS="--cfg tokio_unstable" cargo build --features tokio_console
或
RUSTFLAGS="--cfg tokio_unstable" cargo run --features tokio_console -- -vv
unFTP将在默认端口6669上监听来自tokio-console的连接。
获取帮助并保持最新
我们将尽力提供支持。您可以在讨论页面上与我们互动或创建一个Github问题。
您还可以在Telegram上关注新闻并与我们交谈。
许可证
您可以在Apache-2.0许可证的条款下自由使用、修改和分发此软件。
另请参阅
依赖项
~31–47MB
~1M SLoC