Fetch monthly diary via API, store month JSONs, extract per-day JSONs (gap-filled), and fetch 1-year weight report (normalized dates) into weight.json
# MyFitnessPal Full Export → ZIP (API Monthly + Weight)
A Tampermonkey/Greasemonkey userscript that exports your MyFitnessPal data into a single ZIP: raw monthly diaries, per-day JSON files (one per calendar day), and a 1-year weight report with ISO-normalized dates.
## Features
* **Monthly diaries** via the official report API (`POST /api/services/diary/report`).
* **Daily JSONs** extracted from each month; **gap-filled** so every calendar day exists (empty days marked with `"is_empty": true`).
* **Weight (365 days)** normalized from `MM/DD` → `YYYY-MM-DD`, handling year rollovers.
* **Timezone-safe ranges**: correct month end dates (no UTC truncation) and local “today” default.
* **Built-in UI**: floating Start/Stop panel, date pickers, progress.
## How to Use
1. Install **Tampermonkey** (Chrome/Edge) or **Violentmonkey/Greasemonkey** (Firefox).
2. Install the script from your repo: **[https://github.com/1337-server](https://github.com/1337-server)** (add to your userscripts).
3. Log in to **myfitnesspal.com**, open any page, set a date range in the floating panel, click **Start Export**.
4. A ZIP named `mfp_export_START_to_END.zip` will download when finished.
## ZIP Layout
```
/monthly/month-YYYY-MM.json
/daily/YYYY/YYYY-MM_MonthName/YYYY-MM-DD.json
/weight.json
/manifest.json
```
## Notes & Limits
* Exports only what your account can see.
* Adds ~900 ms delay per month to avoid throttling.
* Very large ranges may prompt confirmation (>500 months).
* Everything runs locally in your browser; no external servers used.