├── .dockerignore ├── .env.example ├── .github └── workflows │ ├── ci.yml │ └── docker-publish.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── Dockerfile ├── LICENSE ├── README.md ├── bun.lock ├── eslint.config.js ├── package.json ├── src ├── default.svg ├── index.ts ├── lib │ ├── analytics.ts │ ├── config.ts │ ├── domain-mappings.ts │ ├── fallback-image.ts │ ├── favicon-finder.ts │ ├── format-detector.ts │ ├── http-headers.ts │ ├── image-processor.ts │ ├── logger.ts │ ├── request-ip.ts │ └── validators.ts ├── modules.d.ts ├── server.ts └── types │ └── index.ts ├── tests ├── integration │ ├── cache-headers.test.ts │ ├── data-url-support.test.ts │ ├── error-handling.test.ts │ ├── favicon-fetching.test.ts │ ├── health.test.ts │ ├── redirect-config.test.ts │ └── setup.ts └── unit │ ├── analytics.test.ts │ ├── favicon-finder-utils.test.ts │ ├── format-detector.test.ts │ ├── http-headers.test.ts │ └── image-processor.test.ts └── tsconfig.json /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/docker-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/.github/workflows/docker-publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/.npmrc -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/.prettierignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/.prettierrc -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/README.md -------------------------------------------------------------------------------- /bun.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/bun.lock -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/eslint.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/package.json -------------------------------------------------------------------------------- /src/default.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/default.svg -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/lib/analytics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/analytics.ts -------------------------------------------------------------------------------- /src/lib/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/config.ts -------------------------------------------------------------------------------- /src/lib/domain-mappings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/domain-mappings.ts -------------------------------------------------------------------------------- /src/lib/fallback-image.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/fallback-image.ts -------------------------------------------------------------------------------- /src/lib/favicon-finder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/favicon-finder.ts -------------------------------------------------------------------------------- /src/lib/format-detector.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/format-detector.ts -------------------------------------------------------------------------------- /src/lib/http-headers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/http-headers.ts -------------------------------------------------------------------------------- /src/lib/image-processor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/image-processor.ts -------------------------------------------------------------------------------- /src/lib/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/logger.ts -------------------------------------------------------------------------------- /src/lib/request-ip.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/request-ip.ts -------------------------------------------------------------------------------- /src/lib/validators.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/lib/validators.ts -------------------------------------------------------------------------------- /src/modules.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/modules.d.ts -------------------------------------------------------------------------------- /src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/server.ts -------------------------------------------------------------------------------- /src/types/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/src/types/index.ts -------------------------------------------------------------------------------- /tests/integration/cache-headers.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/integration/cache-headers.test.ts -------------------------------------------------------------------------------- /tests/integration/data-url-support.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/integration/data-url-support.test.ts -------------------------------------------------------------------------------- /tests/integration/error-handling.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/integration/error-handling.test.ts -------------------------------------------------------------------------------- /tests/integration/favicon-fetching.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/integration/favicon-fetching.test.ts -------------------------------------------------------------------------------- /tests/integration/health.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/integration/health.test.ts -------------------------------------------------------------------------------- /tests/integration/redirect-config.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/integration/redirect-config.test.ts -------------------------------------------------------------------------------- /tests/integration/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/integration/setup.ts -------------------------------------------------------------------------------- /tests/unit/analytics.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/unit/analytics.test.ts -------------------------------------------------------------------------------- /tests/unit/favicon-finder-utils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/unit/favicon-finder-utils.test.ts -------------------------------------------------------------------------------- /tests/unit/format-detector.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/unit/format-detector.test.ts -------------------------------------------------------------------------------- /tests/unit/http-headers.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/unit/http-headers.test.ts -------------------------------------------------------------------------------- /tests/unit/image-processor.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tests/unit/image-processor.test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vemetric/favicon-api/HEAD/tsconfig.json --------------------------------------------------------------------------------