Перенаправити URL-адреси в Chrome?


37

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

(Наприклад, перенаправлення http://www.google.comна https://encrypted.google.com.)

Примітка . Я шукаю довільного переспрямовування, а не KB SSL Enforcer, який працює лише для конкретного завдання перенаправлення на HTTPS.


Ви також можете використати файл HOSTS як інший метод.
Synetech

@Synetech: Чи переспрямує це лише коренева сторінка чи щось із певного домену?
Мехрдад

Це дозволить перенаправити весь домен (або піддомен залежно від обставин).
Synetech

1
@JustinBuser, він буде перенаправляти браузер від вихідного IP до зазначеного IP. Уявіть, як копати канаву для повторної траси води. Ви копаєте канаву, відкриваєте дамбу, тоді вода іде на нове місце замість того, куди б вона пішла. Я ніколи нічого не говорив про 302, тож ви лише аргументуєте семантику.
Synetech

1
Я не мав ідеї, що існує encrypted.google.com ! Cool
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 → Інструменти → Розширення. Натисніть "+" у режимі розробника. Клацніть розширення Load Unpacked та вкажіть каталог, де зберігаються файли.

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

Необхідно відредагувати файли та видалити та перевстановити розширення, як було зазначено вище


Омг круто! Як це встановити? (Вибачте, я не маю досвіду розробки розширень Chrome, ха-ха.)
Мехрдад

@Mehrdad розширив відповідь
Sathyajith Bhat

Звичайно, якщо ви не дивитесь на редагування файлів, я міг би запакувати їх у розширення Chrome ....
Sathyajith Bhat

Красиво, спасибі велике! Це вчить мене і JavaScript! : D
Мехрдад

Ласкаво просимо! Я розробив це, щоб дізнатися про розширення Chrome. (і щоб обійти кашель websense кашель ).
Сатьядхіт Бхат

12

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

Запит - розширення Chrome для зміни мережевих запитів.

Наразі Ви можете налаштувати правила для

  1. Перенаправити URL-адресу запиту на іншу URL-адресу.
  2. Блокуйте деякі запити.
  3. Замініть якусь частину URL-адреси на інший рядок. (Навіть цілу URL-адресу можна замінити)
  4. Додати / видалити / змінити заголовки в запитах та відповідях HTTP (s). Ви можете налаштувати правила модифікації заголовка лише для вказаних URL-адрес.

Скріншоти для більшого розуміння:

  • Перелік правил

Перелік правил

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

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

  • Нове правило переадресації

Створення правила перенаправлення

У дорожній карті є багато речей, на які слід звернути увагу

  • Налаштування користувацьких заголовків (Готово)
  • Переключення агентів користувача
  • Встановлення параметрів у запиті (Готово) Для цього скористайтеся функцією перенаправлення / заміни.

.. і багато іншого.

PS: Я створив це, тож ви можете звинуватити мене, якщо ви не вважаєте це корисним :)


Модифікація заголовків тепер присутня в Requestly.
sachinjain024

1
Це дивовижне розширення! Я ввійшов у систему, щоб я міг дати вам +1, сподіваюся, більше людей дізнаються про це :)
Аді Уліці

Підтримка Regex також доступна в Requestly
sachinjain024

@ sachinjain024 посилання на github repo наразі мертва.
Андрій Кучаравий

9

Я розробив попередньо упакований зручний перенаправлення під назвою Switcheroo, якщо вам цікаво:

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


4
Відкрите джерело? :)
користувач72923

1
Шкода, що Switcheroo не підтримує комутацію HTTP-схем (як зазначено в прикладі у запитанні).
Martijn

2
Також занадто погано, що для переадресації потрібен дозвіл "Читати та змінювати всі ваші дані на веб-сайтах, які ви відвідуєте".
Тейлан

3

Трохи запізнюємось, але це розширення, безумовно, повинно зробити трюк: Redirector .

І це довільний переспрямовувач .


Чудово працює, щоб уникнути стартової сторінки Facebook, Матч: http?: //Www.facebook.com, Заміна: (. *), Заміна: facebook.com/messages
lony

3
о ні, його зняли? чудово виглядав із скріншотів! (регулярні вирази та інше, що саме мені потрібно)
Дон Хетч
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.