Przekierować adresy URL w Chrome?


37

Czy istnieją jakieś rozszerzenie do Chrome, który pozwoli mi zmusić URL z konkretnej domeny przekierowanie do innej domeny?

(Np. Przekieruj http://www.google.comdo https://encrypted.google.com.)

Uwaga : szukam arbitralnego przekierowania, a nie KB SSL Enforcer, który działa tylko w przypadku konkretnego zadania przekierowania do HTTPS.


Możesz również rozważyć użycie pliku HOSTS jako innej metody.
Synetech

@ Synetech: Czy przekierowałoby to tylko stronę główną lub cokolwiek z określoną domeną?
Mehrdad

Przekierowałby całą domenę (lub subdomenę, zależnie od przypadku).
Synetech

1
@JustinBuser, to by przekierować przeglądarkę z oryginalnego adresu IP do określonego adresu IP. Wyobraź sobie kopanie rowu w celu zmiany trasy wody. Kopiesz rów, otwierasz tamę, a następnie woda płynie do nowego miejsca zamiast do miejsca, w którym by poszła. Nigdy nie mówiłem nic o 302, więc spierasz się tylko o semantykę.
Synetech,

1
Nie miałem pojęcia, że istnieje encrypted.google.com ! Cool
tony19,

Odpowiedzi:


32

Zbudowałem rozszerzenie Chrome, które to robi.

Uwaga: zbudowałem to tylko dla dwóch witryn - po prostu do cholery - w żadnym wypadku nie jest to profesjonalna jakość ™. Proszę, nie podpalaj mnie za gówniany kod :)

Edycja: Zaktualizowano do manifestu v2, który wprowadza pewne dodatkowe ograniczenia.

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

}

Aby to zainstalować, utwórz pliki o nazwach plików, jak wspomniano powyżej w bloku kodu.

wprowadź opis zdjęcia tutaj

Po utworzeniu wszystkich 3 plików kliknij Menu Chrome → Narzędzia → Rozszerzenia. Kliknij „+” w trybie programisty. Kliknij opcję Załaduj rozpakowane rozszerzenie i wskaż katalog, w którym przechowywane są pliki.

wprowadź opis zdjęcia tutaj

Edytuj pliki są wymagane, odinstaluj i ponownie zainstaluj rozszerzenie, jak wspomniano powyżej


Omg spoko! Jak to zainstalować? (Przepraszam, nie mam doświadczenia w tworzeniu rozszerzeń Chrome, haha.)
Mehrdad

@ Mehrdad rozszerzył odpowiedź
Sathyajith Bhat

oczywiście, jeśli nie chcesz edytować plików, mógłbym
spakować je

Piękne, dziękuję bardzo! Uczy mnie też trochę JavaScript! : D
Mehrdad

Witamy! Opracowałem to, aby nauczyć się programowania rozszerzenia Chrome. (i ominąć kaszel websense kaszel ).
Sathyajith Bhat

12

Wiem, że jestem trochę spóźniony w grze, aby odpowiedzieć na to pytanie. Chciałbym odpowiedzieć na to pytanie dla przyszłych czytelników. Spójrz na

Requestly - rozszerzenie Chrome do modyfikowania żądań sieciowych.

Obecnie możesz skonfigurować reguły dla

  1. Przekieruj adres URL żądania na inny adres URL.
  2. Zablokuj niektóre żądania.
  3. Zamień część w adresie URL na inny ciąg. (Nawet cały adres URL można zastąpić)
  4. Dodaj / Usuń / Zmodyfikuj nagłówki w żądaniach HTTP i odpowiedziach. Możesz teraz skonfigurować reguły modyfikacji nagłówka tylko dla określonych adresów URL.

Zrzuty ekranu dla lepszego zrozumienia:

  • Lista zasad

Lista zasad

  • Lista rodzajów reguł

Lista rodzajów reguł

  • Nowa reguła przekierowania

Tworzenie reguły przekierowania

W mapie drogowej jest wiele rzeczy, które należy omówić na żądanie

  • Ustawianie niestandardowych nagłówków (Gotowe)
  • Przełączanie agentów użytkownika
  • Ustawianie parametrów w żądaniu (Gotowe) Aby to zrobić, użyj funkcji Przekieruj / Zamień.

.. i dużo więcej.

PS: Stworzyłem to, więc możesz mnie winić, jeśli nie okaże się to pomocne :)


Modyfikacja nagłówków jest teraz dostępna w Requestly.
sachinjain024

1
To niesamowite rozszerzenie! Zalogowałem się, aby dać ci +1, mam nadzieję, że więcej osób się o tym
dowie

Wsparcie Regex jest również dostępne w Requestly
sachinjain024 15.10.15

@ sachinjain024 link do repozytorium github jest już martwy.
Andrei Kucharavy,

9

Opracowałem spakowany przyjazny dla użytkownika przekierowanie o nazwie Switcheroo, jeśli jesteś zainteresowany:

Skonfiguruj niestandardowe reguły przekierowania dla dowolnego żądania http, tj. Stron, skryptów, obrazów itp. Używa do tego prostego ciągu znaków.


4
Otwarte źródło? :)
user72923,

1
Szkoda, że ​​Switcheroo nie obsługuje przełączania schematów HTTP (jak wskazano w przykładzie w pytaniu).
Martijn

2
Szkoda, że ​​wymaga przekierowania, aby „czytać i zmieniać wszystkie dane w odwiedzanych witrynach”.
Taylan

3

Trochę za późno, ale to rozszerzenie z pewnością powinno załatwić sprawę: Redirector .

I to jest arbitralny readresator .


Działa świetnie, aby uniknąć strony początkowej na Facebooku, dopasowanie: http?:
//Www.facebook.com

3
o nie, zostało usunięte? wyglądał świetnie na zrzutach ekranu! (wyrażenia regularne i takie, których potrzebuję)
Don Hatch
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.