{"id":21898327,"url":"https://github.com/aetherinox/traefik-whois-middleware","last_synced_at":"2026-02-05T23:31:56.338Z","repository":{"id":258801495,"uuid":"875717474","full_name":"Aetherinox/traefik-whois-middleware","owner":"Aetherinox","description":"Traefik middleware to show connection information about each client within your console.","archived":false,"fork":false,"pushed_at":"2024-12-17T17:59:33.000Z","size":298,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T13:03:00.566Z","etag":null,"topics":["traefik","traefik-docker","traefik-plugin","traefik-plugins-catalog"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aetherinox.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-20T17:08:15.000Z","updated_at":"2024-11-13T00:49:58.000Z","dependencies_parsed_at":"2025-03-22T05:23:28.923Z","dependency_job_id":"c087c0fc-079d-4117-909a-b0b2a524bbc1","html_url":"https://github.com/Aetherinox/traefik-whois-middleware","commit_stats":null,"previous_names":["aetherinox/traefik-whois-middleware"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Aetherinox/traefik-whois-middleware","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Ftraefik-whois-middleware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Ftraefik-whois-middleware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Ftraefik-whois-middleware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Ftraefik-whois-middleware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aetherinox","download_url":"https://codeload.github.com/Aetherinox/traefik-whois-middleware/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Ftraefik-whois-middleware/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29138375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T23:14:48.546Z","status":"ssl_error","status_checked_at":"2026-02-05T23:14:35.724Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["traefik","traefik-docker","traefik-plugin","traefik-plugins-catalog"],"created_at":"2024-11-28T14:25:55.217Z","updated_at":"2026-02-05T23:31:56.316Z","avatar_url":"https://github.com/Aetherinox.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch6\u003eTraefik v3 middleware which displays user connection information about each client that accesses a container with this middleware applied.\u003c/h6\u003e\n\u003ch2\u003e♾️ Traefik Whois Middleware ♾️\u003c/h1\u003e\n\n\u003cbr /\u003e\n\n\u003cp\u003e\n\n(Under Development): This middleware allows you to view detailed information about a connecting client when they access a container where this middleware is enabled.\n\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003c!-- prettier-ignore-start --\u003e\n[![Version][github-version-img]][github-version-uri]\n[![Downloads][github-downloads-img]][github-downloads-uri]\n[![Build Status][github-build-img]][github-build-uri]\n[![Size][github-size-img]][github-size-img]\n[![Last Commit][github-commit-img]][github-commit-img]\n[![Contributors][contribs-all-img]](#contributors-)\n\n[![Built with Material for MkDocs](https://img.shields.io/badge/Powered_by_Material_for_MkDocs-526CFE?style=for-the-badge\u0026logo=MaterialForMkDocs\u0026logoColor=white)](https://aetherinox.github.io/traefik-whois-middleware/)\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n- [Configuration](#configuration)\n  - [Static File](#static-file)\n    - [File (YAML)](#file-yaml)\n    - [File (TOML)](#file-toml)\n    - [CLI](#cli)\n  - [Dynamic File](#dynamic-file)\n    - [File (YAML)](#file-yaml-1)\n    - [File (TOML)](#file-toml-1)\n    - [Kubernetes Custom Resource Definition](#kubernetes-custom-resource-definition)\n- [Parameters](#parameters)\n  - [debugLogs](#debuglogs)\n- [Full Examples](#full-examples)\n- [Local Install](#local-install)\n  - [Static File](#static-file-1)\n    - [File (YAML)](#file-yaml-2)\n    - [File (TOML)](#file-toml-2)\n  - [Dynamic File](#dynamic-file-1)\n    - [File (YAML)](#file-yaml-3)\n    - [File (TOML)](#file-toml-3)\n- [Contributors ✨](#contributors-)\n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n## Configuration\nThe following provides examples for usage scenarios.\n\n\u003cbr /\u003e\n\n### Static File\nIf you are utilizing a Traefik **Static File**, review the following examples:\n\n\u003cbr /\u003e\n\n#### File (YAML)\n\n```yaml\n## Static configuration\nexperimental:\n  plugins:\n    traefik-whois-middleware:\n      moduleName: \"github.com/Aetherinox/traefik-whois-middleware\"\n      version: \"v0.1.0\"\n```\n\n\u003cbr /\u003e\n\n#### File (TOML)\n\n```toml\n## Static configuration\n[experimental.plugins.traefik-whois-middleware]\n  moduleName = \"github.com/Aetherinox/traefik-whois-middleware\"\n  version = \"v0.1.0\"\n```\n\n\u003cbr /\u003e\n\n#### CLI\n\n```bash\n## Static configuration\n--experimental.plugins.traefik-whois-middleware.modulename=github.com/Aetherinox/traefik-whois-middleware\n--experimental.plugins.traefik-whois-middleware.version=v0.1.0\n```\n\n\u003cbr /\u003e\n\n### Dynamic File\nIf you are utilizing a Traefik **Dynamic File**, review the following examples:\n\n\u003cbr /\u003e\n\n#### File (YAML)\n\n```yaml\n# Dynamic configuration\nhttp:\n  middlewares:\n    whois:\n      plugin:\n        traefik-whois-middleware:\n          debugLogs: false\n```\n\n\u003cbr /\u003e\n\n#### File (TOML)\n\n```toml\n# Dynamic configuration\n[http]\n  [http.middlewares]\n    [http.middlewares.whois]\n      [http.middlewares.whois.plugin]\n        [http.middlewares.whois.plugin.traefik-whois-middleware]\n          debugLogs = false\n```\n\n\u003cbr /\u003e\n\n#### Kubernetes Custom Resource Definition\n\n```yaml\n# Dynamic configuration\napiVersion: traefik.containo.us/v1alpha1\nkind: Middleware\nmetadata:\n  name: whois\nspec:\n  plugin:\n    traefik-whois-middleware:\n      debugLogs: false\n```\n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n## Parameters\nThis plugin accepts the following parameters:\n\n\u003cbr /\u003e\n\n| Parameter | Description | Default | Type | Required |\n| --- | --- | --- | --- | --- |\n| \u003csub\u003e`debugLogs`\u003c/sub\u003e | \u003csub\u003eShows debug logs in console\u003c/sub\u003e | \u003csub\u003efalse\u003c/sub\u003e | \u003csub\u003ebool\u003c/sub\u003e | \u003csub\u003e⭕ Optional\u003c/sub\u003e |\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n### debugLogs\nIf set `true`, gives you a more detailed outline of what is going on behind the scenes in your console. \n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n## Full Examples\nA few extra examples have been provided.\n\n\u003cbr /\u003e\n\n```yml\nhttp:\n  middlewares:\n    whois:\n      plugin:\n        traefik-whois-middleware:\n          debugLogs: true\n\n    routers:\n        traefik-http:\n            service: \"traefik\"\n            rule: \"Host(`yourdomain.com`)\"\n            entryPoints:\n                - http\n            middlewares:\n                - https-redirect@file\n\n        traefik-https:\n            service: \"traefik\"\n            rule: \"Host(`yourdomain.com`)\"\n            entryPoints:\n                - https\n            middlewares:\n                - whois@file\n            tls:\n                certResolver: cloudflare\n                domains:\n                    - main: \"yourdomain.com\"\n                      sans:\n                          - \"*.yourdomain.com\"\n```\n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n## Local Install\nTraefik comes with the ability to install this plugin locally without fetching it from Github. \n\n\u003cbr /\u003e\n\nDownload a local copy of this plugin to your server within your Traefik installation folder.\n```shell\ngit clone https://github.com/Aetherinox/traefik-whois-middleware.git\n```\n\n\u003cbr /\u003e\n\nIf you are running **Docker**, you need to mount a new volume:\n\n\u003cbr /\u003e\n\n\u003e [!WARNING]\n\u003e The path to the plugin is **case sensitive**, do not change the casing of the folders, or the plugin will fail to load.\n\n\u003cbr /\u003e\n\n```yml\nservices:\n    traefik:\n        container_name: traefik\n        image: traefik:latest\n        restart: unless-stopped\n        volumes:\n            - ./traefik-whois-middleware:/plugins-local/src/github.com/Aetherinox/traefik-whois-middleware/\n```\n\n\u003cbr /\u003e\n\n### Static File\nOpen your **Traefik Static File** and change `plugins` to `localPlugins`.\n\n\u003cbr /\u003e\n\n#### File (YAML)\n\n```yaml\n# Static configuration\nexperimental:\n  localPlugins:\n    traefik-whois-middleware:\n      moduleName: \"github.com/Aetherinox/traefik-whois-middleware\"\n      version: \"v0.1.0\"\n```\n\n\u003cbr /\u003e\n\n#### File (TOML)\n\n```toml\n# Static configuration\n[experimental.localPlugins.traefik-whois-middleware]\n  moduleName = \"github.com/Aetherinox/traefik-whois-middleware\"\n  version = \"v0.1.0\"\n```\n\n\u003cbr /\u003e\n\n### Dynamic File\nFor local installation, your dynamic file will contain the same contents as it would if you installed the plugin normally.\n\n\u003cbr /\u003e\n\n#### File (YAML)\n\n```yaml\n# Dynamic configuration\nhttp:\n  middlewares:\n    whois:\n      plugin:\n        traefik-whois-middleware:\n          debugLogs: true\n```\n\n\u003cbr /\u003e\n\n#### File (TOML)\n\n```toml\n# Dynamic configuration\n[http]\n  [http.middlewares]\n    [http.middlewares.whois]\n      [http.middlewares.whois.plugin]\n        [http.middlewares.whois.plugin.traefik-whois-middleware]\n          debugLogs = true\n```\n\n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n## Contributors ✨\nWe are always looking for contributors. If you feel that you can provide something useful to Gistr, then we'd love to review your suggestion. Before submitting your contribution, please review the following resources:\n\n- [Pull Request Procedure](.github/PULL_REQUEST_TEMPLATE.md)\n- [Contributor Policy](CONTRIBUTING.md)\n\n\u003cbr /\u003e\n\nWant to help but can't write code?\n- Review [active questions by our community](https://github.com/Aetherinox/traefik-whois-middleware/labels/help%20wanted) and answer the ones you know.\n\n\u003cbr /\u003e\n\n![Alt](https://repobeats.axiom.co/api/embed/3a528b94b5433fa1f9763340435c6071716e7dca.svg \"analytics image\")\n\n\u003cbr /\u003e\n\nThe following people have helped get this project going:\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![Contributors][contribs-all-img]](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\"\u003e\u003ca href=\"https://gitlab.com/Aetherinox\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/118329232?v=4?s=40\" width=\"80px;\" alt=\"Aetherinox\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAetherinox\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Aetherinox/traefik-whois-middleware/commits?author=Aetherinox\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#projectManagement-Aetherinox\" title=\"Project Management\"\u003e📆\u003c/a\u003e \u003ca href=\"#fundingFinding-Aetherinox\" title=\"Funding Finding\"\u003e🔍\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\n\u003c!-- BADGE \u003e GENERAL --\u003e\n  [general-npmjs-uri]: https://npmjs.com\n  [general-nodejs-uri]: https://nodejs.org\n  [general-npmtrends-uri]: http://npmtrends.com/traefik-whois-middleware\n\n\u003c!-- BADGE \u003e VERSION \u003e GITHUB --\u003e\n  [github-version-img]: https://img.shields.io/github/v/tag/Aetherinox/traefik-whois-middleware?logo=GitHub\u0026label=Version\u0026color=ba5225\n  [github-version-uri]: https://github.com/Aetherinox/traefik-whois-middleware/releases\n\n\u003c!-- BADGE \u003e VERSION \u003e NPMJS --\u003e\n  [npm-version-img]: https://img.shields.io/npm/v/traefik-whois-middleware?logo=npm\u0026label=Version\u0026color=ba5225\n  [npm-version-uri]: https://npmjs.com/package/traefik-whois-middleware\n\n\u003c!-- BADGE \u003e VERSION \u003e PYPI --\u003e\n  [pypi-version-img]: https://img.shields.io/pypi/v/traefik-whois-middleware-plugin\n  [pypi-version-uri]: https://pypi.org/project/traefik-whois-middleware-plugin/\n\n\u003c!-- BADGE \u003e LICENSE \u003e MIT --\u003e\n  [license-mit-img]: https://img.shields.io/badge/MIT-FFF?logo=creativecommons\u0026logoColor=FFFFFF\u0026label=License\u0026color=9d29a0\n  [license-mit-uri]: https://github.com/Aetherinox/traefik-whois-middleware/blob/main/LICENSE\n\n\u003c!-- BADGE \u003e GITHUB \u003e DOWNLOAD COUNT --\u003e\n  [github-downloads-img]: https://img.shields.io/github/downloads/Aetherinox/traefik-whois-middleware/total?logo=github\u0026logoColor=FFFFFF\u0026label=Downloads\u0026color=376892\n  [github-downloads-uri]: https://github.com/Aetherinox/traefik-whois-middleware/releases\n\n\u003c!-- BADGE \u003e NPMJS \u003e DOWNLOAD COUNT --\u003e\n  [npmjs-downloads-img]: https://img.shields.io/npm/dw/%40aetherinox%2Ftraefik-whois-middleware?logo=npm\u0026\u0026label=Downloads\u0026color=376892\n  [npmjs-downloads-uri]: https://npmjs.com/package/traefik-whois-middleware\n\n\u003c!-- BADGE \u003e GITHUB \u003e DOWNLOAD SIZE --\u003e\n  [github-size-img]: https://img.shields.io/github/repo-size/Aetherinox/traefik-whois-middleware?logo=github\u0026label=Size\u0026color=59702a\n  [github-size-uri]: https://github.com/Aetherinox/traefik-whois-middleware/releases\n\n\u003c!-- BADGE \u003e NPMJS \u003e DOWNLOAD SIZE --\u003e\n  [npmjs-size-img]: https://img.shields.io/npm/unpacked-size/traefik-whois-middleware/latest?logo=npm\u0026label=Size\u0026color=59702a\n  [npmjs-size-uri]: https://npmjs.com/package/traefik-whois-middleware\n\n\u003c!-- BADGE \u003e CODECOV \u003e COVERAGE --\u003e\n  [codecov-coverage-img]: https://img.shields.io/codecov/c/github/Aetherinox/traefik-whois-middleware?token=MPAVASGIOG\u0026logo=codecov\u0026logoColor=FFFFFF\u0026label=Coverage\u0026color=354b9e\n  [codecov-coverage-uri]: https://codecov.io/github/Aetherinox/traefik-whois-middleware\n\n\u003c!-- BADGE \u003e ALL CONTRIBUTORS --\u003e\n  [contribs-all-img]: https://img.shields.io/github/all-contributors/Aetherinox/traefik-whois-middleware?logo=contributorcovenant\u0026color=de1f6f\u0026label=contributors\n  [contribs-all-uri]: https://github.com/all-contributors/all-contributors\n\n\u003c!-- BADGE \u003e GITHUB \u003e BUILD \u003e NPM --\u003e\n  [github-build-img]: https://img.shields.io/github/actions/workflow/status/Aetherinox/traefik-whois-middleware/release.yml?logo=github\u0026logoColor=FFFFFF\u0026label=Build\u0026color=%23278b30\n  [github-build-uri]: https://github.com/Aetherinox/traefik-whois-middleware/actions/workflows/release.yml\n\n\u003c!-- BADGE \u003e GITHUB \u003e BUILD \u003e Pypi --\u003e\n  [github-build-pypi-img]: https://img.shields.io/github/actions/workflow/status/Aetherinox/traefik-whois-middleware/release-pypi.yml?logo=github\u0026logoColor=FFFFFF\u0026label=Build\u0026color=%23278b30\n  [github-build-pypi-uri]: https://github.com/Aetherinox/traefik-whois-middleware/actions/workflows/pypi-release.yml\n\n\u003c!-- BADGE \u003e GITHUB \u003e TESTS --\u003e\n  [github-tests-img]: https://img.shields.io/github/actions/workflow/status/Aetherinox/traefik-whois-middleware/tests.yml?logo=github\u0026label=Tests\u0026color=2c6488\n  [github-tests-uri]: https://github.com/Aetherinox/traefik-whois-middleware/actions/workflows/tests.yml\n\n\u003c!-- BADGE \u003e GITHUB \u003e COMMIT --\u003e\n  [github-commit-img]: https://img.shields.io/github/last-commit/Aetherinox/traefik-whois-middleware?logo=conventionalcommits\u0026logoColor=FFFFFF\u0026label=Last%20Commit\u0026color=313131\n  [github-commit-uri]: https://github.com/Aetherinox/traefik-whois-middleware/commits/main/\n\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- markdownlint-restore --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faetherinox%2Ftraefik-whois-middleware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faetherinox%2Ftraefik-whois-middleware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faetherinox%2Ftraefik-whois-middleware/lists"}