frontline

A web debugging proxy in Node. Also can be used to create fake JSON REST webservices.

Frontline

  • You can overwrite headers being returned for a given URL
  • You can change the body being returned by a given URL
  • You can find and replace all urls on the page
  • You can quickly build fake JSON data services for proof of concepts in AJAX

To help intercept, change and debug web pages for web development. Frontline is a transparent web debugging proxy that can be used for any browser.

Currently Frontline only supports overriding/modifying a single Url.

  • Install Node.
  • npm install frontline
  • Open Rules.json and add some rules (see Rules.json section below)
  • Run node frontline.js
  • Open your browser of choice. In this example we will use Chrome. In Chrome Open Settings, click Show advanced settings... at the bottom. Change Proxy Settings. Set the proxy server to be 127.0.0.1 and set the port to 8050.
  • You can modify the Rules.json without having to restart the Proxy Server

All available options are listed below. Make sure you keep the format of this file in true Json format. I.e. keys enclosed in quotation marks.

{
    "url": "websitetomodify.com",
    "headers": {
        "Content-Type": "application/x-www-form-urlencoded",
        "Some-Custom-Header": "My custom value"
    },
    "body": "Hello World",
    "replaceUrls": {
        "oldUrl": "replacethisurl.com",
        "newUrl": "withthisurl.com"
    }
}
KeyValue
urlSet this URL to the URL that you want to modify. Frontline will ignore all other URLs.
headersSpecifying any headers here will override any headers returned by the original server.
bodySpecifying any body will override any body returned by the original server.
oldUrlSet this to the URL you want to find
newUrlSet this to the URL you want to replace with
{
    proxyServer: {
        port: 8050
    },
    paths: {
        rules: "Rules.json"
    }
}
KeyValue
portThe port that the proxy server runs on.
rulesThe path to the rules file.