https://github.com/altock/intentionalbrowsing
Browser extension that blocks algorithmic 'home' feeds, while preserving unique pages/links, DMs, search, and subscriptions
https://github.com/altock/intentionalbrowsing
browser-extension chrome chrome-extension chrome-extensions digital-wel digital-wellness feed-blocker firefox-addon productivity
Last synced: 5 months ago
JSON representation
Browser extension that blocks algorithmic 'home' feeds, while preserving unique pages/links, DMs, search, and subscriptions
- Host: GitHub
- URL: https://github.com/altock/intentionalbrowsing
- Owner: altock
- License: mit
- Created: 2026-01-20T16:13:11.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-22T17:20:10.000Z (5 months ago)
- Last Synced: 2026-01-24T03:22:49.233Z (5 months ago)
- Topics: browser-extension, chrome, chrome-extension, chrome-extensions, digital-wel, digital-wellness, feed-blocker, firefox-addon, productivity
- Language: HTML
- Homepage: https://altock.github.io/IntentionalBrowsing/
- Size: 2.06 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Intentional Browsing
**Block the feed. Keep the signal. Visit on purpose.**
A browser extension that blocks algorithmic feeds while preserving the features you actually use—DMs, search, subscriptions, and direct links.
## What it does
| Platform | Blocked | Allowed |
|----------|---------|---------|
| X/Twitter | Home feed, For You | Messages, notifications, profiles, individual tweets |
| Reddit | Home, Popular, r/all | Subreddits, comments, search, user profiles |
| YouTube | Home, Shorts, Trending | Subscriptions, watch pages, search, channels |
| Instagram | Feed, Explore, Reels | DMs, profiles, individual posts |
| Facebook | Feed, Watch, Reels | Messages, groups, events, marketplace |
| LinkedIn | Feed | Messages, jobs, profiles |
| TikTok | Everything | — |
## Install
- **Chrome**: [Chrome Web Store](https://chrome.google.com/webstore/detail/intentional-browsing) (pending)
- **Firefox**: Coming soon
Or load unpacked from `dist/chrome` or `dist/firefox` after building.
## Build
```bash
npm install
npm run build # Build both Chrome and Firefox
npm run build:watch # Watch mode
```
Output:
- `dist/chrome/` — Manifest V3 (Chrome, Edge)
- `dist/firefox/` — Manifest V2 (Firefox)
## Test
```bash
npm test # Unit tests (Vitest)
npm run test:e2e # E2E tests (Playwright)
```
## How it works
**Hard blocks**: Navigation-level blocking via `declarativeNetRequest` (Chrome) or `webNavigation` (Firefox). Redirects to a blocked page or safe destination (e.g., YouTube → Subscriptions).
**Soft blocks**: DOM hiding via content scripts with MutationObserver for dynamic content.
**SPA detection**: Content scripts patch `history.pushState`/`replaceState` to catch in-app route changes.
## Privacy
No data collection. No analytics. Everything stays local. See [Privacy Policy](https://altock.github.io/IntentionalBrowsing/privacy.html).
## License
MIT