Skip to main content

Chrome Custom URL Redirector Extension

Working as a IT professional sometimes you need to access remote systems using vpn connection. Throughout the vpn connection dns records and hosts records may be overwritten and control panel url addresses are inaccessible. To overcome this you need to use custom browser extension like greasemonkey, tempermonkey etc.

But i don't want to use these third party extensions so i wrote a simple chrome plugin which translates url addresses to ip addresses.

You need two files, manifest.json and background.js

Examples of these files are(add urls and ip addresses to urlDict variable as required!):

manifest.json:
{
  "name": "Custom URL Redirector",
  "version": "0.1",
  "description": "Checks URL and redirects as required.",
  "manifest_version": 2,
  "background": {
    "scripts": ["background.js"]
  },
  "permissions":["http://*/*","https://*/*","webRequest","webRequestBlocking","tabs"]
}

background.js:
chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    var urlDict = {
      "abc.com" : "1.1.1.1",
      "def.net" : "2.2.2.2",
      "ghi.org" : "3.3.3.3"
    };
    for(var key in urlDict) {
      if (details.url.indexOf(key) !== -1) {
        var re = new RegExp(key, "g");
        redirURL = details.url.replace(re, urlDict[key])
        return {redirectUrl: redirURL};
      }
    }
  },
  {urls: ["<all_urls>"]},
  ["blocking"]);

Save these two files in the same folder. And import them from chrome's extension page. Turn on developer mode , click load unpacked extension and select the folder containing these two files.

Now you can use the extension. Then all requests made to abc.com would be redirected to 1.1.1.1

Comments

Popular posts from this blog