#壁纸 #扩展 #gnome #web服务器 #json配置 #服务器

app random-wall

使用Rust编写的简单Web服务器,用于本地文件夹的Random Wallpaper GNOME扩展

1个稳定版本

1.0.0 2023年2月15日

#584 in HTTP服务器

GPL-3.0-only

26KB
105

random-wall: 随机壁纸提供者

该软件旨在与GNOME扩展Random Wallpaper一起使用,可能不适合其他场景,且不打算支持其他场景

random-wall是一个使用Rust构建的简单Web服务器,允许任何人轻松使用Random Wallpaper GNOME扩展的“自定义JSON”源选项,从包含壁纸的文件夹中随机提供壁纸。这是对扩展本身中长久以来渴望的功能的一个实用且简单的解决方案。

安装

程序使用环境变量WALLPAPER_FOLDER重要:路径必须是绝对路径,没有内置的路径解析),来定位用于选择壁纸的文件夹,因此请确保它已正确定义(以下部分将描述如何正确设置它)。

该软件使用Rocket框架构建,因此您可以按照其文档(例如,端口或keep_alive配置)自定义任何框架设置。

二进制文件

您可以从以下来源获取random-wall可执行文件

  • 此存储库发行页面

  • crates.io使用cargo install random-wall(需要有效的Rust安装)

  • 通过克隆存储库并从源代码构建(使用的Rust版本为stable 1.66.1

您可以通过转到二进制文件所在的目录(或如果您使用cargo安装,它应该位于您的$PATH)并运行它来轻松地在本地测试安装

$ WALLPAPER_FOLDER=$HOME/wallpapers ./random-wall

访问 http://127.0.0.1:8000/,它应该会以类似下面的JSON字符串形式返回路径:"/w/<WALLPAPER_FOLDER_ABSOLUTE_PATH>/<some_wallpaper_image>"。现在,如果您将此路径加到基本URL之后,您将得到相应的图片。确保软件正在运行现在由您负责,这里有一个使用 daemonize 包快速创建守护进程的示例

# If you downloaded the release, running the terminal where you have the file
$ daemonize -E WALLPAPER_FOLDER=$HOME/wallpapers -E ROCKET_PORT=9697 -v $(pwd)/random-wall

# If you used cargo install
$ daemonize -E WALLPAPER_FOLDER=$HOME/wallpapers -E ROCKET_PORT=9697 -v $(which random-wall)

# If you built from source, being in the project root
$ daemonize -E WALLPAPER_FOLDER=$HOME/wallpapers -E ROCKET_PORT=9697 -v $(pwd)/target/release/random-wall

通过Docker

即将到来...

使用方法

使用 GNOME扩展的随机壁纸 进行配置,当然,在安装完成后,打开扩展设置,您可以将它设置为使用如下所示的 通用JSON 配置

Example configuration as image

以下是您应该设置的值

  • 请求URL: http://127.0.0.1:<port>/

  • JSON路径: $(表示根元素)

  • 图片URL前缀: http://127.0.0.1:<port>(将部署的URL添加到随机调用返回的路径之前)

这是一个本地运行的示例配置,但当然您也可以在服务器或任何地方运行它,并用它替换 请求URL

依赖项

~16–47MB
~794K SLoC