Mateusz Gruszczyński 0b010e8bef praca za proxy
2025-10-06 09:40:04 +02:00
2025-10-06 09:40:04 +02:00
2025-10-06 08:27:10 +02:00
2025-10-06 09:26:02 +02:00
2025-10-06 08:27:10 +02:00
2025-10-06 09:00:00 +02:00
2025-10-06 08:51:41 +02:00
2025-10-06 08:27:10 +02:00
2025-10-06 09:02:34 +02:00
2025-10-06 08:27:10 +02:00
2025-10-06 08:27:10 +02:00

IP Geo API

Krótko:

  • FastAPI zwracające dane geo dla adresu IP (MaxMind GeoLite2 lub IP2Location).
  • LRU cache, walidacja IPv4/IPv6, endpoint /reload chroniony BasicAuth.
  • Updater pobiera/aktualizuje bazę do /data.

Uruchomienie:

  1. Skopiuj .env.example -> .env i uzupełnij.
  2. docker-compose up --build -d
  3. API: GET /ip/{ip} lub GET /ip. Reload: POST /reload z BasicAuth (ADMIN_USER/ADMIN_PASS).

Pliki:

  • app/: kod
  • scripts/: downloader + updater
  • data/: miejsce dla baz

Bezpośredni URL do MMDB (np. GitHub Releases)

Jeśli posiadasz pełny link do pliku .mmdb (np. z projektu P3TERX/GeoLite.mmdb Releases), ustaw MAXMIND_DIRECT_DB_URL w .env. Updater pobierze plik bez rozpakowywania archiwum.

Automatyczne pobieranie z GitHub Releases

Ustaw MAXMIND_GITHUB_REPO (domyślnie P3TERX/GeoLite.mmdb). Updater sprawdzi releases/latest i pobierze pierwszy asset .mmdb. Opcjonalnie dodaj GITHUB_TOKEN dla wyższych limitów GitHub API. Priorytet w updaterze:

  1. GitHub Releases (latest) → .mmdb

  2. MAXMIND_DIRECT_DB_URL

  3. Oficjalne pobieranie MaxMind przez MAXMIND_LICENSE_KEY + MAXMIND_DOWNLOAD_URL_TEMPLATE

Description
No description provided
Readme 103 KiB
Languages
Python 97.9%
Dockerfile 1.8%
Shell 0.3%