13个不稳定版本 (3个重大更改)
0.4.3 | 2022年10月25日 |
---|---|
0.4.2 | 2022年9月10日 |
0.3.3 | 2022年5月26日 |
0.3.0 | 2022年4月27日 |
0.1.1 | 2022年3月3日 |
132 在 多媒体 中
每月47次下载
50KB
1.5K SLoC
dexr
具有缩略图、预览和幻灯片功能的目录索引器。
它旨在成为Lars Jung的H5AI的一个更快、更轻量级的版本。
功能
*
= 需要 JS
- 基本页面完全服务器端渲染
- 最小化界面,没有过多的样式
- 努力使其尽可能易于访问(如果看到可以改进的地方,请通过电子邮件联系我!)
- 大多数图像和视频的缩略图
- 缓存在可配置的临时目录中
- 排序
- *图像和视频的页面内预览
- 支持基于键盘的使用:左右箭头、Home、End
- *幻灯片
- 通过键盘(
s
)或鼠标激活 - 自定义间隔
- 通过键盘(
配置
配置放在名为 dexr.toml
的文件中,该文件位于可执行文件的工作目录中,也可以通过环境变量指定。
环境变量的名称为 DEXR_<SCREAMING_SNAKE_CASE_KEY>
,例如,address
字段将是 DEXR_ADDRESS
。如果在两个位置都指定了密钥,则环境变量具有优先级。
以下键可以用于配置
键 | 类型 | 默认值 | 含义 | 示例/可能值 |
---|---|---|---|---|
address |
见下文 | None | 服务器监听的地址 | "tcp://127.0.0.1:3000" |
index_root |
路径 | None | 将要索引的目录 | "/srv/my-public-files" |
thumbnail_tmp |
路径 | None | 缩略图缓存的位置* | "/var/tmp/dexr-thumbnails" |
exclude_dotfiles |
布尔值 | true |
是否在索引中隐藏点文件,如果访问则返回404 | false |
address
格式
地址可以是TCP地址或Unix套接字路径。TCP地址的格式为tcp://<host>:<port>
,例如tcp://127.0.0.1:3000
。Unix套接字的格式为unix://<path to socket>
,例如unix:///tmp/indexer/socket.sock
。如果没有指定协议前缀(如<protocol>://
),则默认为TCP地址,例如localhost:3000
。
thumbnail_tmp
注解
建议您使用非易失性临时目录(如/var/tmp
而不是/tmp
),以避免不必要地重新生成缩略图。
GStreamer
我们使用gstreamer进行缩略图生成。我们建议以下gstreamer插件以支持尽可能多的媒体
gst-libav
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-openh264
gst-plugins-ugly
软件包名称可能因您的发行版而异;上述名称来自Arch Linux。例如,在Debian上,软件包名称以前缀<gstreamer1>.0
开头,而不是gst
。
重写
这是对https://git.matt.felle.nz/matt/indexer的重写,使用axum代替actix,以及其他一些不同之处
- 我们仅使用gstreamer进行缩略图生成,而不是
vid2img
(底层使用gstreamer)和image
的组合。由于某种原因,gstreamer要快得多。 - 排序在服务器上完成。
- 已删除一些配置选项(缩略图大小、目录大小格式)
依赖关系
~21–32MB
~527K SLoC