Перенаправить URL в Chrome?

37

Есть ли расширение Chrome , которое позволит мне заставить URL - адрес из определенного домена будет перенаправлено на другой домен?

(Например, Перенаправить http://www.google.comна https://encrypted.google.com.)

Примечание : я ищу произвольный редиректор, а не KB SSL Enforcer, который работает только для конкретной задачи перенаправления на HTTPS.

Mehrdad
источник
Вы также можете использовать файл HOSTS в качестве другого метода.
Synetech
@Synetech: Это перенаправило бы только корневую страницу, или что-то с определенным доменом?
Мердад
Это перенаправило бы весь домен (или поддомен в зависимости от обстоятельств).
Synetech
1
@JustinBuser, он будет перенаправлять браузер от исходного IP до указанного IP. Представьте себе рытье канавы, чтобы перенаправить воду. Вы рытье канавы, открываете плотину, затем вода уходит на новое место, а не туда, куда бы она ушла. Я никогда ничего не говорил о 302, так что вы только спорите о семантике.
Synetech
1
Я понятия не имел, что encrypted.google.com существует! Круто
tony19

Ответы:

32

Я построил расширение Chrome, которое делает это.

Примечание: я построил это только для 2 сайтов - просто черт возьми - отнюдь не профессионального качества ™. Пожалуйста, не подгоняйте меня за дерьмовый код :)

Редактировать: Обновлено до манифеста v2, что вводит некоторые дополнительные ограничения.

manifest.json

{
  "name": "URL Redirect",
  "version": "0.2",
  "description": "Checks URL and redirects as required.",
  "background": { 
     "page":"bg.html"
     },
   "manifest_version": 2,
   "content_scripts": [
   {
     "matches": ["http://*/*", "https://*/*"],
     "js": ["content.js"]
   }
   ],
  "permissions": ["tabs"]
}

bg.html

<html>
  <script src="redirect.js"></script>
</html>

redirect.js

chrome.extension.onRequest.addListener(function(request, sender) {
        chrome.tabs.update(sender.tab.id, {url: request.redirect});
    });

content.js

var pattern=/\bBlocked/;
var viewtext_base_url = "http://viewtext.org/article?url=";
var newurl;
if (pattern.test(window.document.title)) // if it matches pattern defined above
{
  newurl = viewtext_base_url + encodeURIComponent(window.location.href);
  chrome.extension.sendRequest({redirect: newurl}); // send message to redirect

}

Чтобы установить это, создайте файлы с именами файлов, как указано выше кодового блока.

введите описание изображения здесь

После того, как все 3 файла созданы, нажмите «Меню Chrome» → «Инструменты» → «Расширения». Нажмите «+» в режиме разработчика. Нажмите «Загрузить распакованное расширение» и укажите каталог, в котором хранятся файлы.

введите описание изображения здесь

Отредактируйте необходимые файлы, а также удалите и переустановите расширение, как указано выше

Сатьяджит Бхат
источник
OMG круто! Как мне это установить? (Извините, у меня нет опыта разработки расширений для Chrome, хаха.)
Mehrdad
@Mehrdad расширил ответ
Сатьяджит Бхат
Конечно, если вы не хотите редактировать файлы, я мог бы упаковать файлы в расширение Chrome ....
Сатьяджит Бхат
Красиво, большое спасибо! Это учит меня немного JavaScript тоже! : D
Мердад
Добро пожаловать! Я разработал это, чтобы изучить разработку расширений Chrome. (и обойти кашель, вебсенс, кашель ).
Сатьяджит Бхат
12

Я знаю, что немного опоздал в игре, чтобы ответить на этот вопрос. Тем не менее, я бы хотел ответить на этот вопрос для будущих читателей. Посмотри на

Requestly - расширение Chrome для изменения сетевых запросов.

В настоящее время Вы можете настроить правила для

  1. Перенаправить URL запроса на другой URL.
  2. Заблокировать некоторые запросы.
  3. Заменить некоторую часть в URL другой строкой. (Даже весь URL может быть заменен)
  4. Добавить / удалить / изменить заголовки в HTTP (s) запросах и ответах. Вы можете настроить правила изменения заголовка только для указанных URL-адресов.

Скриншоты для лучшего понимания:

  • Список правил

Список правил

  • Список типов правил

Список типов правил

  • Новое правило перенаправления

Создание правила перенаправления

В «дорожной карте» есть много вещей, которые можно

  • Настройка пользовательских заголовков (Готово)
  • Переключение пользовательских агентов
  • Настройка параметров в запросе (Готово) Используйте функцию перенаправления / замены для достижения этой цели.

.. и многое другое.

PS: я создал это, так что вы можете обвинить меня, если вы не найдете это полезным :)

sachinjain024
источник
Модификация заголовков теперь присутствует в Requestly.
sachinjain024
1
Это потрясающее расширение! Я вошел в систему только для того, чтобы дать вам +1, надеюсь, больше людей узнают об этом :)
Adi Ulici
Поддержка Regex также доступна в Requestly
sachinjain024
@ sachinjain024 ссылка на репозиторий github на данный момент не работает.
Андрей Кучаравый
9

Я разработал готовый удобный перенаправитель под названием Switcheroo, если вам интересно:

Настройте пользовательские правила перенаправления для любого http-запроса, т.е. страниц, скриптов, изображений и т. Д. Для этого используется простая замена строки.

ranjez
источник
4
Открытый источник? :)
user72923
1
Жаль, что Switcheroo не поддерживает переключение HTTP-схем (как указано в примере в вопросе).
Мартин
2
Также очень плохо, что для перенаправления требуется разрешение на «чтение и изменение всех ваших данных на посещаемых вами веб-сайтах».
Тайлан
3

Немного поздно, но это расширение, безусловно, должно сработать: Redirector .

И это произвольный редиректор .

user1237509
источник
Прекрасно работает, чтобы избежать стартовой страницы Facebook, Матч: http?: //Www.facebook.com, Замена: (. *), Замена: facebook.com/messages
lony
3
о нет, это было удалено? отлично выглядел со скриншотов! (регулярные выражения и тому подобное, вот что мне нужно)
Дон Хэтч