maxlerebourg / crowdsec-bouncer-traefik-plugin

Traefik plugin for Crowdsec - WAF and IP protection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[FEATURE] Captcha implementation

stadnitski opened this issue · comments

Hi there!
Wondering if you're working on the captcha implementation already, or not yet? Seems to be essential in the e-commerce industry, and a show-stopper in my implementation.

@mathieuHa I'm currently working on it.

Hi @stadnitski,

I discussed with @maxlerebourg, and I think It might not be an easy task.
I'd be happy to know how you intend to process.
Ofcourse we will review any PR even in progress to help out if we can.

@mathieuHa i actually implemented the working version already, could not wait, fixed a few agisting bugs, and got everything broken while trying to refactor some code :-D

Let me push the changes to a branch tomorrow or latest on Friday. Maybe we could also have a conversation on zoom once the changes are here.

@mathieuHa @maxlerebourg
Hey mates! Tried to push the proof of concept, but seems seems to be permissions issue :-)

ERROR: Permission to maxlerebourg/crowdsec-bouncer-traefik-plugin.git denied to stadnitski.

Hey, it is normal that you encountered this error, you need to fork the repository and open a PR from your github space to this project.
Maybe this link could help you.
Tell me if you need more information.
PS: We can't allow everyone to commit on this repo, it could be a big security issue 😉

@maxlerebourg i see, thanks :-) Let me play with it a little more and make a PR during the weekend.

Just to leave something here, I started my own implementation of this. I will be much slower than OP since I can only work in my free time 🦙

Made alot of progress tonight, https://github.com/LaurenceJJones/crowdsec-bouncer-traefik-plugin/tree/main
I will attempt to continue it when I can, I just want to get a working POC then we can collaborate and fine tune the PR

If you can open a PR, I will review it as soon as possible, thanks to contribute to this project

If you can open a PR, I will review it as soon as possible, thanks to contribute to this project

Once I get working POC locally then I open a PR dont want to waste your time on broken code 😆

Maybe the error is:
bouncer.go 446: bouncer.cacheClient.SetDecision(decision.Value, decision.Type, int64(duration.Seconds()))
You set the cache to a crowdsec type, not a cache type.

Headups finally got it working, I will work some more tomorrow on cleaning it up as I butchered the cache module and remove some useful debug that I want to reinstate. I need to also test the non captcha things to make sure I havent borked other stuff. Thank you for letting me work on it 🦙