From 5c183a061e58027b8b81015c5c851f013999578d Mon Sep 17 00:00:00 2001 From: m4xx1m Date: Sat, 10 Oct 2026 14:48:36 +0300 Subject: [PATCH] Initial commit: Chrome extension to redirect .gq to .org --- README.md | 13 +++++++++++++ manifest.json | 21 +++++++++++++++++++++ rules.json | 30 ++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 README.md create mode 100644 manifest.json create mode 100644 rules.json diff --git a/README.md b/README.md new file mode 100644 index 0000000..fb8c8a9 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# GQ to ORG Redirector + +Простое и ультралегкое расширение для Google Chrome (Manifest V3), которое автоматически перенаправляет запросы с доменов `.gq` на соответствующие `.org` (например, `rutracker.gq` -> `rutracker.org`). + +## Особенности +- **Работает до обращения к сети:** перехват происходит на уровне движка Chromium (`declarativeNetRequest`), поэтому не возникает проблем с DNS, HSTS или отсутствующими SSL-сертификатами. +- **Сохраняет структуру ссылок:** сохраняет все пути и GET-параметры запроса (`?t=...`). +- **0 МБ оперативной памяти:** не использует фоновые сервисы (`service_worker`). + +## Установка в Google Chrome +1. Откройте `chrome://extensions/`. +2. Включите **«Режим разработчика»** (Developer mode) в правом верхнем углу. +3. Нажмите **«Загрузить распакованное»** (Load unpacked) и выберите папку с этим расширением. diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..ec1c35b --- /dev/null +++ b/manifest.json @@ -0,0 +1,21 @@ +{ + "manifest_version": 3, + "name": "GQ to ORG Redirector", + "version": "1.0", + "description": "Мгновенно перенаправляет запросы с .gq на .org до отправки в сеть", + "permissions": [ + "declarativeNetRequest" + ], + "host_permissions": [ + "*://*.gq/*" + ], + "declarative_net_request": { + "rule_resources": [ + { + "id": "ruleset_1", + "enabled": true, + "path": "rules.json" + } + ] + } +} diff --git a/rules.json b/rules.json new file mode 100644 index 0000000..3f31c83 --- /dev/null +++ b/rules.json @@ -0,0 +1,30 @@ +[ + { + "id": 1, + "priority": 1, + "action": { + "type": "redirect", + "redirect": { + "regexSubstitution": "https://\\1.org/\\2" + } + }, + "condition": { + "regexFilter": "^https?://([^/]+)\\.gq/(.*)", + "resourceTypes": [ + "main_frame", + "sub_frame", + "stylesheet", + "script", + "image", + "font", + "object", + "xmlhttprequest", + "ping", + "csp_report", + "media", + "websocket", + "other" + ] + } + } +]