Small Go-based proxy that fetches an Outlook ICS feed, normalizes Outlook TZIDs using the embedded VTIMEZONE rules, and republishes a corrected ICS feed that Google Calendar can subscribe to.
- Deploy to Vercel.
- Subscribe Google Calendar to:
https://<your-vercel-app>.vercel.app/api/calendar?url=<OUTLOOK_ICS_URL>
Optional override:
https://<your-vercel-app>.vercel.app/api/calendar?url=<OUTLOOK_ICS_URL>&tz_hint=Europe/Berlin
- Only
outlook.office365.comis allowed as the source host. - Windows TZIDs are mapped using the CLDR global (
001) windowsZones table. - CLDR license notice is in
THIRD_PARTY_NOTICES.txt. - If a
VTIMEZONEsignature matches a known IANA zone, the TZID is replaced. - If no mapping exists, the original TZID is left untouched.
VTIMEZONEblocks are stripped after normalization.- The handler returns
text/calendarand streams the transformed content.
go test ./...