=== Geosec ===
Contributors: rbonfil
Tags: security, geoip, block country, access control, protection
Requires at least: 5.0
Tested up to: 6.9
Stable tag: 1.0.1
Requires PHP: 7.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Geosec protects your admin panel (wp-admin) by allowing access only from the countries you authorize.

== Description ==

**Geosec** is a lightweight security plugin designed to protect your WordPress administration panel (`wp-admin`). It works by detecting the visitor's country using their IP address and allowing access **only** if they are in your "Allowed Countries" whitelist.

This significantly hardens your admin panel against brute-force attacks, bot login attempts, and unauthorized access from foreign countries.

### Key Features
*   **Whitelist-based Protection:** Only allow access from specific countries.
*   **Emergency Key:** Create a unique URL to bypass the lock if you are traveling.
*   **Cloudflare Compatible:** Works seamlessly with Cloudflare and standard server setups.
*   **Detailed Statistics:** View logs of blocked attempts and valid logins, including Top Blocked Countries and IPs.
*   **Lightweight:** Optimized for performance, querying external APIs only when necessary and caching results.

== Installation ==

1.  Upload the `geosec` folder to the `/wp-content/plugins/` directory.
2.  Activate the plugin through the 'Plugins' menu in WordPress.
3.  Go to **Settings -> Geosec** to configure allowed countries.
4.  **IMPORTANT:** Add your CURRENT country to the allow list before activating the protection.

== Frequently Asked Questions ==

= What happens if I lock myself out? =
If you configured an Emergency Key, you can use the special URL (e.g., `yoursite.com/?geosec_bypass=YOURKEY`) to gain access. If you didn't, you can manually rename the `geosec` folder in `wp-content/plugins/` via FTP to disable the plugin.

= Does this slow down my site? =
No. Geosec caches IP geolocation results for 24 hours. Subsequent requests from the same IP are instant.

== Screenshots ==

1.  **Configuration Panel:** Easily select allowed countries and enable protection.
2.  **Statistics Dashboard:** View detailed logs of blocked activity.

== Changelog ==

= 1.0.1 =
* Fixed typos.

= 1.0.0 =
* Initial release in Wordpress repository.

= 0.3.1 =
*   Updated readme security claims to comply with WordPress guidelines.
*   Fixed typos in documentation.
*   Updated plugin description for consistency.

= 0.3 =
*   Added "Top Blocked IPs" statistics.
*   Added Internationalization (English, Spanish, French).
*   UI Improvements.

= 0.2 =
*   Added Statistics tab.
*   Added Credits section.

= 0.1 =
*   Initial release.
