Stay spoiler-free until release day.
A free, open-source browser extension that hides everything about GTA 6 / Grand Theft Auto VI, and Grand Theft Auto in general: trailers, leaks, search results, YouTube videos and Shorts, Reels, posts and hashtags.
Note
This project was generated with AI. The code, tests, icons and docs were written by Claude (Anthropic's AI assistant) on request, then tested and reviewed by a human. Expect the odd rough edge. Issues and pull requests are very welcome.
What gets blocked: the same feed with the extension on. Everything marked in red is GTA related and gets removed. Minecraft, Zelda and the running post stay.
| Without the extension | With GTA 6 Blocker (what you actually see) |
|---|---|
![]() |
![]() |
| Shorts / Reels / TikTok | GTA searches and pages | Popup |
|---|---|---|
![]() |
![]() |
![]() |
Screenshots use a mock demo page (docs/demo/), regenerated with node docs/demo/take-screenshots.js.
- Network rules stop GTA searches, hashtag pages, GTA pages on rockstargames.com and GTA fan sites before they even load, and show a block screen instead.
- A content script reads every page you visit (text, links, image alt text, titles, hashtags) and hides the whole "card" around anything GTA related: a search result, a video tile, a post or a comment.
- A MutationObserver keeps watching, so content that appears later through infinite scroll or single-page navigation gets hidden too.
- In swipe feeds (Shorts, Reels, TikTok) a GTA video is covered and muted instead of removed, so you can keep scrolling.
Everything runs locally in your browser. No tracking, no analytics, no remote code, no data leaves your machine.
| Where | How |
|---|---|
| Whole pages | Pages whose URL, title or og:title mention GTA 6 are covered by a block screen and their videos are paused. |
| Before they load | Any GTA search (gta 6, grand theft auto v, vice city, #gtaonline...) on Google, Bing, DuckDuckGo, YouTube, Instagram, X etc., GTA hashtag pages, rockstargames.com/VI and other GTA pages on Rockstar's site, GTA fan sites (GTAForums, GTABase, the GTA wiki...) and embedded GTA iframes are stopped at the network level. |
| Search results | Google, Bing, DuckDuckGo, Brave, Ecosia, Yahoo result cards. |
| Videos | YouTube home, search, sidebar, Shorts shelves, comments and community posts; TikTok cards. |
| Twitch | Streams in any Grand Theft Auto category (GTA VI, V, IV, San Andreas, Vice City...) are marked red in the sidebar, front page and directory, and opening one shows a warning before the stream plays (go back or watch anyway). Also when a streamer switches to GTA mid-stream. In the settings you can instead remove GTA streams completely. |
| Swipe feeds | In the YouTube Shorts player, Instagram Reels, TikTok and Facebook Reels, a GTA video is covered with a block screen and muted, and you can keep scrolling to the next one. |
| Social posts | Reddit, X/Twitter, Bluesky, Mastodon, Facebook and Instagram posts, captions, hashtags, grid tiles and comments. |
| Everything else | Any element on any site whose text, link, image alt, title or aria-label matches a keyword, including content loaded later by infinite scroll. |
Matching is smart about spelling:
GTA 6also catchesGTA-6,gta6,GTA_6andGTA:6.- Hashtags match by prefix, so
GTAcatches#gta6,#gtaonline,#gtarp,#GTAV, andVice Citycatches#vicecityvibes. - Whole words only:
GTAwon't hide "agtamon",Vice Citywon't hide "vice president", andJason Duvalwon't hide "Jason Momoa".
Default keywords: GTA, GTA 6, GTA VI, GTA 5, GTA V, GTA Online, Grand Theft Auto, Vice City, Leonida, Port Gellhorn, Ambrosia County, Jason and Lucia, Jason Duval, Lucia Caminos and spelling variants. You can edit them in the settings.
- One-click on/off switch in the toolbar popup
- "Block on this site" switch to allow a site
- Badge counter showing how many items were hidden on the current tab
- Editable keyword list and allowlist in the settings page
- Twitch setting: mark GTA streams red and warn (default), or remove them completely
- This project's own GitHub repository (
github.com/Backware/gta6-blocker, raw files, zip and release downloads) is never blocked, so you can always read the docs, report issues and update - No tracking, no network calls, no remote code. Settings stay in your browser.
- Download the latest
gta6-blocker-chrome-*.zipfrom Releases and unzip it, or download this repository (green Code button → Download ZIP), orgit cloneit. - Open
chrome://extensions(Edge:edge://extensions). - Turn on Developer mode (top right).
- Click Load unpacked and pick the unzipped folder (or the
srcfolder of the repository). - Pin the extension with the puzzle-piece icon so you can see the counter.
To update later, replace the files and click the reload arrow on the extension card.
You need Xcode from the Mac App Store (open it once after installing). No Apple developer account is needed for a local build.
One click: double-click Build Safari Extension.command in Finder. The first time, right-click it and choose Open, because macOS asks before running downloaded scripts.
Or from Terminal:
bash scripts/build-safari.shThe script generates the Xcode project, sets the version, the deployment target (macOS 12+) and local signing, builds it, installs GTA 6 Blocker.app into ~/Applications and launches it once so Safari sees the extension.
Then turn it on in Safari:
- Safari → Settings → Advanced → tick Show features for web developers.
- Safari → Settings → Developer → tick Allow unsigned extensions.
- Safari → Settings → Extensions → enable GTA 6 Blocker, then Edit Websites… → Other Websites → Allow.
Important
A locally signed build is switched off by Safari every time Safari quits, and you have to tick Allow unsigned extensions again. To keep it on permanently, sign it with an Apple ID. See Signing for Safari below.
Other options:
bash scripts/build-safari.sh --openonly creates the Xcode project and opens it.bash scripts/build-safari.sh --iosalso creates iPhone/iPad targets.
If the build fails, the errors are printed and the full log is in build/xcodebuild.log.
Safari only keeps an extension enabled across restarts when its app is signed with an Apple certificate. Pick the option that fits:
| Option | Cost | Stays on after restart | Can share with others |
|---|---|---|---|
| A. Local signing (default script) | Free | No | No |
| B. Personal Team (free Apple ID) | Free | Yes, on your Mac | No |
| C. Developer ID + notarization | Apple Developer Program, $99/year | Yes | Yes, as a download |
| D. Mac App Store | Apple Developer Program, $99/year | Yes | Yes, via the App Store |
- In Xcode → Settings → Accounts, click + and sign in with your Apple ID. Xcode creates a free Personal Team.
- Create the project without building it:
bash scripts/build-safari.sh --open
- In Xcode, select the blue project icon at the top of the sidebar. For both targets (GTA 6 Blocker and GTA 6 Blocker Extension), open Signing & Capabilities and:
- tick Automatically manage signing
- set Team to Your Name (Personal Team)
- Pick the GTA 6 Blocker scheme and My Mac at the top, then press ⌘R.
- In Safari → Settings → Extensions, enable GTA 6 Blocker. You don't need Allow unsigned extensions any more.
Tip
Error "Embedded binary is not signed with the same certificate as the parent app"? The app and the extension must use the same team. Check Signing & Capabilities on both targets (GTA 6 Blocker and GTA 6 Blocker Extension), pick the identical team on each, then Product → Clean Build Folder (⇧⌘K) and build again.
Tip: if you know your team ID (shown in Xcode under Accounts or on developer.apple.com), DEVELOPMENT_TEAM=ABCDE12345 bash scripts/build-safari.sh does steps 2 to 4 in one go.
- Join the Apple Developer Program.
- Open the project with
bash scripts/build-safari.sh --openand set your paid team on both targets as above. - Use a bundle ID you own:
BUNDLE_ID=com.yourname.gta6blocker bash scripts/build-safari.sh --open(the extension automatically getscom.yourname.gta6blocker.Extension). - Product → Archive, then in the Organizer Distribute App → Direct Distribution. Xcode signs it with your Developer ID and sends it to Apple for notarization.
- Export the notarized app, zip it and attach it to a GitHub release. Users drag it to Applications, open it once and enable the extension in Safari.
Same as C, but choose App Store Connect in step 4, then fill in the listing in App Store Connect and submit for review. This also works for the iOS/iPadOS version (--ios).
- Click the toolbar icon to switch blocking on or off, see the counters, or allow the current site.
- Edit keywords & settings opens the settings page, where you can change keywords (one per line), add allowed sites and switch the "block before load" network rules on or off.
src/
manifest.json Manifest V3, shared by Chrome and Safari
shared.js Settings + keyword matcher (used everywhere)
content.js / .css Page scanner, MutationObserver, block overlay
background.js Network rules sync, badge counter
rules/rules.json declarativeNetRequest rules (URL / search blocking)
popup/ options/ blocked/ icons/
scripts/
build-safari.sh Wrap src/ into a Safari Xcode project
package-chrome.sh Zip src/ for the Chrome Web Store (macOS/Linux)
package-chrome.ps1 Same, for Windows PowerShell
test/
run-test.js Headless Chromium test (39 checks)
docs/
demo/ Mock pages + script that make the README screenshots
screenshots/
There's no build step: edit files in src/ and reload the extension.
Run the automated test (needs Node 18+):
npm install
npx playwright install chromium
npm test- Text inside images and video frames can't be read, so a thumbnail without a GTA 6 title or alt text won't be caught.
- Sites that render into a
<canvas>or a closed shadow DOM can't be inspected. - Very generic words can cause false positives.
GTAis also short for "Greater Toronto Area", so posts about Toronto may be hidden too. Remove a keyword in the settings if it hides too much.
Pull requests are welcome, especially new site selectors and keywords. See CONTRIBUTING.md.
Generated with AI by Claude (Anthropic), directed, tested and maintained by Backware.
Questions, ideas or business inquiries: backware.cc. For bugs and feature requests, please open an issue.
MIT. Not affiliated with Rockstar Games or Take-Two Interactive. "Grand Theft Auto" is a trademark of Take-Two Interactive Software, Inc.






