#favicon #icons #scraper #web-services #cli-tool #web-server

app favicon-rover

一个用于获取任何网站favicon的Web服务和CLI工具

4个版本

0.1.3 2024年8月12日
0.1.2 2023年12月24日
0.1.1 2023年12月20日
0.1.0 2023年7月18日

HTTP服务器 中排名第325

Download history 6/week @ 2024-07-24 3/week @ 2024-07-31 109/week @ 2024-08-07

每月下载量118

MIT许可证

36KB
659 代码行

☄️ Favicon Rover

crates.io version docs.rs

获取任何网站的favicon。

  • ⌨️ CLI工具
  • 🌐 Web服务器
  • 🛟 降级图标
  • 🦀 Rust

安装

cargo install favicon-rover

CLI使用方法

使用CLI工具获取站点的favicon

# Usage: favicon-rover get [OPTIONS] <URL>

favicon-rover get https://crates.io # output the crates favicon to stdout

favicon-rover get https://crates.io --out favicon.png # output to favicon.png

favicon-rover get https://crates.io --size 256 # set the size to 256px

favicon-rover get https://crates.io --type webp # set the format to webp

favicon-rover get https://crates.io -o favicons/cratesio -s 50 -t webp # all options

favicon-rover get --help # show help information

Web服务器

[!IMPORTANT] 您需要启用 server 功能才能使用此命令

启动Web服务器以公开一个将获取favicon的API

# Usage: favicon-rover serve [OPTIONS]

favicon-rover serve # start with default options

favicon-rover serve --port 8080 # run on port 8080

favicon-rover serve --host 12.34.56.78 # specify a host

favicon-rover serve --origin https://example.com # only allow requests from example.com

favicon-rover serve -p 1234 --host 0.0.0.0 -o https://example1.com -o /\.example2\.com$/ # all options

favicon-rover serve --help # show help information

API

/{site url}?size={size}

site url 是您想要获取favicon的页面的任何有效URL。必须是URL编码的。

size 是用于设置返回图像的像素整数。它是可选的,如果不包含,则返回最佳可用大小。

示例: https://127.0.0.1:3000/example.com?size=24

字体

降级图像生成将尝试查询和加载一个 "sans-serif" 字体。它将加载您的系统字体以及favicon-rover启动时当前目录(pwd)中的任何字体。

CORS

默认情况下,任何来源都可以向此API发起请求。要锁定它,请使用 --origin 命令行选项指定任意数量的来源。如果来源以 / 开头和结尾,则它将被视为正则表达式。例如,favicon-rover serve -o http://example1.com -o /\.example2\.com$/ 将接受来自 "http://example1.com" 或 "example2.com" 的子域的任何请求。

[!TIP] 我们强烈建议设置来源,以便您的favicon API不会那么容易受到您不控制的网站的滥用

开发

运行 cargo run 来测试二进制文件。您可以使用 cargo run --features server -- serve 来测试 serve 命令。

运行 cargo build 来以发布模式构建。

贡献

如果您有任何反馈或发现 favicon rover 无法正确找到favicon的网站,请 创建一个issue。欢迎贡献。

许可证

由 Stevent (2023) 创建,并授权于 MIT

依赖项

~21–35MB
~510K SLoC