- Add GeoIP class with provider chain: local DB-IP Lite, MaxMind .mmdb, external API - Add built-in pure-PHP MMDBReader so .mmdb works without Composer - Add cli/geoip-update.php to download DB-IP Lite and build a compact binary index - Add cli/generate-world-map.php to generate the world map SVG from Natural Earth TopoJSON - Add Analytics class aggregating stats in admin/storage/stats.json with LOCK_EX - Add admin statistics page with choropleth world map, country list, top pages, daily chart, referrers and a period filter - Add GeoIP and privacy settings with database update and stats reset buttons - Add optional IP anonymization and configurable retention period - Add country field to requests.log (parser accepts 7, 8 or 9 fields) - Add country column to request log and KPI cards to the dashboard - Ignore GeoIP binaries and stats.json in Git - Update TODO.md, guides and version to 1.9.0
34 lines
384 B
Plaintext
34 lines
384 B
Plaintext
# Dependencies
|
|
node_modules/
|
|
package-lock.json
|
|
|
|
# Build outputs
|
|
*.log
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# IDE files
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
|
|
# Cache & Storage
|
|
.cache/
|
|
.sass-cache/
|
|
admin/storage/cache/
|
|
admin/storage/geoip/
|
|
admin/storage/stats.json
|
|
|
|
# Temporary files
|
|
*.tmp
|
|
*.temp
|
|
|
|
# Local configuration & credentials
|
|
config.json
|
|
admin/config/admin.json
|
|
|
|
# No content
|
|
content/
|
|
!content/.gitkeep
|