## 🛠️ YouTube Tweaker Pro (Full Suite) \[v3.3.3]
A powerful userscript that cleans up YouTube, blocks distractions, and gives you a fast, customizable UI — now with **pre-roll skip sniper**, **optional SponsorBlock skipping**, **safer ad detection**, and a **Normalize Now** button if anything ever sticks.
### ✅ Features
* 🎯 **Hide clutter:** Right sidebar (suggestions), Shorts, Comments, Keyword chips, Top banner promos, homepage ads, endscreen overlays
* 🔇 **Smarter audio control:** Mute autoplay; optionally mute only during ads
* ⏭️ **Ad handling:**
* Auto-skip all skippable ads (more selectors covered)
* **Pre-roll skip sniper** catches the very first skip button on new videos
* **Optional** fast-forward for unskippable ads (default **OFF**)
* Overlay/image ad cleanup
* Watchdog that normalizes sound/speed if anything goes weird
* 🎬 **Playback/layout:** Force Theater Mode, widen layout, auto-expand description, auto-HD opener
* 🌗 **Config panel:** Dark/Light theme, draggable floating gear, auto-hide gear in fullscreen with delay (0/3/5/10s)
* 💾 **Settings:** Saved locally, easy **Export/Import**, one-click **Reset**
* 🧩 **SponsorBlock (optional):** Skip sponsor/self-promo/interaction/etc. via public API; per-category toggles
> Note: sometimes you may need to **click the gear icon twice** to open the panel (YouTube’s overlays can steal the first click).
---
### 🆕 What’s new (recent)
**v3.3.3**
* Safer ad detection (requires `ad-showing` **or** visible countdown; fewer false positives)
* Debounce tightened; watchdog normalizes playback after \~2s of clean state
* **Fast-Forward Unskippable Ads** now **OFF by default** (enable in panel if you want it)
* Added **Normalize Now** button in panel
**v3.3.2**
* Added **pre-roll skip sniper** (clicks the very first skip as soon as it appears)
**v3.3.1**
* Restores audio/playbackRate reliably after ads
* Wider skip-button coverage and post-ad sweep
**v3.3.0**
* **SponsorBlock integration** (toggle + category checkboxes) using public API
* Aggressive ad skip, overlay cleanup, unskippable fast-forward (optional)
---
### 🎨 Panel Options (highlights)
* Hide UI clutter (Shorts, Comments, promos, chips, endscreen)
* Force Theater, widen layout, auto-HD opener, expand description
* Auto-skip ads, mute during ads, **Fast-Forward Unskippable Ads** (2–64× speed), **Ad Fast Speed** control
* **SponsorBlock:** enable/disable and choose categories (sponsor, self-promo, interaction, intro/outro, preview, etc.)
* Dark/Light theme for the panel
* **Export / Import / Reset / Normalize Now**
* **Auto-hide gear in fullscreen** + delay selector
* Gear is **draggable** and remembers position during the session
---
### 📦 Installation & Requirements
* Works best with **Tampermonkey** on Chrome/Chromium-based browsers.
* If you enable SponsorBlock: the script uses the public API.
* Requires: `@grant GM_xmlhttpRequest` and `@connect api.sponsor.ajay.app` (already included).
---
### 📚 How to Use (quick)
1. Install/update the userscript.
2. Open YouTube and click the **⚙️ gear** (bottom-right by default).
* If the panel doesn’t open, **click the gear twice** (YouTube overlays occasionally eat the first click).
3. Toggle what you want. Changes apply immediately.
4. (Optional) In **SponsorBlock**, turn on “Skip Sponsor Segments” and tick the categories you want.
5. Export your settings for backup; Import later if you switch machines.
---
### ⚙️ Tips & Recommended Settings
* For maximum calm: enable **Hide Right Sidebar**, **Hide Shorts**, **Hide Keyword Chips**, **Hide Top Banner Promo**.
* For ad handling with zero speed surprises: leave **Fast-Forward Unskippable Ads = OFF** (default).
* If a skippable ad sneaks in first: the **pre-roll sniper** will usually click it instantly; if not, it’ll get caught within \~250ms.
* If anything feels “stuck” (muted or too fast): open the panel and press **Normalize Now**.
---
### 🧩 SponsorBlock Notes
* Uses the public API at `api.sponsor.ajay.app`.
* Per-video segments are pulled once and cached for that session.
* You can enable only the categories you care about (default: sponsor/self-promo/interaction ON; intro/outro OFF).
---
### 🔐 Privacy
* All UI preferences are stored **locally** via `localStorage`.
* SponsorBlock is optional and only queries the public API if enabled.
---
### ❗ Known Quirks
* YouTube changes class names often; aggressive skip tries multiple selectors. If a skip button is missed, it should still be caught within a fraction of a second.
* Occasionally, YouTube overlays consume the first click on the gear — **click twice** to open.
* Some unskippable ads don’t expose duration; fast-forward logic is conservative to avoid breaking playback.
---
**Built with care by [Eliminater74](https://greasyfork.org/users/eliminater74)**
🚀 Fast | 🧪 Actively tested | 🔧 Open to feedback & PRs