maniwani icon indicating copy to clipboard operation
maniwani copied to clipboard

Actual captha implementation, without 3rd party services

Open samip5 opened this issue 4 years ago • 12 comments

I would like to ask why is there no actual captha implementation that does not rely on on the wierd anime avatar thing or recaptha? I don't want to use recaptha, so I'll be implementing or trying to an actual captha.

samip5 avatar Dec 09 '19 04:12 samip5

reCAPTCHA and captchouli (at least for now) have no widespread automated solvers out there, and writing/maintaining a solid, readable CAPTCHA from scratch just honestly wasn't something I was/am personally interested in. I'd accept a PR for this, but I'm curious why you wouldn't want to go with captchouli.

DangerOnTheRanger avatar Dec 09 '19 12:12 DangerOnTheRanger

I have no clue how to use it when I'm not that familiar with specific anime characters and when it asks to check specific avatars of that anime character.

samip5 avatar Dec 09 '19 12:12 samip5

Fair enough - for the record, captchouli lets you configure what characters to use, in case that helps; docs on how to pass flags to Dockerized captchouli are available here.

DangerOnTheRanger avatar Dec 09 '19 13:12 DangerOnTheRanger

Goal is something like this: captcha3

Which captchouli cannot give me.

samip5 avatar Dec 09 '19 14:12 samip5

Basically the problem lies with the lack of knowledge on anime, period.

samip5 avatar Dec 10 '19 04:12 samip5

@samip5 I'm still interested in merging this if you're still interested in working on it - if you have any questions about Maniwani's codebase/architecture I'll do my best to help out.

DangerOnTheRanger avatar Apr 30 '20 22:04 DangerOnTheRanger

@DangerOnTheRanger I'm still interested in doing this, but as i have drafted in the pull request, I still need to find a library to help me out with it. The problem lies with the fact that Flask has very little library's for Captcha.

Do you know if we can use C++ native extension for it? ~~https://gitgud.io/LynxChan/NativeIM~~ https://gitgud.io/LynxChan/LynxChan/-/tree/master/src/be/native

samip5 avatar May 01 '20 10:05 samip5

@samip5 Using C++ would be fine with me, though I am slightly concerned about how many more steps it would add to the build process (installing a C/C++ compiler, installing the necessary libraries, etc.). Docker would hide most of that complexity, though.

Reading the source code for LynxChan, it looks like its captcha code calls out to ImageMagick to write text on an image and then adds some boxes/circles, some distortion and blur, and so on. That should be possible in about as many lines of pure Python via Pillow, I think, so that's another option.

DangerOnTheRanger avatar May 01 '20 16:05 DangerOnTheRanger

It appears that the maintainer of LynxChan is not a fan of Python so they will most likely not help in any way at least in the implementation. Do you happen to be in the Python Discord server? (https://pythondiscord.com/)

https://balkanchan.ga/lynx/res/480.html

samip5 avatar May 05 '20 14:05 samip5

I'm in it now, same username as here. I'm also on #maniwani on rizon.net at most US times of the day if IRC is more convenient.

DangerOnTheRanger avatar May 08 '20 23:05 DangerOnTheRanger

I have been quite busy at the moment so that's why there's been no progress on this.

samip5 avatar Jun 28 '20 11:06 samip5

No worries, we're not operating under deadlines - it's a hobby project after all ;)

DangerOnTheRanger avatar Jun 28 '20 12:06 DangerOnTheRanger