# SFTPGo 功能齐全、高度可配置化、支持自定义 HTTP/S,FTP/S 和 WebDAV 的 SFTP 服务。 一些存储后端支持:本地文件系统、加密本地文件系统、S3(兼容)对象存储,Google Cloud 存储,Azure Blob 存储,SFTP。 ## 创建第一个管理员 开始使用 SFTPGo,你需要创建一个管理员用户: - 通过 web 管理员界面。默认 URL 是 [http://127.0.0.1:8080/web/admin](http://127.0.0.1:8080/web/admin) ## 用户和目录管理 在启动 SFTPGo 之后,你可以管理用户和目录使用: - [基于 Web 的管理员界面](https://github.com/drakkan/sftpgo/blob/main/docs/web-admin.md) ## 教程 一些手把手教程可以在源码文件树中的 [howto](https://github.com/drakkan/sftpgo/blob/main/docs/howto "How-to") 目录找到。 ## 虚拟目录 用户 home 文件夹外或者基于不同存储提供的目录,可以作为虚拟目录进行暴露,详细信息参考 [虚拟目录](https://github.com/drakkan/sftpgo/blob/main/docs/virtual-folders.md)。 ## 存储后端 ### S3/GCP/Azure 每个用户可以被映射到 [S3 兼容对象存储](https://github.com/drakkan/sftpgo/blob/main/docs/s3.md) /[Google Cloud 存储](https://github.com/drakkan/sftpgo/blob/main/docs/google-cloud-storage.md)/[Azure Blob 存储](https://github.com/drakkan/sftpgo/blob/main/docs/azure-blob-storage.md) bucket 或者一个 bucket 虚拟目录,通过 SFTP/SCP/FTP/WebDAV 进行暴露。 ### SFTP 后端 每个用户可以被映射到另一个 SFTP 服务器账户或者它的子目录。更多的信息可以参考 [sftpfs](https://github.com/drakkan/sftpgo/blob/main/docs/sftpfs.md)。 ### 加密后端 数据静态加密通过 [cryptfs 后端](https://github.com/drakkan/sftpgo/blob/main/docs/dare.md) 进行支持。 ### 其它存储后端 添加新的存储后端非常简单: - 实现 [Fs 接口](./vfs/vfs.go#L28 "interface for filesystem backends") - 更新用户方法 `GetFilesystem` 返回新的后端 - 更新 web 接口和 REST API CLI - 为新的存储后端添加向 `portable` 模式添加 flags 无论如何,一些后端需要按次付费账户(或者他们提供限制期限内提供免费账户)。为了能够添加这些账户支持或者预览 PRs,请提供一个测试账户。测试账户必须在提供足够长时间维护此后端,并且支持每一次新的发行版之前做基本测试。 ## 强力保护 SFTPGo 支持内置 [防护](https://github.com/drakkan/sftpgo/blob/main/docs/defender.md)。 你可以使用 [连接失败日志](https://github.com/drakkan/sftpgo/blob/main/docs/logs.md) 在诸如 [Fail2ban](http://www.fail2ban.org/) 进行工具内集成。[jails](./fail2ban/jails) 和 [filters](./fail2ban/filters) 示例,在 fail2ban 目录中与 `systemd`/`journald` 是可以同时工作的。 ## 账户配置属性 关于账户配置属性的细节信息,请参考 [账户](https://github.com/drakkan/sftpgo/blob/main/docs/account.md)。 ## 性能 SFTPGo 在没有特殊配置的情况下,可以实现低端硬件轻松达到 GB 量级连接,对于大多数场景足够使用了。 更多深度性能分析可以参考 [性能](https://github.com/drakkan/sftpgo/blob/main/docs/performance.md)。 ## 许可证 GNU AGPL-3.0-only