Rediriger les URL dans Chrome?

37

Existe-t-il une extension à Chrome qui me permette de forcer une URL d'un domaine particulier à être redirigée vers un autre domaine?

(Par exemple, redirection http://www.google.comvers https://encrypted.google.com.)

Remarque : Je recherche un redirecteur arbitraire , pas KB SSL Enforcer, qui ne fonctionne que pour la tâche spécifique de redirection vers HTTPS.

Mehrdad
la source
Vous pouvez également envisager d'utiliser le fichier HOSTS comme une autre méthode.
Synetech
@ Synetech: Est-ce que cela redirigerait uniquement la page racine, ou quoi que ce soit avec un domaine particulier?
Mehrdad
Il redirigerait le domaine entier (ou le sous-domaine, selon le cas).
Synetech
1
@JustinBuser, il serait rediriger le navigateur de l'adresse IP d' origine à l'adresse IP spécifiée. Imaginez creuser un fossé pour rediriger l'eau. Vous creusez un fossé, ouvrez le barrage, puis l'eau va au nouvel endroit au lieu de l'endroit où elle serait allée. Je n'ai jamais parlé de 302, vous ne discutez donc que de la sémantique.
Synetech
1
Je n'avais aucune idée d' encrypted.google.com existait! Cool
tony19

Réponses:

32

J'avais construit une extension Chrome qui fait cela.

Remarque: je l'ai construit pour seulement 2 sites, juste pour le plaisir de le faire, mais il ne s'agit en aucun cas d'une qualité professionnelle ™. S'il te plait, ne me flamme pas pour un code de merde :)

Edit: mis à jour pour manifester v2, ce qui introduit certaines restrictions supplémentaires.

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

}

Pour l'installer, créez des fichiers avec les noms de fichiers mentionnés ci-dessus dans le codeblock.

entrez la description de l'image ici

Une fois les 3 fichiers créés, cliquez sur Menu Chrome → Outils → Extensions. Cliquez sur le "+" en mode développeur. Cliquez sur Load Unpacked extension et pointez sur le répertoire où sont stockés les fichiers.

entrez la description de l'image ici

Editez les fichiers nécessaires, puis désinstallez et réinstallez l'extension comme mentionné ci-dessus.

Sathyajith Bhat
la source
Omg cool! Comment puis-je l'installer? (Désolé, je n'ai aucune expérience en développement d'extensions pour Chrome, haha.)
Mehrdad,
@Mehrdad a développé la réponse
Sathyajith Bhat
Bien sûr, si vous ne envisagez pas de modifier les fichiers, j'aurais pu les
ranger
Magnifique, merci beaucoup! Cela m'apprend aussi du JavaScript! : D
Mehrdad,
Bienvenue! J'avais développé cela pour apprendre le développement de l'extension Chrome. (et pour se déplacer toux websense toux ).
Sathyajith Bhat
12

Je sais que je suis un peu en retard dans le jeu pour répondre à cette question. J'aimerais quand même répondre à cette question pour les futurs lecteurs. Jettes un coup d'oeil à

Requestly - Une extension Chrome permettant de modifier les requêtes réseau.

Actuellement, vous pouvez configurer des règles pour

  1. Rediriger une URL de demande vers une autre URL.
  2. Bloquer certaines requêtes.
  3. Remplacer une partie de l'URL par une autre chaîne. (Même toute l'URL peut être remplacée)
  4. Ajouter / Supprimer / Modifier des en- têtes dans les requêtes et réponses HTTP (s). Vous pouvez maintenant configurer les règles de modification d'en-tête uniquement pour les URL spécifiées.

Captures d'écran pour plus de compréhension:

  • Liste de règles

Liste de règles

  • Liste des types de règles

Liste des types de règles

  • Nouvelle règle de redirection

Création d'une règle de redirection

Il y a beaucoup de choses dans la feuille de route qui doivent être couvertes comme par exemple

  • Définition d'en-têtes personnalisés (terminé)
  • Changement d'agent utilisateur
  • Définition des paramètres dans la demande (Terminé) Utilisez la fonction Rediriger / Remplacer pour accomplir cela.

.. et beaucoup plus.

PS: J'ai créé ceci. Vous pouvez donc m'en vouloir si vous ne trouvez pas cela utile :)

sachinjain024
la source
La modification des en-têtes est maintenant présente dans Requestly.
sachinjain024
1
C'est une extension géniale! Je me suis connecté juste pour pouvoir vous donner un +1, j'espère que plus de gens le découvriront :)
Adi Ulici
Le support Regex est également disponible dans Requestly
sachinjain024
@ sachinjain024 le lien vers github repo est mort à partir de maintenant.
Andrei Kucharavy
9

J'ai développé un redirecteur convivial pré-packagé appelé Switcheroo si cela vous intéresse:

Configurez des règles de redirection personnalisées pour toute requête http, à savoir les pages, les scripts, les images, etc. Utilise une simple chaîne de remplacement pour le faire.

Ranjez
la source
4
Open source? :)
utilisateur72923
1
Dommage que Switcheroo ne supporte pas la commutation de schémas HTTP (comme indiqué dans l'exemple de la question).
Martijn
2
Aussi, dommage qu'il ait besoin de l'autorisation de "Lire et modifier toutes vos données sur les sites Web que vous visitez" pour rediriger vos données.
Taylan
3

Un peu tard, mais cette extension devrait sûrement faire l'affaire: Redirector .

Et c'est un redirecteur arbitraire .

utilisateur1237509
la source
Fonctionne très bien pour éviter la page de démarrage de Facebook, Match: http?: //Www.facebook.com, Remplaçant: (. *), Remplacement: facebook.com/messages
lony
3
oh non, ça a été enlevé? était superbe à partir des captures d'écran! (regexes et autres, c'est ce dont j'ai besoin)
Don Hatch