{"id":15026139,"url":"https://github.com/anji-plus/captcha","last_synced_at":"2025-05-14T09:11:46.998Z","repository":{"id":37120167,"uuid":"246748760","full_name":"anji-plus/captcha","owner":"anji-plus","description":"行为验证码(滑动拼图、点选文字)，前后端(java)交互，包含h5/Android/IOS/flutter/uni-app的源码和实现","archived":false,"fork":false,"pushed_at":"2025-04-08T00:41:05.000Z","size":83009,"stargazers_count":1490,"open_issues_count":24,"forks_count":337,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-12T03:44:05.236Z","etag":null,"topics":["captcha","flutter","java","uni-app","vue"],"latest_commit_sha":null,"homepage":"https://captcha.anji-plus.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anji-plus.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,"zenodo":null}},"created_at":"2020-03-12T05:09:35.000Z","updated_at":"2025-04-10T15:19:51.000Z","dependencies_parsed_at":"2025-04-12T03:54:29.341Z","dependency_job_id":null,"html_url":"https://github.com/anji-plus/captcha","commit_stats":{"total_commits":469,"total_committers":30,"mean_commits":"15.633333333333333","dds":0.6012793176972282,"last_synced_commit":"e8709a3575adc86cdc8874c6968ac3f887b8e8e2"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anji-plus%2Fcaptcha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anji-plus%2Fcaptcha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anji-plus%2Fcaptcha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anji-plus%2Fcaptcha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anji-plus","download_url":"https://codeload.github.com/anji-plus/captcha/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110374,"owners_count":22016391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["captcha","flutter","java","uni-app","vue"],"created_at":"2024-09-24T20:03:52.014Z","updated_at":"2025-05-14T09:11:41.985Z","avatar_url":"https://github.com/anji-plus.png","language":"Java","readme":"\n[AjPlus Captcha Official Website](https://captcha.anji-plus.com/)\n============\n[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)[![Total Lines](https://tokei.rs/b1/github/anji-plus/captcha?category=lines)](https://github.com/anji-plus/captcha)\n\n\u003e AjPlus Captcha \n\n[![Stargazers over time](https://starchart.cc/anji-plus/captcha.svg)](https://starchart.cc/anji-plus/captcha)\n[![Stargazers over time](https://whnb.wang/img/anji-plus/captcha?e=604800)](https://whnb.wang/anji-plus/captcha?e=604800)\n          \n[![EN doc](https://img.shields.io/badge/document-English-blue.svg)](README.md)[![CN doc](https://img.shields.io/badge/文档-中文版-blue.svg)](README_CN.md)\n\n# 1. Online Demo\n### \u0026emsp; 1.1 [Have a try](https://ajcaptcha.beliefteam.cn/captcha-doc/ \"链接\")\n### \u0026emsp; 1.2 [Document](https://ajcaptcha.beliefteam.cn/captcha-doc/ \"doc\")\n### \u0026emsp; 1.3 Wechat/H5 demo（based on uni-app)\n \u0026emsp;\u0026emsp; see also [gitee]( https://gitee.com/anji-plus/captcha \"码云\")\n\n ![Wechat](https://captcha.anji-plus.com/static/8cm.jpg  \"\")\u0026emsp;\u0026emsp;![h5](https://images.gitee.com/uploads/images/2020/0429/174246_c33e3fa3_1728982.png \"h5.png\")\n \u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;Wechat Demo\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\n\n\n# 2. Design Details\n### \u0026emsp; 2.1 UI Component\n \u0026emsp;\u0026emsp; support Android、iOS、Futter、Uni-App、ReactNative、Vue、Angular、Html、Php。\n\n| blockPuzzle | clickWord |\n| --- | --- |\n|![blockPuzzle](images/%E6%BB%91%E5%8A%A8%E6%8B%BC%E5%9B%BE.gif \"blockPuzzle\")\u0026emsp;|![clickWord](images/%E7%82%B9%E9%80%89%E6%96%87%E5%AD%97.gif \"clickWord\")|\n| 1-1 | 1-2 |\n \u003cbr\u003e\n \n\n### \u0026emsp; 2.2 Concept Related\n| concept  | desc  |\n| ------------ | ------------ |\n| Captcha Type | blockPuzzle, clickWord|\n| Check  |  user action: drag block or click workds,then check if it was human did|\n| Verify  | bind user action with backend service. call captchaService.verification in backend service to prevent invalid access ,for example,directly call it |\n\n### \u0026emsp; 2.3 Main Features \nCAPTCHA stands for Completely Automated Public Turing test to tell Computers and Humans Apart. CAPTCHA determines whether the user is real or a spam robot. CAPTCHAs stretch or manipulate letters and numbers, and rely on human ability to determine which symbols they are.\n \nAjplus Captcha , an open source toolset for users,its main Features are as follows:\n- Easy to integrate ui Component in your apps,support varies frontend UI,\n- Support Integrate with Android、iOS、Futter、Uni-App、ReactNative、Vue、Angular、Html、Php\n- No dependencies lib in core source,Easy to include in your backend service\n- Core api is simple and Open to Extend,all instance initialized by JAVA SPI,Easy to add your custom Implement to form a new Captcha type。\n- Support security feature\n\n# 3. How to Integrate\n![Sequence Diagram](https://captcha.anji-plus.com/static/shixu.png \"时序图\")\n\n# 4. SourceCode Structure\n\n![输入图片说明](https://images.gitee.com/uploads/images/2021/0207/112335_bd789fff_1600789.png \"屏幕截图.png\")\n\n# 5. Dev \u0026 Run \n#### \u0026emsp; \n- start backend service\n  import source code into Eclipse or Intellij,\n  start StartApplication class in package service/springboot。[online images](https://gitee.com/anji-plus/AJ-Captcha-Images)\n- start frontend ui\n  open source files in view/vue with your IDE like Visual Code，\n```js\n    npm install\n    npm run dev\n\n    DONE  Compiled successfully in 29587ms                       12:06:38\n    I  Your application is running here: http://localhost:8081\n``` \n\n# 6. Work Plan\n  [issues](https://gitee.com/anji-plus/captcha/issues)\n\n# 7. Connect Us\n\n\u003cimg src=\"https://foruda.gitee.com/images/1724817510954363329/305a6044_7492051.jpeg\" width = \"200\" height = auto /\u003e\n\n\u003cbr\u003e\n ### Have a try \u0026 enjoy it !!!  ☺\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanji-plus%2Fcaptcha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanji-plus%2Fcaptcha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanji-plus%2Fcaptcha/lists"}