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.

Mehrdad
źródło
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

Sathyajith Bhat
źródło
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 :)

sachinjain024
źródło
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.

ranjez
źródło
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 .

użytkownik1237509
źródło
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