Skip to content

karan51ngh/no-noise-linkedin

Repository files navigation

🔇 No Noise LinkedIn

Remove Suggested & Promoted Posts, Hide News, Block Site-wide Ads and Focus Mode for LinkedIn

No Noise LinkedIn Logo

🚀 Features

  • 🧹 Removes Suggested and Promoted Posts from your LinkedIn feed.
  • ❌ Block LinkedIn News and ad modules across the site.
  • 🎯 Focus Mode: Hide the entire feed to stay distraction-free.
  • 🌗 Dark/Light Theme: Seamlessly switch between dark and light themes.
  • ⚡️ Lightweight, open source, and privacy-friendly — no tracking!
  • 🕹️ Control Panel to toggle features on/off.

📸 Feature Demonstration


⚙️ Installation

🦁 Chrome Web Store

  • Brave, Google Chrome, Microsoft Edge, Vivaldi, etc. (Chromium-based browsers) are supported.
  • Chrome Web Store: Link
  • Click Add to Brave.

🦊 Firefox Add-ons

The extension is currently under review in the Mozilla Add-ons store. In the meantime, you can manually build and install it using the steps below.

🛠️ Manual Installation ( Brave, Google Chrome, Microsoft Edge, Vivaldi, etc. - Chromium Engine)

  1. Clone the repository:
    • git clone https://github.com/karan51ngh/no-noise-linkedin.git
    • cd no-noise-linkedin
  2. Install dependencies and build:
    • npm install
    • npm run build
  3. Open chrome://extensions/, enable Developer mode, click Load unpacked, and select the dist/ folder that was generated by the build.

⚒️ Manual Installation (Firefox - Gecko Engine)

  1. Clone the repository:
    • git clone https://github.com/karan51ngh/no-noise-linkedin.git
    • cd no-noise-linkedin
  2. Install dependencies and build for Firefox:
    • npm install
    • npm run build:firefox
  3. Open Firefox and navigate to about:debugging#/runtime/this-firefox
  4. Click Load Temporary Add-on...
  5. Select the manifest.json file inside the dist/ folder that was generated by the build.

📦 Using the prebuilt release

  1. Download the latest release from GitHub Releases page
  2. Extract the ZIP file compatible with your browser.
  3. For Brave, Google Chrome, Microsoft Edge, Vivaldi, etc. (Chromium-based browsers):
    • Open chrome://extensions/ in your browser
    • Enable Developer mode (top-right corner).
    • Click Load unpacked and select the dist/ folder inside the extracted release.
  4. For Firefox (and other Gecko-based browsers):
    • Open about:debugging#/runtime/this-firefox in Firefox
    • Click Load Temporary Add-on...
    • Select the manifest.json file inside the dist/ folder that was generated by the build.

📂 Directory Structure

├── src/
│   ├── components/
│   │   ├── ControlPanel.tsx  # React-based UI with toggles (Promoted, Feed, etc.)
│   │   ├── ControlPanelRow.tsx # Reusable UI row for control panel
│   │   ├── Footer.tsx        # Footer component
│   │   ├── Header.tsx        # Header component
│   │   ├── NNLButton.tsx     # NNL button component
│   │   ├── Reload.tsx        # Reload prompt component
│   │   ├── Switch.tsx        # Toggle switch component
│   │   ├── constants.ts      # Settings types and defaults
│   │   └── useSettings.ts    # Utilities for reading/writing settings in chrome.storage
│   ├── services/
│   │   └── FilterEngine.ts   # Core logic for filtering posts
│   ├── types/
│   │   ├── css-raw.d.ts      # CSS raw import types
│   │   ├── images.d.ts       # Type definitions for images
│   ├── App.tsx               # Hosts the floating button, settings wiring, and logic
│   ├── index.tsx             # Mounts the React app into the page via Shadow DOM
│   └── style.css             # Global styles
├── images/                   # Extension icons (16/32/48/128)
├── assets/                   # Project images and screenshots used in README
├── dist/                     # Production build output (Load this as unpacked)
├── index.html                # Extension popup entry (default_popup)
├── manifest.json             # Chrome extension configuration (MV3)
├── vite.config.ts            # Vite build configuration
├── tailwind.config.js        # Tailwind CSS configuration
└── tsconfig.json             # TypeScript configuration

📜 License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.

🙌 Acknowledgments

This project uses react-content-script to integrate a React app as a content script and mount it inside a Shadow DOM host.

🪪 Author / Contact


No Noise LinkedIn Logo

About

A React based Browser Extension to remove Suggested & Promoted Posts from your LinkedIn feed, blocks Ads across LinkedIn and comes with a Focus Mode, for distraction free usage.

Topics

Resources

License

Stars

Watchers

Forks

Contributors