mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
Rewrites src/lib/geo.ts so lookupIpLocation reads from the bundled
MaxMind GeoLite2-City MMDB first and falls back to the existing
ipwho.is path only for IPs the offline DB cannot resolve. Adds a
sibling lookupIpAsn that returns { asn, carrier } from the
GeoLite2-ASN MMDB so the admin login-overview can grow a carrier
chip alongside the auth-provider chip.
The MMDB files are too large to vendor in git. scripts/fetch-geolite2.sh
downloads them at build time using a MaxMind license key; the
Dockerfile copies assets/geolite2/ into /opt/geolite2/. When the
license key is absent or the files are missing the image still
builds and the resolver falls back to ipwho.is (v1.4.26 behaviour).
GeoLite2 is CC BY-SA 4.0 — attribution lives on the new public
/about page and in docs/audit/v1427-summary.md.
61 lines
866 B
Plaintext
61 lines
866 B
Plaintext
# dependencies
|
|
/node_modules
|
|
/.pnp
|
|
.pnp.*
|
|
.yarn/*
|
|
!.yarn/patches
|
|
!.yarn/plugins
|
|
!.yarn/releases
|
|
!.yarn/versions
|
|
|
|
# testing
|
|
/coverage
|
|
|
|
# playwright e2e
|
|
/test-results
|
|
/playwright-report
|
|
/playwright/.cache
|
|
/e2e/setup/storageState.json
|
|
|
|
# next.js
|
|
/.next/
|
|
/out/
|
|
|
|
# production
|
|
/build
|
|
|
|
# misc
|
|
.DS_Store
|
|
*.pem
|
|
|
|
# debug
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.pnpm-debug.log*
|
|
|
|
# env files
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
|
|
# typescript
|
|
*.tsbuildinfo
|
|
next-env.d.ts
|
|
|
|
# prisma generated
|
|
/src/generated/prisma
|
|
|
|
# v1.4.27 B3 — MaxMind GeoLite2 databases are fetched at build time
|
|
# via `scripts/fetch-geolite2.sh`. Too large for git; license key
|
|
# required. The folder + a `.gitkeep` are tracked so the Dockerfile
|
|
# COPY target always exists.
|
|
/assets/geolite2/*.mmdb
|
|
|
|
# AI session artefacts (kept locally, not committed)
|
|
/docs/superpowers/
|
|
.claude/
|
|
.cursor/
|
|
.codex/
|
|
.aider*
|