This project should be used only for educational purposes!
CEIDG has changed his captcha, so this project is outdated. But be careful CEIDG - new breaker is coming.
CEDIG Captcha is a captcha located on CEIDG Site. You can find it here.
This project allows you to break Captcha located on CEIDG site with around 93.3% efficiency.
You need to clone repository by typing:
git clone https://github.com/scaliby/ceidg-captcha.git
Then you need to build project's executable jars
by typing ./gradlew buildExec
in root folder of project.
This module allows you to download set of images with same letter located on CEIDG site (e.g. set of 1000 images)
- Run
ceidg-captcha-downloader
module jar by typingjava -jar ceidg-captcha-downloader/build/libs/ceidg-captcha-downloader-all-0.0.1.jar
in root folder of project. - You will be prompted to select
CaptchaStore
(folder where captcha images will be stored). - Type letter that you see on image in newly created window. This will be used to make directory inside selected
CaptchaStore
and later for labeling in machine learning process. - After those steps you need to wait few seconds - captcha images are beeing downloaded and you will see them in selected
CaptchaStore
.
This module allows you to train your own deeplearning4j neural network using captcha images downloaded in previous step.
- Run
ceid-captcha-machine-learning
module jar by typingjava -jar ceidg-captcha-machine-learning/build/libs/ceidg-captcha-machine-learning-all-0.0.1.jar
in root folder of project. - You will be prompted to select
CaptchaStore
(this what you've prepared in previous step).CaptchaStore
should contains exactly 27 folders with images (this is number of images that CEIDG Site can generate). This captcha store will be used for training. - After selecting newly created network will be trained (this takes a little while - on my computer around 8 hours)
- Select folder where you want to save trained network.
- Then you need to select
CaptchaStore
again. This captcha store will be used for testing and can be the same as store used for training. - Trained network will be tested and training results should appear on your console.
ceidg-captcha-rest
module allows you to run trained network as REST API.
- Run
ceidg-captcha-rest
by typingjava -jar ceidg-captcha-rest/build/libs/ceidg-captcha-rest-all-0.0.1.jar
in root folder of project - Your server will be started by default on
http://localhost:8080
- Create
multipart/form-data
request from your favourite HTTP client. Parameter with image must be namedimage
- In response you will get predicted letter from given captcha image.