{"id":51124504,"url":"https://github.com/RekGRpth/ngx_http_captcha_module","last_synced_at":"2026-06-25T06:01:26.566Z","repository":{"id":104667312,"uuid":"158160492","full_name":"RekGRpth/ngx_http_captcha_module","owner":"RekGRpth","description":"nginx module for generate captcha and validate captcha code","archived":false,"fork":false,"pushed_at":"2025-09-11T19:11:46.000Z","size":93,"stargazers_count":13,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-06T16:00:29.216Z","etag":null,"topics":["c","captcha","nginx"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"dengqiang2015/ngx_http_captcha_module","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RekGRpth.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-11-19T04:09:22.000Z","updated_at":"2025-09-25T08:28:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"79ffbbdb-4c8b-43c2-87da-55cab2c3ed48","html_url":"https://github.com/RekGRpth/ngx_http_captcha_module","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/RekGRpth/ngx_http_captcha_module","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RekGRpth","download_url":"https://codeload.github.com/RekGRpth/ngx_http_captcha_module/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34761847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["c","captcha","nginx"],"created_at":"2026-06-25T06:01:23.870Z","updated_at":"2026-06-25T06:01:26.561Z","avatar_url":"https://github.com/RekGRpth.png","language":"C","funding_links":[],"categories":["Bot mitigation"],"sub_categories":[],"readme":"## Pre-built Packages (Ubuntu / Debian)\n\nPre-built packages for this module are freely available from the GetPageSpeed repository:\n\n```bash\n# Install the repository keyring\nsudo install -d -m 0755 /etc/apt/keyrings\ncurl -fsSL https://extras.getpagespeed.com/deb-archive-keyring.gpg \\\n  | sudo tee /etc/apt/keyrings/getpagespeed.gpg \u003e/dev/null\n\n# Add the repository (Ubuntu example - replace 'ubuntu' and 'jammy' for your distro)\necho \"deb [signed-by=/etc/apt/keyrings/getpagespeed.gpg] https://extras.getpagespeed.com/ubuntu jammy main\" \\\n  | sudo tee /etc/apt/sources.list.d/getpagespeed-extras.list\n\n# Install nginx and the module\nsudo apt-get update\nsudo apt-get install nginx nginx-module-captcha\n```\n\nThe module is automatically enabled after installation. Supported distributions include Debian 12/13 and Ubuntu 20.04/22.04/24.04 (both amd64 and arm64). See [the complete setup instructions](https://apt-nginx-extras.getpagespeed.com/apt-setup/).\n\n## Module:\n\n### Example Configuration:\n```nginx\nlocation =/captcha {\n    captcha;\n}\nlocation =/login {\n    set_form_input $csrf_form csrf;\n    set_unescape_uri $csrf_unescape $csrf_form;\n    set_form_input $captcha_form captcha;\n    set_unescape_uri $captcha_unescape $captcha_form;\n    set_md5 $captcha_md5 \"secret${captcha_unescape}${csrf_unescape}\";\n    if ($captcha_md5 != $cookie_captcha) {\n        # captcha invalid code\n    }\n}\n```\n### Directives:\n\n    Syntax:\t captcha;\n    Default: ——\n    Context: location\n\nEnables generation of captcha image.\u003chr\u003e\n\n    Syntax:\t captcha_case on | off;\n    Default: off\n    Context: http, server, location\n\nEnables/disables ignoring captcha case.\u003chr\u003e\n\n    Syntax:\t captcha_expire seconds;\n    Default: 3600\n    Context: http, server, location\n\nSets seconds before expiring captcha.\u003chr\u003e\n\n    Syntax:\t captcha_height pixels;\n    Default: 30\n    Context: http, server, location\n\nSets height of captcha image.\u003chr\u003e\n\n    Syntax:\t captcha_length characters;\n    Default: 4\n    Context: http, server, location\n\nSets length of captcha text.\u003chr\u003e\n\n    Syntax:\t captcha_size pixels;\n    Default: 20\n    Context: http, server, location\n\nSets size of captcha font.\u003chr\u003e\n\n    Syntax:\t captcha_width pixels;\n    Default: 130\n    Context: http, server, location\n\nSets width of captcha image.\u003chr\u003e\n\n    Syntax:\t captcha_charset string;\n    Default: abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789\n    Context: http, server, location\n\nSets characters used in captcha text.\u003chr\u003e\n\n    Syntax:\t captcha_csrf string;\n    Default: csrf\n    Context: http, server, location\n\nSets name of csrf var of captcha.\u003chr\u003e\n\n    Syntax:\t captcha_font string;\n    Default: /usr/share/fonts/ttf-liberation/LiberationSans-Regular.ttf\n    Context: http, server, location\n\nSets font of captcha text.\u003chr\u003e\n\n    Syntax:\t captcha_name string;\n    Default: Captcha\n    Context: http, server, location\n\nSets name of captcha cookie.\u003chr\u003e\n\n    Syntax:\t captcha_secret string;\n    Default: secret\n    Context: http, server, location\n\nSets secret of captcha.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRekGRpth%2Fngx_http_captcha_module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRekGRpth%2Fngx_http_captcha_module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRekGRpth%2Fngx_http_captcha_module/lists"}