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
每月下载量118次
36KB
659 代码行
☄️ Favicon Rover
获取任何网站的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