=== Block Account Create Login by Country GRC ===
Contributors: robertutzu
Tags: security, geolocation, login restriction, country block, maxmind, geolite2
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.3.9
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Blocks unauthorized role logins from restricted countries using local MaxMind databases with automatic daily mirror updates and a manual download button.

== Description ==

Block Account Create Login by Country GRC is a robust WordPress security plugin designed to prevent unauthorized logins for specified user roles from restricted geographic regions. It utilizes local MaxMind GeoLite2 database lookups with a standalone, zero-dependency binary .mmdb parser for fast offline processing, backed by automatic daily mirror updates and remote API fallbacks.

= Key Features =
* Role-Based Country Restriction: Target specific high-privilege or custom user roles (e.g., Administrators, Editors, Authors, Shop Managers) and block them from logging in if their IP address maps to a restricted country.
* Local MaxMind GeoLite2 Database: Includes a built-in, zero-dependency binary .mmdb reader parser for high-performance offline local IP geolocation lookups.
* Automatic Daily Updates: Schedules a background cron event daily to download and refresh the GeoLite2 database mirror.
* Manual Database Utility: Admin dashboard options to check database file status, last-checked timestamps, and trigger manual updates on-demand.
* Resilient API Fallbacks: Seamless fallback integration with remote geolocation services (ip-api.com and ipinfo.io) if local files are missing or unreadable.
* Built-in Lockout Protection: Automatically registers and permanently allows the installer's country code upon activation to prevent accidental administrative lockouts.

== Installation ==

1. Upload the plugin folder `block-account-create-login-by-country-grc` to the `/wp-content/plugins/` directory, or upload the zip package via the WordPress plugins screen.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Upon activation, the plugin automatically provisions the secure upload directory (`/wp-content/uploads/block-account-create-login-by-country-grc-svn/`), downloads the initial MaxMind database mirror, and schedules the daily update cron event.
4. Navigate to **Settings > Country Login Blocker** to customize your security rules.

== Frequently Asked Questions ==

= Will I accidentally lock myself out of my website? =
No. During activation, the plugin automatically detects your current country via your IP address and permanently permits that country code in the allowed list. 

= What happens if the local MaxMind database cannot be downloaded? =
The plugin features automatic fallback mechanisms using external API providers (`ip-api.com` and `ipinfo.io`) to ensure continuous geolocation protection. You can also manually trigger a download from the settings page.

= Which user roles can be restricted? =
You can select any registered user role on your WordPress installation (including custom roles, Administrator, Editor, Author, Shop Manager, etc.) via the settings dashboard.

== Screenshots ==

1. The settings dashboard allowing administrators to choose lookup methods, blocked roles, and permitted countries.

== Changelog ==

= 2.3.9 =
* Initial stable release with local MaxMind .mmdb binary parsing, automated daily background mirror updates, settings panel, and fallback API integrations.
