個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證FEZfm v1 is an earthquake monitor. Every 30 minutes it collects reports from three agencies, merges them, stores them in DuckDB, and publishes a feed, a map and downloadable data to GitHub Pages. It needs no server.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Fault and geohazard monitoring, part of FEZtool. Live at fezfm.feztool.com; overview at feztool.com/fezfm.
FEZfm v1 is an earthquake monitor. Every 30 minutes it collects reports from USGS and EMSC, merges them, stores them in DuckDB, and publishes a feed, a map and downloadable data to GitHub Pages. It needs no server.
| Source | Coverage | How |
|---|---|---|
| USGS | Worldwide | FDSN event service |
| EMSC | Worldwide; also relays Iranian agencies | FDSN event service at seismicportal.eu |
| IRSC, Iranian Seismological Center (University of Tehran) | Iran and adjacent areas, M2.5+ | Off by default, see below |
All events in Iran and adjacent areas are kept; elsewhere M2.5 and above. Each event is tagged with its country (or the nearest one within about 150 km offshore) for the site's country filter.
Monitor workflow, GitHub Actions (every 30 min)
├─ download fezfm.duckdb from the "data-latest" release
├─ fezfm collect fetch the last 2 days from USGS and EMSC (one failing source never stops the other)
│ merge reports of the same quake (45 s, 80 km, 1 magnitude unit)
│ tag fault zones, significant events, active sequences
├─ upload fezfm.duckdb back to the release
├─ fezfm export web/public/data: latest.json, feed.xml, CSV / GeoJSON / Parquet downloads,
│ monthly archive (archive/YYYY-MM.json and .csv)
└─ nuxt generate → GitHub Pages
The zone traces in collector/fezfm/data/fault_zones.geojson are approximate until Faultiuo's KML files are added (see below).
collector/ Python 3.12 package "fezfm" (DuckDB, httpx), tests in collector/tests
web/ Nuxt 3 static site, FEZhome design tokens, Leaflet map with a self-hosted basemap
.github/ monitor.yml (schedule + Pages), backfill.yml (manual), ci.yml (tests + build)
Collector (needs uv):
cd collector
uv run pytest -q
uv run fezfm backfill --days 7 # creates fezfm.duckdb
uv run fezfm collect # what the schedule runs
uv run fezfm export # writes ../web/public/data
Site:
cd web
npm install
npm run dev # http://localhost:3036
main on GitHub. The repository must be public for free, unlimited Actions minutes.data-latest release and deploys the site. It is served at the custom domain set under Settings → Pages, https://fezfm.feztool.com/, which is also the --site-url the workflow gives fezfm export for the Atom feed.After that the schedule runs every 30 minutes. GitHub pauses schedules in repositories with no activity for 60 days; the workflow re-enables itself on each run to prevent that.
IRSC is not collected by default. irsc.ut.ac.ir cannot be reached from outside Iran, so GitHub's runners time out on it. Iranian events come from EMSC, which relays Iranian agencies, and USGS. They carry fewer small events than IRSC: in one week of October 2026, IRSC listed 44 events in the Iran region and EMSC and USGS 11.
IRSC events collected earlier stay in the database. The IRSC source (collector/fezfm/sources/irsc.py) still works from a machine inside Iran:
uv run fezfm --db irsc.duckdb collect --source irsc
fezfm collect --snapshot irsc.duckdb merges such a snapshot into the main database.
Faultiuo reads each zone from ~/GMTdata/KML/Time_Section/<Name>.kml. With those files:
cd collector
uv run fezfm import-kml ~/GMTdata/KML/Time_Section
This replaces the approximate traces and clears the "approximate" note on the site.
collector/scripts/gebco_tiles.py.FEZfm is a research tool, not an official earthquake warning service.
Code under Apache-2.0 (see LICENSE). Documentation under CC BY 4.0.