Skip to content
Back to skills

favicondl

ASecurity

通过 HTTPS API 或零依赖 CLI 下载任意网站的可用 favicon,支持尺寸偏好、图片重定向、JSON 元数据和 Windows/Linux/macOS。

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added August 10, 2026
ai-agentsshellbashgitapidocumentation

Works with

  • cli
  • api
  • mcp

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependenciesin AUTO_BLOG_SOP.md

Pro scans all 19 files and shows the line behind each finding

Scanned August 10, 2026

npx -y skills add sweesama/favicondl.com --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of favicondl?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for favicondl
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sweesama-favicondl/badge)](https://www.skillsdirectory.com/skills/sweesama-favicondl)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: favicondl
displayName: 任意网站 Favicon 下载工具 · FaviconDL
description: 通过 HTTPS API 或零依赖 CLI 下载任意网站的可用 favicon,支持尺寸偏好、图片重定向、JSON 元数据和 Windows/Linux/macOS。
version: 2.0.0
---

# FaviconDL

FaviconDL provides a stable REST API and two small command-line wrappers for finding a usable favicon from a domain or full URL.

## What it supports

- Prefer an icon size from 16 to 512 pixels.
- Resolve icons from HTML links, SVG, Apple Touch Icons, web manifests, Android assets, and safe fallback sources.
- Return a downloadable image through HTTP 302 or return JSON metadata.
- Proxy remote images through a protected Worker when direct downloads are not reliable.
- Reject unsupported protocols, private-network targets, oversized proxy responses, and non-image responses.
- Use the API from any agent that can make an HTTPS GET request.

The returned image format is determined by the source site. Do not assume every result is PNG; SVG, PNG, ICO, and WebP are possible.

## Install the CLI wrappers

### Windows PowerShell

```powershell
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/sweesama/favicondl.com/main/favicondl.ps1" -OutFile "$env:USERPROFILE\favicondl.ps1"
```

### Linux or macOS

```bash
curl -fsSL -o ~/favicondl.sh "https://raw.githubusercontent.com/sweesama/favicondl.com/main/favicondl.sh"
chmod +x ~/favicondl.sh
```

The wrappers need only PowerShell or curl. They do not need an API key or a package manager.

## CLI usage

### PowerShell

```powershell
.\favicondl.ps1 -Domain "github.com"
.\favicondl.ps1 -Domain "github.com" -Size 256
.\favicondl.ps1 -Domain "github.com" -Size 128 -Output "C:\icons\github.img"
.\favicondl.ps1 -Domain "github.com", "openai.com", "anthropic.com" -Output "C:\icons"
```

### Bash

```bash
./favicondl.sh github.com
./favicondl.sh github.com 256
./favicondl.sh https://github.com/docs 128 ./icons/github.img
```

The output is an image file. The `.img` suffix is intentional because the source site controls the actual image format.

## REST API

### Download mode

```text
GET https://favicondl.com/api/extract?url=github.com&size=128
```

The default response is `302 Found`. Follow the redirect to download the image.

```bash
curl -fL -o github-favicon.img "https://favicondl.com/api/extract?url=github.com&size=128"
```

### JSON mode

```text
GET https://favicondl.com/api/extract?url=github.com&size=128&format=json
```

The JSON response contains `ok`, `domain`, `size`, `iconUrl`, `proxyUrl`, and `source`.

```json
{
  "ok": true,
  "domain": "github.com",
  "size": 128,
  "iconUrl": "https://github.com/favicon.ico",
  "proxyUrl": "https://favicondl.com/api/proxy?url=...",
  "source": "html"
}
```

### Parameters

| Parameter | Required | Default | Description |
|---|---:|---:|---|
| `url` | yes | — | Domain or full HTTP(S) URL |
| `size` | no | `128` | Preferred size, clamped to `16`–`512` |
| `format` | no | `redirect` | Use `json` for metadata; otherwise receive a 302 image redirect |

## Agent guidance

Use `/api/extract` as the canonical endpoint. Use `format=json` when the agent needs to inspect the source or choose between `iconUrl` and `proxyUrl`. Use the default redirect mode when the agent only needs to download or embed the image.

The project also publishes:

- OpenAPI: `https://favicondl.com/openapi.yaml`
- Agent guide: `https://favicondl.com/llms.txt`
- Human documentation: `https://favicondl.com/documentation.html`

This project exposes a REST API, OpenAPI description, `llms.txt`, CLI wrappers, and a local stdio MCP server under `mcp/server.mjs`. The MCP server exposes `extract_favicon` and delegates to the public REST API. It is a local MCP process, not a hosted remote MCP endpoint.

## Errors

- `400`: missing URL or unsupported format.
- `502`: icon discovery failed or no usable image URL was returned.
- `504`: the extraction or upstream request timed out.
- `405`: the API method is not GET.

Retry temporary `502` or `504` errors with backoff. Do not silently switch to an unrelated third-party favicon service; the API already performs its own discovery and safe fallback logic.

Files in this skill

  • .vscode/settings.json38 B
  • 404.html3 KB
  • 8894b846bf144cbdb509ce481d85f7d9.txt33 B
  • AUTO_BLOG_SOP.md8.1 KB
  • SKILL.md4.1 KB
  • api/extract.js2.4 KB
  • api/favicon.js1.2 KB
  • baidu_verify_codeva-TQEbMwU84J.html32 B
  • blog/address-bar-favicon.html28.4 KB
  • blog/ai-tools-website-favicon.html50.3 KB
  • blog/angular-favicon.html34 KB
  • blog/animated-favicon.html54.3 KB
  • blog/apple-touch-icon-180x180.html43.4 KB
  • blog/apple-touch-icon-guide.html40.2 KB
  • blog/apple-touch-icon-precomposed.html30.7 KB
  • blog/apple-touch-icon-sizes.html42.8 KB
  • blog/apple-touch-icon-transparent-background.html33.8 KB
  • blog/astro-favicon.html43.6 KB
  • blog/blog.css4.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.