mirror of
https://github.com/QYG2297248353/appstore-1panel.git
synced 2024-11-28 19:36:14 +08:00
feat: 新增 sftpgo (#269)
This commit is contained in:
parent
c47ea9b7bd
commit
468102d53e
69
apps/sftpgo/README.md
Normal file
69
apps/sftpgo/README.md
Normal file
@ -0,0 +1,69 @@
|
||||
# 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
|
20
apps/sftpgo/data.yml
Executable file
20
apps/sftpgo/data.yml
Executable file
@ -0,0 +1,20 @@
|
||||
name: SFTPGo
|
||||
tags:
|
||||
- 工具
|
||||
title: 支持自定义 HTTP/S,FTP/S 和 WebDAV 的 SFTP 服务
|
||||
type: 工具
|
||||
description: 支持自定义 HTTP/S,FTP/S 和 WebDAV 的 SFTP 服务
|
||||
additionalProperties:
|
||||
key: sftpgo
|
||||
name: SFTPGo
|
||||
tags:
|
||||
- Tool
|
||||
shortDescZh: 支持自定义 HTTP/S,FTP/S 和 WebDAV 的 SFTP 服务
|
||||
shortDescEn: Support for custom HTTP/S, FTP/S, and WebDAV in SFTP service
|
||||
type: tool
|
||||
crossVersionUpdate: false
|
||||
limit: 1
|
||||
recommend: 0
|
||||
website: https://sftpgo.com/
|
||||
github: https://github.com/drakkan/sftpgo/
|
||||
document: https://github.com/drakkan/sftpgo/blob/main/docs/howto/getting-started.md
|
BIN
apps/sftpgo/logo.png
Normal file
BIN
apps/sftpgo/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
58
apps/sftpgo/v2.5.4/data.yml
Executable file
58
apps/sftpgo/v2.5.4/data.yml
Executable file
@ -0,0 +1,58 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 8080
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Web Port
|
||||
labelZh: Web 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: 2022
|
||||
edit: true
|
||||
envKey: SFTP_PORT
|
||||
labelEn: SFTP Port
|
||||
labelZh: SFTP 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: 2121
|
||||
edit: true
|
||||
envKey: FTP_PORT
|
||||
labelEn: FTP Port
|
||||
labelZh: FTP 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: 50000
|
||||
edit: true
|
||||
envKey: PASSIVE_PORT_RANGE_START
|
||||
labelEn: FTP Passive Mod Start Port
|
||||
labelZh: FTP 被动模式起始端口
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
- default: 50100
|
||||
edit: true
|
||||
envKey: PASSIVE_PORT_RANGE_END
|
||||
labelEn: FTP Passive Mod End Port
|
||||
labelZh: FTP 被动模式结束端口 (大于起始端口)
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
- default: <your external ip here>
|
||||
edit: true
|
||||
envKey: FTP_EXTERNAL_IP
|
||||
labelEn: FTP External Ip (must change item)
|
||||
labelZh: FTP 外部地址 (必改项)
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
- default: 10080
|
||||
edit: true
|
||||
envKey: WEBDAV_PORT
|
||||
labelEn: WebDAV Port
|
||||
labelZh: WebDAV 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
28
apps/sftpgo/v2.5.4/docker-compose.yml
Normal file
28
apps/sftpgo/v2.5.4/docker-compose.yml
Normal file
@ -0,0 +1,28 @@
|
||||
version: '3'
|
||||
services:
|
||||
sftpgo:
|
||||
image: drakkan/sftpgo:v2.5.4-alpine
|
||||
container_name: ${CONTAINER_NAME}
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- ${PANEL_APP_PORT_HTTP}:8080
|
||||
- ${SFTP_PORT}:${SFTP_PORT}
|
||||
- ${FTP_PORT}:${FTP_PORT}
|
||||
- ${PASSIVE_PORT_RANGE_START}-${PASSIVE_PORT_RANGE_END}:${PASSIVE_PORT_RANGE_START}-${PASSIVE_PORT_RANGE_END}
|
||||
- ${WEBDAV_PORT}:${WEBDAV_PORT}
|
||||
environment:
|
||||
SFTPGO_FTPD__BINDINGS__0__PORT: ${FTP_PORT}
|
||||
SFTPGO_WEBDAVD__BINDINGS__0__PORT: ${WEBDAV_PORT}
|
||||
SFTPGO_SFTPD__BINDINGS__0__PORT: ${SFTP_PORT}
|
||||
SFTPGO_FTPD__BINDINGS__0__FORCE_PASSIVE_IP: ${FTP_EXTERNAL_IP}
|
||||
SFTPGO_FTPD__PASSIVE_PORT_RANGE__START: ${PASSIVE_PORT_RANGE_START}
|
||||
SFTPGO_FTPD__PASSIVE_PORT_RANGE__END: ${PASSIVE_PORT_RANGE_END}
|
||||
volumes:
|
||||
- ./data/data:/srv/sftpgo
|
||||
- ./data/config:/var/lib/sftpgo
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
Loading…
Reference in New Issue
Block a user