{"id":33996590,"url":"https://github.com/dsoares/roundcube-rcguard","last_synced_at":"2025-12-13T08:25:33.801Z","repository":{"id":40356457,"uuid":"132938069","full_name":"dsoares/roundcube-rcguard","owner":"dsoares","description":"Roundcube plugin to enforce reCAPTCHA for users who have too many failed logins.","archived":false,"fork":false,"pushed_at":"2023-03-12T06:38:59.000Z","size":129,"stargazers_count":25,"open_issues_count":10,"forks_count":11,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-10-08T08:54:04.727Z","etag":null,"topics":["captcha","plugin","roundcube"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dsoares.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-10T18:15:38.000Z","updated_at":"2025-06-30T15:37:33.000Z","dependencies_parsed_at":"2022-08-09T18:10:37.480Z","dependency_job_id":null,"html_url":"https://github.com/dsoares/roundcube-rcguard","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/dsoares/roundcube-rcguard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-rcguard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-rcguard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-rcguard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-rcguard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsoares","download_url":"https://codeload.github.com/dsoares/roundcube-rcguard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-rcguard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27702540,"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","status":"online","status_checked_at":"2025-12-13T02:00:09.769Z","response_time":147,"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":["captcha","plugin","roundcube"],"created_at":"2025-12-13T08:25:31.413Z","updated_at":"2025-12-13T08:25:33.794Z","avatar_url":"https://github.com/dsoares.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Roundcube plugin rcguard\n\n## Introduction\n\nThis plugin logs failed login attempts and requires users to go through\na reCAPTCHA verification process when the number of failed attempts go\ntoo high. It provides protection against automated attacks.\n\nFailed attempts are logged by IP and stored in a database table.\nIPs are also released after a certain expire amount of time.\n\n\n## Installation\n\n\u003cbig\u003e**IMPORTANT: This plugin requires reCAPTCHA API keys to work properly.**\u003c/big\u003e\n\u003cbr\u003eThese can be obtained from https://www.google.com/recaptcha.\n\n\n#### With Composer\n\nAdd this plugin `dsoares/rcguard` to the `require` section of your Roundcube\n`composer.json`, run composer update and enable rcguard in the main Roundcube\nconfiguration file.\n\u003cbr\u003eOR just run:\n\n    composer require dsoares/rcguard\n\nCopy `config.inc.php.dist` to `config.inc.php` and modify as necessary.\n\n#### Manually\n\nPlace the contents of this directory under `plugins/rcguard` and enable rcguard\nin the main Roundcube configuration file.\n\nCopy `config.inc.php.dist` to `config.inc.php` and modify as necessary.\n\nUse the files under `SQL/` to create the database schema required for\nrcguard. The table should be created in the database used by Roundcube.\n**NOTE**: If you use the Roundcube `db_prefix` config option, you must rename\nthe table `rcguard` accordingly.\n\n\n## Customizing reCAPTCHA\n\nYou may customize the following in the `config.inc.php` file:\n\n- the API version: `v3`, `v2invisible` or `v2`;\n- the v2 widget theme: `light` or `dark`;\n- the v2 widget size: `normal` or `compact`.\n\nFor more information about the widget please check the [documentation about reCAPTCHA][recaptcha-doc].\n\nThe plugin configuration file has several other options you may configure, please take at look.\n\nSince May 2018, you can define a proxy (anonymous or authenticated) to request the recaptcha widget.\n\n\n## Supported databases\n\n- MySQL\n- PostgreSQL\n- SQLite\n\n\n## Contact\n\nThe original author of this plugin was [Denny Lin][dennylin]. I forked it some\nyears ago to 1) use reCAPTCHA v2.0, 2) add the larry skin and 3) because the project\nissues were taking too long to be answered. Also, the original project was not\nupdated since 2015 and many things have changed in the meantime in Roundcube's API.\n\nI will maintain this project because i need it working with the latest\nversion of Roundcube.\n\nComments and suggestions are welcome (preferentially via issues).\n\nEmail: [Diana Soares][email]\n\n[email]: mailto:diana.soares@gmail.com\n[dennylin]: https://github.com/dennylin93\n[recaptcha-doc]: https://developers.google.com/recaptcha/intro\n\n\n## License\n\nThis plugin is distributed under the GPL-3.0+ license.\n\nThis plugin also contains a PHP library for reCAPTCHA that is\ndistributed under its own license. See the library file for the exact details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsoares%2Froundcube-rcguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsoares%2Froundcube-rcguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsoares%2Froundcube-rcguard/lists"}