/Whois Middleware

Whois Middleware

2
v0.1.0
Traefik v3 middleware which displays user connection information about each client that accesses a container with this middleware applied.

♾️ Traefik Whois Middleware ♾️


(Under Development): This middleware allows you to view detailed information about a connecting client when they access a container where this middleware is enabled.




Version Downloads Build Status Size Last Commit Contributors

Built with Material for MkDocs







Configuration

The following provides examples for usage scenarios.


Static File

If you are utilizing a Traefik Static File, review the following examples:


File (YAML)

## Static configuration
experimental:
plugins:
traefik-whois-middleware:
moduleName: "github.com/Aetherinox/traefik-whois-middleware"
version: "v0.1.0"

File (TOML)

## Static configuration
[experimental.plugins.traefik-whois-middleware]
moduleName = "github.com/Aetherinox/traefik-whois-middleware"
version = "v0.1.0"

CLI

## Static configuration
--experimental.plugins.traefik-whois-middleware.modulename=github.com/Aetherinox/traefik-whois-middleware
--experimental.plugins.traefik-whois-middleware.version=v0.1.0

Dynamic File

If you are utilizing a Traefik Dynamic File, review the following examples:


File (YAML)

# Dynamic configuration
http:
middlewares:
whois:
plugin:
traefik-whois-middleware:
debugLogs: false

File (TOML)

# Dynamic configuration
[http]
[http.middlewares]
[http.middlewares.whois]
[http.middlewares.whois.plugin]
[http.middlewares.whois.plugin.traefik-whois-middleware]
debugLogs = false

Kubernetes Custom Resource Definition

# Dynamic configuration
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: whois
spec:
plugin:
traefik-whois-middleware:
debugLogs: false



Parameters

This plugin accepts the following parameters:


ParameterDescriptionDefaultTypeRequired
debugLogsShows debug logs in consolefalsebool⭕ Optional


debugLogs

If set true, gives you a more detailed outline of what is going on behind the scenes in your console.




Full Examples

A few extra examples have been provided.


http:
middlewares:
whois:
plugin:
traefik-whois-middleware:
debugLogs: true
routers:
traefik-http:
service: "traefik"
rule: "Host(`yourdomain.com`)"
entryPoints:
- http
middlewares:
- https-redirect@file
traefik-https:
service: "traefik"
rule: "Host(`yourdomain.com`)"
entryPoints:
- https
middlewares:
- whois@file
tls:
certResolver: cloudflare
domains:
- main: "yourdomain.com"
sans:
- "*.yourdomain.com"



Local Install

Traefik comes with the ability to install this plugin locally without fetching it from Github.


Download a local copy of this plugin to your server within your Traefik installation folder.

git clone https://github.com/Aetherinox/traefik-whois-middleware.git

If you are running Docker, you need to mount a new volume:


[!WARNING] The path to the plugin is case sensitive, do not change the casing of the folders, or the plugin will fail to load.


services:
traefik:
container_name: traefik
image: traefik:latest
restart: unless-stopped
volumes:
- ./traefik-whois-middleware:/plugins-local/src/github.com/Aetherinox/traefik-whois-middleware/

Static File

Open your Traefik Static File and change plugins to localPlugins.


File (YAML)

# Static configuration
experimental:
localPlugins:
traefik-whois-middleware:
moduleName: "github.com/Aetherinox/traefik-whois-middleware"
version: "v0.1.0"

File (TOML)

# Static configuration
[experimental.localPlugins.traefik-whois-middleware]
moduleName = "github.com/Aetherinox/traefik-whois-middleware"
version = "v0.1.0"

Dynamic File

For local installation, your dynamic file will contain the same contents as it would if you installed the plugin normally.


File (YAML)

# Dynamic configuration
http:
middlewares:
whois:
plugin:
traefik-whois-middleware:
debugLogs: true

File (TOML)

# Dynamic configuration
[http]
[http.middlewares]
[http.middlewares.whois]
[http.middlewares.whois.plugin]
[http.middlewares.whois.plugin.traefik-whois-middleware]
debugLogs = true



Contributors ✨

We 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:


Want to help but can't write code?


Alt


The following people have helped get this project going: