Reindirizzare gli URL in Chrome?


37

Esiste un'estensione per Chrome che mi permetterà di forzare un URL da un determinato dominio per essere reindirizzato a un altro dominio?

(Ad esempio reindirizzamento http://www.google.coma https://encrypted.google.com.)

Nota : sto cercando un redirector arbitrario , non KB SSL Enforcer, che funziona solo per l'attività specifica di reindirizzamento a HTTPS.


Si potrebbe anche considerare l'utilizzo del file HOSTS come altro metodo.
Synetech,

@Synetech: reindirizzerebbe solo la pagina principale o qualcosa con un determinato dominio?
Mehrdad,

Reindirizzerebbe l'intero dominio (o sottodominio, a seconda del caso).
Synetech,

1
@JustinBuser, si sarebbe reindirizzare il browser da IP originale al IP specificato. Immagina di scavare un fossato per reindirizzare l'acqua. Scavi una fossa, apri la diga, quindi l'acqua va nel nuovo punto invece che dove sarebbe andata. Non ho mai detto nulla su 302, quindi stai solo discutendo di semantica.
Synetech,

1
Non avevo idea che crittografato.google.com esistesse! Cool
tony19,

Risposte:


32

Avevo creato un'estensione di Chrome che fa questo.

Nota: l'ho creato per soli 2 siti - solo per il gusto di farlo - non è affatto di qualità professionale ™. Per favore, non darmi fuoco per codice scadente :)

Modifica: aggiornato per manifest v2, che comporta alcune restrizioni aggiuntive.

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

}

Per installare questo, creare file con nomi di file come indicato sopra il blocco di codice.

inserisci qui la descrizione dell'immagine

Dopo aver creato tutti e 3 i file, fai clic sul menu Chrome → Strumenti → Estensioni. Fai clic su "+" in Modalità sviluppatore. Fare clic su Carica estensione decompressa e selezionare la directory in cui sono memorizzati i file.

inserisci qui la descrizione dell'immagine

Modifica i file richiesti e disinstalla e reinstalla l'estensione come indicato sopra


Oh mio Dio! Come lo installo? (Mi dispiace non ho esperienza con lo sviluppo di estensioni di Chrome, haha.)
Mehrdad,

@Mehrdad ha esteso la risposta
Sathyajith Bhat

ovviamente, se non stai cercando di modificare i file, avrei potuto comprimere i file in un'estensione di Chrome ....
Sathyajith Bhat

Bello, grazie mille! Mi insegna anche un po 'di JavaScript! : D
Mehrdad,

benvenuto! L'avevo sviluppato per imparare lo sviluppo delle estensioni di Chrome. (e per aggirare la tosse Websense tosse ).
Sathyajith Bhat

12

So di essere un po 'in ritardo nel gioco per rispondere a questa domanda. Vorrei ancora rispondere a questa domanda per i futuri lettori. Dai un'occhiata a

Facoltativamente : un'estensione di Chrome per modificare le richieste di rete.

Attualmente, è possibile impostare le regole per

  1. Reindirizzare un URL di richiesta a un altro URL.
  2. Blocca alcune richieste.
  3. Sostituisci una parte dell'URL con un'altra stringa. (Anche l'intero URL può essere sostituito)
  4. Aggiungi / Rimuovi / Modifica intestazioni nella richiesta e nella risposta HTTP. Ora puoi impostare le regole di modifica dell'intestazione solo per gli URL specificati.

Schermate per una maggiore comprensione:

  • Elenco delle regole

Elenco delle regole

  • Elenco dei tipi di regole

Elenco dei tipi di regole

  • Nuova regola di reindirizzamento

Creazione di una regola di reindirizzamento

Ci sono molte cose nella tabella di marcia che devono essere affrontate come richieste

  • Impostazione delle intestazioni personalizzate (Fine)
  • Cambio di agenti utente
  • Impostazione dei parametri su richiesta (Fine) Utilizzare la funzione Reindirizza / Sostituisci per eseguire questa operazione.

.. e molto di più.

PS: Ho creato questo, quindi puoi biasimarmi se non lo trovi utile :)


La modifica delle intestazioni è ora presente in Requestly.
sachinjain024,

1
Questa è un'estensione fantastica! Ho effettuato l'accesso solo per darti un +1, si spera che più persone lo
scoprano

Il supporto Regex è disponibile anche in Requestly
sachinjain024,

@ sachinjain024 il link al repository github non è più attivo.
Andrei Kucharavy,

9

Ho sviluppato un redirector facile da usare preconfigurato chiamato Switcheroo se sei interessato:

Imposta regole di reindirizzamento personalizzate per qualsiasi richiesta http, ad esempio pagine, script, immagini, ecc. Utilizza una semplice stringa di sostituzione per farlo.


4
Open source? :)
user72923

1
Peccato che Switcheroo non supporti il ​​cambio di schemi HTTP (come indicato nell'esempio nella domanda).
Martijn,

2
Peccato che abbia bisogno del permesso di "Leggere e modificare tutti i dati sui siti Web visitati" solo per reindirizzare.
Taylan,

3

Un po 'in ritardo, ma questa estensione dovrebbe sicuramente fare il trucco: Redirector .

Ed è un redirector arbitrario .


Funziona benissimo per evitare la pagina iniziale di Facebook, Match: http?: //Www.facebook.com, Membro sostitutivo: (. *), Sostituzione: facebook.com/messages
lony

3
oh no, è stato rimosso? sembrava fantastico dagli screenshot! (regex e simili, che è ciò di cui ho bisogno)
Don Hatch,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.