ProbeDeck

配置

地区识别

原版在 Cloudflare 上通过 request.cf.country 自动识别探针位置。移植版复刻了这个能力,对业务代码零改动。

三种模式

值是什么
maxmind本地 GeoLite2-Country.mmdb 数据库,离线查询(默认)
ipinfoipinfo.io 在线查询,可配 token
off关闭,地区留空,需在管理面板手动设置
GEOIP_PROVIDER=maxmind
bash

数据库从哪来

查找顺序:

  1. GEOIP_MMDB_PATH 环境变量指定的路径
  2. DATA_DIR/geoip/GeoLite2-Country.mmdb
  3. 镜像内置的 /app/geoip/GeoLite2-Country.mmdb
  4. 以上都没有时自动从公共镜像源下载(失败则功能降级并告警)

MaxMind 数据由 maxmind.com 提供,镜像源见 server/geoip.js 的 DOWNLOAD_URLS。

GeoLite2 数据库需要定期更新(MaxMind 每周发布)。镜像内置的那份会随新版本更新,自己放的那份需要你手动换。

缓存

同一个 IP 24 小时内只查一次,缓存上限 10000 条。所以开几百台机器也不会打爆本地查询。

手动指定国家

自动识别不对时(比如探针在 NAT 后面、出站 IP 和实际所在地不符),在编辑面板里直接填两位国家代码覆盖。自动识别会继续在底下更新,但显示的是你指定的值。