修复参数

This commit is contained in:
2026-04-06 17:16:55 +08:00
parent 9a8f6b7930
commit 41949ef7f4
2 changed files with 6 additions and 6 deletions

View File

@@ -2,7 +2,7 @@
本项目 fork 自 [Gossa, 由 Pierre Dubouilh 及 Gossa Authors 开发维护](https://github.com/pldubouilh/gossa), 并重新初始化 git. 本项目 fork 自 [Gossa, 由 Pierre Dubouilh 及 Gossa Authors 开发维护](https://github.com/pldubouilh/gossa), 并重新初始化 git.
AFI 是 Go 编写的轻量级文件服务器, 是基于 Gossa 的现代化增强维护分支 AFI(Agile File Interface) 是 Go 编写的轻量级文件服务器, 是基于 Gossa 的现代化增强维护分支
特色: 特色:
@@ -81,7 +81,7 @@ AFI 是 Go 编写的轻量级文件服务器, 是基于 Gossa 的现代化增强
## 使用方法 ## 使用方法
```sh ```sh
% ./afi --help $ ./afi --help
``` ```
## 编译 ## 编译
@@ -108,7 +108,7 @@ export GOBIN=$GOPATH/bin/
关于测试数据: 关于测试数据:
- AFI 本身"自缚一手": 坦率地说, 尽管在同一文件夹进行索引, 但仅 AFI 具有完备的文件管理器功能, 为显示元数据, 调用比其他服务器多, 页面体积和结构都比其他软件复杂, 并且只有 AFI 启用了 gzip(虽然是BestSpeed), 因此相较而言 AFI 在对比中比较吃亏且测试数据是不严谨的, 不能证明 "AFI 的性能是 Nginx 的 25%", 笔者提供这个数据仅仅是为了做除了 QPS 以外与其他服务器软件响应的性能参考(毕竟 QPS 和 CPU 性能挂钩, 树莓派上绝对跑不到下方的 QPS) - AFI 本身"自缚一手": 尽管在同一文件夹进行索引, 但坦率地说, 仅 AFI 具有完备的文件管理器功能, 为显示元数据, 调用比其他服务器多, 页面体积和结构都比其他软件复杂, 并且只有 AFI 启用了 gzip(虽然是BestSpeed), 因此相较而言 AFI 在对比中比较吃亏且测试数据是不严谨的, 不能证明 "AFI 的性能是 Nginx 的 25%", 笔者提供这个数据仅仅是为了做除了 QPS 以外与其他服务器软件响应的性能参考(毕竟 QPS 和 CPU 性能与磁盘 IO 挂钩, 树莓派和SD卡上绝对跑不到下方的 QPS)
- 测试的地址是 web 界面, 不是数据接口, 理论上数据接口是单一调用, 更快但不能进行对比实验 - 测试的地址是 web 界面, 不是数据接口, 理论上数据接口是单一调用, 更快但不能进行对比实验
- 您可用下方提供的命令在您的平台上获取测试数据 (请不要用它压力测试他人的网站!) - 您可用下方提供的命令在您的平台上获取测试数据 (请不要用它压力测试他人的网站!)

6
afi.go
View File

@@ -58,9 +58,9 @@ type pageTemplate struct {
var host = flag.String("h", "127.0.0.1", "监听的主机地址") // 监听的主机地址 var host = flag.String("h", "127.0.0.1", "监听的主机地址") // 监听的主机地址
var port = flag.String("p", "8001", "监听的端口") // 监听的端口 var port = flag.String("p", "8001", "监听的端口") // 监听的端口
var extraPath = flag.String("prefix", "/", "afi 的 URL 访问路径前缀, 例如 /afi/ (斜杠很重要)") // URL前缀路径 var extraPath = flag.String("prefix", "/", "afi 的 URL 访问路径前缀, 例如 /afi/ (斜杠很重要)") // URL前缀路径
var symlinks = flag.Bool("symlinks", false, "跟随符号链接 警告: 启用后符号链接可能会跳出已定义的\"根目录\" (default false)") // 是否跟随符号链接 var symlinks = flag.Bool("symlinks", false, "跟随符号链接 警告: 启用后符号链接可能会跳出已定义的\"根目录\"") // 是否跟随符号链接
var verb = flag.Bool("verb", false, "详细输出") // 是否输出详细日志 var verb = flag.Bool("verb", false, "详细输出") // 是否输出详细日志
var skipHidden = flag.Bool("k", true, "\n跳过隐藏文件") // 是否跳过隐藏文件(以.开头) var skipHidden = flag.Bool("k", false, "跳过隐藏文件") // 是否跳过隐藏文件(以.开头)
// var ro = flag.Bool("ro", false, "只读模式(无法修改文件系统)") // 是否只读模式 // var ro = flag.Bool("ro", false, "只读模式(无法修改文件系统)") // 是否只读模式
var title = flag.String("title", "%PATH%", "页面标题, 用 %PATH% 指代完整路径, %ITEM% 指代末端文件/目录名, 不会泄露根目录目录名") var title = flag.String("title", "%PATH%", "页面标题, 用 %PATH% 指代完整路径, %ITEM% 指代末端文件/目录名, 不会泄露根目录目录名")
var authstr = flag.String("auth", `{"admin": "password"}`, "可写用户的认证数据 (也可以用环境变量 AFI_AUTH 设置, AFI_AUTH 是最优先且最安全的)") // 这个flag只能用来调试 不然服务器一个ps就泄露了 var authstr = flag.String("auth", `{"admin": "password"}`, "可写用户的认证数据 (也可以用环境变量 AFI_AUTH 设置, AFI_AUTH 是最优先且最安全的)") // 这个flag只能用来调试 不然服务器一个ps就泄露了
@@ -575,7 +575,7 @@ func main() {
handler = http.StripPrefix(*extraPath, http.FileServer(http.Dir(rootPath))) handler = http.StripPrefix(*extraPath, http.FileServer(http.Dir(rootPath)))
// 输出启动信息 // 输出启动信息
fmt.Printf("Agile File Indexer 版本 %s\n", ver) fmt.Printf("Agile File Interface 版本 %s\n", ver)
fmt.Printf("AFI 是 Gossa 的增强分支, 但是并不完全向下兼容原版 Gossa 的参数\n") fmt.Printf("AFI 是 Gossa 的增强分支, 但是并不完全向下兼容原版 Gossa 的参数\n")
fmt.Printf("AFI 已启动, 根目录为 %s\n", rootPath) fmt.Printf("AFI 已启动, 根目录为 %s\n", rootPath)
fmt.Printf("详细输出: %t, 符号链接跟随: %t, 跳过隐藏文件: %t\n", *verb, *symlinks, *skipHidden) fmt.Printf("详细输出: %t, 符号链接跟随: %t, 跳过隐藏文件: %t\n", *verb, *symlinks, *skipHidden)