{"id":34220715,"url":"https://github.com/charanpreetp/fail2ban","last_synced_at":"2026-03-10T23:01:53.434Z","repository":{"id":218663435,"uuid":"747034993","full_name":"charanpreetp/fail2ban","owner":"charanpreetp","description":"Fail2Ban HTTP Requests to Traefik","archived":false,"fork":false,"pushed_at":"2024-01-26T22:00:55.000Z","size":1209,"stargazers_count":4,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-19T03:51:23.237Z","etag":null,"topics":["traefik-plugin"],"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/charanpreetp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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-01-23T06:05:56.000Z","updated_at":"2025-11-13T22:52:54.000Z","dependencies_parsed_at":"2024-06-21T16:27:05.238Z","dependency_job_id":null,"html_url":"https://github.com/charanpreetp/fail2ban","commit_stats":null,"previous_names":["charanpreetp/fail2ban"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/charanpreetp/fail2ban","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charanpreetp%2Ffail2ban","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charanpreetp%2Ffail2ban/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charanpreetp%2Ffail2ban/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charanpreetp%2Ffail2ban/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/charanpreetp","download_url":"https://codeload.github.com/charanpreetp/fail2ban/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charanpreetp%2Ffail2ban/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30360529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"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-plugin"],"created_at":"2025-12-15T23:02:35.521Z","updated_at":"2026-03-10T23:01:53.428Z","avatar_url":"https://github.com/charanpreetp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HTTP Fail 2 Ban Traefik Plugin\n\n[![Build Status](https://github.com/charanpreetp/fail2ban/actions/workflows/go.yml/badge.svg)](https://github.com/charanpreetp/fail2ban/actions/workflows/go.yml)\n\n## Usage\n\nThis plugin is an HTTP Traefik Middleware which will track wether a client is being naughty or not. This is tracked by checking if there are too many bad client requests (ie, server responds with status code `400` to `499`), the client will be banned from making further requests for a configured amount of time. The Middleware will respond immediately with a `403` response to a client if it is banned and not send the request further downstream.\n\n\n\u003e **NOTE:** Use this with Traefik 2.10+. Version below may still work but there seem to be errors in logs related to Yaegi value reflection panics and other random error messages for this plugin so best to just use Traefik 2.10+ where the Yaegi issue(s) are fixed.\n\n\n## Configuration Options\nHere are a list of settings you can optionally set for the Middleware\n| Config | Default | Description |\n| ------ | ------ | ------ |\n| NumberFails | `3` | Number of times a client can make a request with a 4xx class HTTP response code before it gets banned |\n| BanTime | `3h` | How long to Ban clients who make too many bad requests. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. Eg, `3h30m` would be for banning for 3 hours and 30 minutes |\n| ClientHeader | `Cf-Connecting-IP` | You want to use a specific header to track clients. Useful if the client's real IP is in a header when you're behind CloudFlare, a LoadBalancer or WAF, etc. If this is not set, it will just use the [RemoteAddr's](https://cs.opensource.google/go/go/+/refs/tags/go1.21.6:src/net/http/request.go;l=294) IP |\n| LogLevel | `INFO` | Log verbosity level, can be `DEBUG`, `INFO`, `WARN`, or `ERROR` |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharanpreetp%2Ffail2ban","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharanpreetp%2Ffail2ban","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharanpreetp%2Ffail2ban/lists"}