Briefly
A small Safari extension that tries to make dark mode useful without turning into another tracking layer.
FreeDark is a Safari dark-mode extension that themes pages locally without adding tracking. The README has moved well past a toy extension: content scripts, toolbar popup, options UI, schedules, tone controls, per-site rules, and stylesheet handling are all part of the design.
The interesting part is the engine work. It tries CSS-variable remapping and page-level styling first, has fallbacks when a site is messy, and treats external stylesheet fetching as something that needs guardrails rather than blind trust.
The page shows the extension from local files and a controlled before/after capture, not a public release.
What I built
- Manifest V3 extension with content scripts, background worker, popup, options, and Safari wrapper work.
- Per-site controls let dark mode be useful on real sites instead of pretending one global setting fits everything.
- Tone controls and scheduling make the extension feel more like a daily tool than a visual filter.
- Stylesheet fetching is designed with SSRF-style guardrails, and the privacy story stays local-first.
A few notes
- The extension already has Safari before/after theming, toolbar popup, options, and per-site controls.
- The README describes dynamic theming, CSS variable handling, fallback filters, schedules, tone controls, and privacy posture.
- The extension description is privacy/local-first: dark mode without accounts, tracking scripts, or analytics.