A web service to fetch the favicon of any website. Includes fallback options.
Install globally
yarn global add @stevent-team/favicon-scoutnpm i -g @stevent-team/favicon-scoutThen you can invoke the command line utility to start the server
favicon-scout # start with default options
favicon-scout --port 8080 # run on port 8080
favicon-scout --host 12.34.56.78 # specify a host
favicon-scout --origins https://example.com # only allow requests from example.com
favicon-scout -p 1234 -h 0.0.0.0 -o https://example1.com /\.example2\.com$/ # all options
favicon-scout --help # show help information/{site url}/{size}site url is any valid url to a page that you want the favicon for. Must be URL encoded.
size is an integer in pixels to set the returned image. It's optional, and if not included then the best available size will be returned.
By default, any origin is allowed to request from this API. To lock it down, use the --origins command line options to specify a list of origins. If an origin starts and ends with / it will be treated as a regexp. For example favicon-scout -o http://example1.com /\.example2\.com$/ will accept any request from "http://example1.com" or from a subdomain of "example2.com". See the fastify-cors options for more details.
Run yarn to install dependencies. Run yarn dev to watch for changes and rerun.
Run yarn build to build to /dist/index.js.
If you have any feedback or find a website that favicon scout can't correctly find the favicon for, create an issue. Contributions are welcome.
This library uses changesets. If the changes you've made would constitute a version bump, run yarn changeset and follow the prompts to document the changes you've made. Changesets are consumed on releases, and used to generate a changelog and bump version number.
Created by Stevent (2022) and licensed under MIT