David
a2d3708bc3
Do not cache decisions if DefaultDecisionSeconds=0 ( #280 )
...
* xx
* Remove outdated comment on decision caching
Remove comment about decision caching based on timeout.
---------
Co-authored-by: maxlerebourg <maxlerebourg@gmail.com >
2025-10-18 11:58:00 +02:00
David
65a2f79fb3
🐛 Not write response body for HEAD requests ( #277 )
...
* Fixes
* XX
* Fix
* 🍱 Lint
* 🍱 remove useless comments
---------
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
2025-10-06 11:19:19 +02:00
maxlerebourg
7c4f5163e9
✨ add custom selfhosted captcha ( #259 )
...
* ✨ Add wicketkeeper captcha
* ✨ Anom config
* 🍱 fix readme
* 🍱 fix lint
* 🍱 fix lint
* 🍱 normalize
* 🍱 fix lint
* 🍱 fix lint
* ✨ Add env for RemediationStatusCode (#250 )
* ✨ Add env for defaultStatusCode
* 📝 doc
* ✨ change name of the parameter
* 🔧 Add config check
* fix lint
* 📈 Report traffic dropped metrics to LAPI (#223 )
* Initial implementation
* fix
* fixes
* Fixes
* xx
* progress
* xx
* xx
* xx
* fix linter
* Progress
* Fixes
* xx
* xx
* Remove trace logger
* Last fix
* fix lint
* fix lint
* fix lint
---------
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
* ✨ Anom config
* 🍱 fix readme
* 🍱 fix lint
* 🍱 normalize
* 🍱 fix lint
* 📝 Add documentation
* 📝 Fix example and makefile and doc for wicketkeeper
* 🍱 fix last things
* 🍱 add disclaimer to use maxlerebourg docker image
* 🍱 Use official wicketpeeker image
* 🍱 revert unnecessary code
* 🍱 fix
---------
Co-authored-by: David <deivid.garcia.garcia@gmail.com >
Co-authored-by: max.lerebourg <max.lerebourg@monisnap.com >
Co-authored-by: mhx <mathieu@hanotaux.fr >
2025-09-01 19:41:45 +02:00
David
84a5674b14
📈 Report traffic dropped metrics to LAPI ( #223 )
...
* Initial implementation
* fix
* fixes
* Fixes
* xx
* progress
* xx
* xx
* xx
* fix linter
* Progress
* Fixes
* xx
* xx
* Remove trace logger
* Last fix
* fix lint
* fix lint
* fix lint
---------
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
2025-07-02 11:36:09 +02:00
maxlerebourg
de7e382fde
✨ Add env for RemediationStatusCode ( #250 )
...
* ✨ Add env for defaultStatusCode
* 📝 doc
* ✨ change name of the parameter
* 🔧 Add config check
* fix lint
2025-07-01 21:59:12 +02:00
Lluís D.
4bb6e830dc
Fix query of the GET /decisions endpoint ( #236 )
...
- banned=true query parameter doesn't exist based on LAPI
dcoumentation, remove it
2025-04-28 16:12:54 +02:00
mathieuHa
78869ecf77
🔧 Add support for logLevel in any case ( #231 )
2025-04-06 10:41:16 +02:00
mathieuHa
5418d35feb
✨ feat(logs) add supports write logs to files ( #217 )
...
* ✨ feat(logs) add supports write logs to files
* fix(lint) 🚨 fix go lint
* 🐛 fix(bug) check path is done only if provided
* 📝 doc(vars) add LogFilePath to vars
* 🦺 chore(review) update doc, configuration check and logger
2025-03-31 20:19:44 +02:00
blotus
e4c84409e7
🔨 always set custom remediation header if configured for bans ( #218 )
2025-02-17 14:02:21 +01:00
maxlerebourg
4708d76854
✨ Add variable to not block if redis is unreachable ( #214 )
...
* ✨ Add variable to not block if redis is unreachable
* 🚨 fix lint
* 📝 Update README.md
2025-02-10 20:10:29 +01:00
mathieuHa
0e9620bfe9
👷 chore(ci) bump CI and automate dep updates ( #210 )
...
* 👷 chore(ci) bump CI and automate dep updates
* 🚨 chore(go) fix golang lint
* 🍱 fix lint
---------
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
2025-01-29 08:07:04 +01:00
maxlerebourg
92f05b0ba5
✨ [BREAKING-CHANGE] Add CrowdsecAppsecBodyLimit ( #208 )
...
* ✨ Add CrowdsecAppsecBodyLimit
* 🍱 fix lint
* 🍱 fix lint
* 🍱 fix error on main
2025-01-24 21:04:45 +01:00
Tobias Heinze
980a7dd05e
Add AppSec Path Variable ( #202 )
...
* Added Appsec Path config Variable
* ✨ Add path env var for lapi and appsec
* 🍱 Update README.md
---------
Co-authored-by: Tobias Heinze <tobias.heinze@telekom.de >
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
2025-01-24 20:12:30 +01:00
mathieuHa
5c8a60118f
🐛 fix(user-agent) add version in ua to reduce warning logs from crowd… ( #195 )
...
* 🐛 fix(user-agent) add version in ua to reduce warning logs from crowdsec LAPI
* 🐛 fix(user-agent) add version in ua to reduce warning logs from crowdsec LAPI
* 🐛 fix(user-agent) remove whitespaces
* 🐛 fix(user-agent) Add Cap for Bouncer
---------
Co-authored-by: maxlerebourg <maxlerebourg@gmail.com >
2024-10-24 21:39:53 +02:00
mathieuHa
8fb0a016b6
✨ Add Traefik Crowdsec Plugin Basic User Agent ( #192 )
...
* ✨ Add Traefik Crowdsec Plugin Basic User Agent
2024-10-05 13:15:34 +02:00
maxlerebourg
45d5f38c4d
✨ add remediation header when plugin made decision ( #189 )
...
* ✨ add remediation header when plugin made decision
* 🍱 add documentation
2024-09-25 19:30:27 +02:00
mathieuHa
36e6043c32
📝 doc(cache) Specify that local cache is in memory and not in the filesystem ( #177 )
2024-06-09 16:20:55 +02:00
maxlerebourg
123cf15434
✨ Add CrowdsecAppsecUnreachableBlock ( #175 )
...
* ✨ Add CrowdsecAppsecUnreachableBlock
* 🍱 update readme
* 🍱 fix lint
* 🍱 fix lint
2024-06-09 10:59:45 +02:00
mathieuHa
6187a722ca
167 feature update to go 122 ( #168 )
...
* ⬆️ Upgrade golang version
* 🚨 Optimize Lint for strings
* 🔒 ️ Add allow list of packages
* 🚨 Fix final lint
* 👷 Update ci
* 🍱 upgrade dependencies
* 🍱 fix comment
---------
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
2024-05-18 13:20:14 +02:00
maxlerebourg
70ad0365f0
🐛 fix content-type header for ban and captcha page ( #166 )
...
* 🍱 fix content-type header for ban and captcha page
* 🍱 Add comment to warn future developer
---------
Co-authored-by: max.lerebourg <max.lerebourg@monisnap.com >
2024-05-16 18:40:28 +02:00
mathieuHa
ee97250acf
✨ Add grace period to reach LAPI without blocking further queries ( #153 )
...
* ✨ Add grace period to reach LAPI without blocking further queries
* 🐛 Fix config validation for maxFailedStreamUpdate
* 🚨 Fix some lint issue
* 🚨 Bypass lint complexity on ServeHTTP
* 🍱 fix and improve
* 🚨 Fix lint
* 🚨 Fix lint
* 🐛 Fix logic for update max failure
* 📝 Update doc and docker compose local reset
* 🍱 fix log nightmare
* 🍱 fix
---------
Co-authored-by: max.lerebourg <max.lerebourg@monisnap.com >
2024-05-01 18:07:44 +02:00
mathieuHa
b6a0404efd
✨ Add user-agent header from crowdsec ( #149 )
...
* ✨ Add user-agent header from crowdsec
* 🐛 : https://github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin/issues/151
---------
Co-authored-by: maxlerebourg <maxlerebourg@gmail.com >
2024-04-16 13:26:46 +02:00
mathieuHa
b8dd883bb6
130 feature custom html error page integration on 403 like captcha but for ban ( #145 )
...
* ✨ Add ban html template
* 📝 Add doc for custom ban page
* ⚰️ Remove old code due to merge
* ✏️ Fix merge remaining in html
* ✨ render banTemplate from html/template to string
* 🚨 : fix lint
---------
Co-authored-by: max.lerebourg <max.lerebourg@monisnap.com >
2024-04-04 21:32:31 +02:00
mathieuHa
615e7ccf69
✨ Add ban html template ( #142 )
...
* ✨ Add ban html template
* 📝 Add doc for custom ban page
* 🍱 fix Mathieu work
* 🍱 fix lint
* 🍱 fix lint
* 🍱 fix lint
* 🍱 fix lint
---------
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
2024-04-03 17:58:18 +02:00
maxlerebourg
497d1a2928
✨ Implement captcha protection ( #139 )
...
* ✨ Implement captcha protection
* 🍱 fix lint
* 🍱 fix lint
* 🍱 fix lint
* 📝 Update exemple doc
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Add doc for the captcha and update some exemples
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Update doc readme with some arguments
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Update doc
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 generic documentation in readme on catpcha feature
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Update exemple captcha
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Fix rendering and typos
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 🍱 fix readme
* 📝 update doc ongoing
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Add doc on crowdsec config
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Add sequence diagram for captcha exemple
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* Fix rendering and typos
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 add mermaid basics graphs
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Update first diagram
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Update first seq diagram
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 🐛 Fix bug in diagram syntax
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 rework all diagrams
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 📝 Update a bit diagrams
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
* 🌐 Fix lang fr
* 🚸 change advice on uniq lapi confusing for users
* ✅ Fix test du to rework on cache interface
* 🚨 Fix lint
---------
Signed-off-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
Co-authored-by: max.lerebourg <max.lerebourg@monisnap.com >
Co-authored-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
2024-04-01 11:41:28 +02:00
maxlerebourg
575d3a02e5
✨ Add a logger instance to bouncer instance ( #134 )
...
* ✨ Add a logger instance to bouncer instance
* 🍱 fix test
* 🍱 fix lint
* 🍱 fix lint
* 🍱 fix lint
* 🍱 fix lint
* 🍱 fix lint
* 🍱 fix test
* 🍱 fix test
* 🍱 fix lint + test
* 🍱 fix test
* 🍱 fix test
* 🍱 fix test
* 🍱 fix lint
* 🍱 fix lint
2024-02-11 11:52:47 +01:00
maxlerebourg
6c183d9231
✨ add a new mode to enable only appsec checking ( #128 )
...
* ✨ add a new mode to enable only appsec checking
* 🍱 fix comments
2024-02-06 19:42:28 +01:00
maxlerebourg
b68c692ed1
✨ add support for appsec in crowdsec ( #123 )
...
* ✨ add support for appsec in crowdsec
* 🐛 lint
* 🐛 fix lint
* 🐛 fix lint
* 🐛 fix lint
* fix: comments
* 🐛 lint and doc
* 🐛 fix comment and lint
* 📝 Start documentation for appsec with exemple
* 📝 Fix readme typos and update example
* 🚨 Fix Lint
---------
Co-authored-by: Mathieu Hanotaux <mathieu@hanotaux.fr >
2024-01-24 14:11:34 +01:00
mathieuHa
07c8fae927
🔧 Add conf variable: CrowdsecStreamTimeout ( #110 )
...
* 🔧 Add conf variable: CrowdsecStreamTimeout
* 🥅 catch error from sscan
* ✨ fix ugly code
* 🐛 clean code
* ✨ fix type + wrong type assertion
* 🚨 fix lint go simplify
* 📝 Update readme with new variable
* 🍱 fix variable naming
* 🍱 revert vendor file
* 🍱 fix lint
---------
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
2023-08-20 15:49:49 +02:00
maxlerebourg
0c2668d578
✨ add redis database selection ( #100 )
...
* ✨ add redis database selection
* 📝 update docs
* 📝 readme
2023-05-25 17:20:14 +02:00
maxlerebourg
1fcd4f4e2f
✨ remove down at start if crowdsec unavailable ( #93 )
...
* ✨ remove down at start if crowdsec unavailable
* 🚨 fix lint
2023-03-12 20:49:00 +01:00
Max Lerebourg
46e581eca2
🍱 fix readme to add redis pass
2023-03-04 12:05:09 +01:00
maxlerebourg
50690d1ac7
✨ handle redis password ( #87 )
...
* ✨ handle redis password
* 🍱 fix version
2023-03-04 11:51:54 +01:00
maxlerebourg
b079073ff6
✨ handle isHealthy in the main function and log error became… ( #84 )
...
* ✨ handle isHealthy in the main function and log error became debug
* fix: lint
* fix: lint
2023-03-01 14:18:19 +01:00
maxlerebourg
976cbb7d1f
81 bug stream mode stops blocking ( #82 )
...
* ✨ fix isHealthy issue at startup
* 🍱 not added in first commit ?
* 🍱 remove unused import
* 🍱 fix lint
* fix: lint
2023-01-30 14:03:10 +01:00
Max Lerebourg
80726df450
🐛 fix alone mode
2023-01-25 20:43:07 +01:00
maxlerebourg
4132445a79
✨ cache decision in live mode for maximum defaultDecisionTimeout params ( #79 )
2023-01-18 21:03:09 +01:00
maxlerebourg
1b310b2c15
✨ Standalone mode come back ( #74 )
...
* ✨ Standalone mode come back
* 🍱 fix lint
* 🐛 fix tests cache
* 🐛 fix tests
* 🐛 fix tests
* 🚨 fix lint
* 🚨 fix lint
* 🍱 add logging
* :rotating-light: fix lint
* 🍱 fix comments
* 🐛 fix tests
* 🚨 Fix lint
Co-authored-by: Mathieu HANOTAUX <mathieu@hanotaux.fr >
2023-01-02 11:53:57 +01:00
maxlerebourg
f14a4e3a68
✨ add external simpleredis and add log for cache ( #73 )
...
* ✨ add external simpleredis and add log for cache
* 🐛 fix comment
2022-12-31 16:18:08 +01:00
mathieuHa
29878e837c
🐛 65 confused about configuring tls ( #69 )
...
* 🐛 Fix bug reading LAPIKEY, update exemples
* 🚨 Fix lint
2022-12-30 11:24:14 +01:00
Mathieu HANOTAUX
1e82ecd1b9
🚑 Fix bug that prevent Treafik plugin to pull first logs
2022-12-11 21:48:19 +01:00
Mathieu HANOTAUX
b3a874f514
🚨 Fix Lint simplify
2022-12-05 19:27:56 +01:00
Max Lerebourg
1f094d818a
💄 move getTlsConfig to configuration pkg
2022-12-05 08:10:56 +01:00
Max Lerebourg
988f3ebeae
✨ add configuration pkg and tests
2022-12-04 21:40:14 +01:00
Max Lerebourg
5dd06567f4
🍱 test validate
2022-12-04 16:58:06 +01:00
mathieuHa
a2fe60c621
51 feature support tls connections to crowdsec not signed by a public ca ( #53 )
...
* ✨ Add support for insecure tls connections to LAPI
* 📝 Add documentation for the TLS insecure parameter
* 🚧 Add tls authority certificate and checks for params
* 📝 Add example for tls communication in readme and folder
* 📝 Update documentation and example for tls
* 🚨 Fix easy lint errors
* 🦺 logic to fetch certificates
* 🚨 Fix lint on readme
* ♻️ Refactor validate to fix lint and clean
* 🚧 Add doc, cert gen for crowdsec example
* 🚧 Progress on setting up Crowdsec with tls
* 🚧 Update certs validation for example
* ♻️ Add load variable from file or value and get client cert
* ♻️ Refactor getting variables
* 🚨 Fix lint, no new line on new files
* 🐛 Fix bug on condition check lapi key cert
* ♻️ Update after review
* ♻️ Update after review
* 🍱 fix mathieu code
* ♻️ Refactor logic of loading tls certificates
* 🍱 clean code
* 🍱 last fix
* 🍱 fix lint
* ♻️ Add documentation in readme, fix lint, remove unfinished tests
* 🐛 Fix conditions logics
* 🚨 Fix Lint
* ♻️ simplify code on getVariable
Co-authored-by: Max Lerebourg <maxlerebourg@gmail.com >
2022-11-30 17:54:49 +01:00
mathieuHa
16d392ebeb
🐛 Revert condition of healthy stream in stream mode ( #48 )
...
* 🐛 Revert condition of healthy stream in stream mode
* 🔊 Update logs format for error case
* ♻️ Invest condition for is stream healthy
2022-11-27 11:52:41 +01:00
Max Lerebourg
b37f866ca9
🍱 fix lint :vomit:
2022-11-20 12:33:39 +01:00
Max Lerebourg
1dc50a8a8c
🍱 add more error context
2022-11-20 12:29:00 +01:00
Max Lerebourg
953e9f6bf4
🍱 fix lint
2022-11-20 12:12:20 +01:00