[{
  "name": "TlsPassthru",
  "description": "Do not perform SSL interception for certificate-pinned domains",
  "url": "https://getbubblenow.com/apps/passthru",
  "template": true,
  "enabled": true,
  "priority": 1000000,
  "canPrime": false,
  "dataConfig": {
    "dataDriver": "bubble.app.passthru.TlsPassthruAppDataDriver",
    "presentation": "none",
    "configDriver": "bubble.app.passthru.TlsPassthruAppConfigDriver",
    "configFields": [
      {"name": "passthruFqdn", "type": "hostname", "truncate": false},
      {"name": "feedName", "truncate": false},
      {"name": "feedUrl", "type": "http_url"}
    ],
    "configViews": [{
      "name": "manageDomains",
      "scope": "app",
      "root": "true",
      "fields": ["passthruFqdn"],
      "actions": [
        {"name": "removeFqdn", "index": 10},
        {
          "name": "addFqdn", "scope": "app", "index": 10,
          "params": ["passthruFqdn"],
          "button": "addFqdn"
        }
      ]
    }, {
      "name": "manageFeeds",
      "scope": "app",
      "root": "true",
      "fields": ["feedName", "feedUrl"],
      "actions": [
        {"name": "removeFeed", "index": 10},
        {
          "name": "addFeed", "scope": "app", "index": 10,
          "params": ["feedUrl"],
          "button": "addFeed"
        }
      ]
    }]
  },
  "children": {
    "AppSite": [{
      "name": "All_Sites",
      "url": "*",
      "description": "All websites",
      "template": true
    }],
    "AppRule": [{
      "name": "passthru",
      "template": true,
      "driver": "TlsPassthruRuleDriver",
      "priority": -1000000,
      "config": {
        "fqdnList": [],
        "feedList": [{
          "feedUrl": "https://raw.githubusercontent.com/getbubblenow/bubble-filter-lists/master/tls_passthru.txt"
        }]
      }
    }],
    "AppMessage": [{
      "locale": "en_US",
      "messages": [
        {"name": "name", "value": "DirectConnect"},
        {"name": "icon", "value": "classpath:models/apps/passthru/passthru-icon.svg"},
        {"name": "summary", "value": "Network Bypass"},
        {"name": "description", "value": "Do not perform SSL interception for certificate-pinned domains"},

        {"name": "config.view.manageDomains", "value": "Manage Bypass Domains"},
        {"name": "config.view.manageFeeds", "value": "Manage Bypass Domain Feeds"},
        {"name": "config.field.passthruFqdn", "value": "Domain"},
        {"name": "config.field.passthruFqdn.description", "value": "Bypass traffic interception for this hostname"},
        {"name": "config.field.feedName", "value": "Name"},
        {"name": "config.field.feedUrl", "value": "Bypass Domains List URL"},
        {"name": "config.field.feedUrl.description", "value": "URL returning a list of bypass domains and/or hostnames, one per line"},
        {"name": "config.action.addFqdn", "value": "Add New Bypass Domain"},
        {"name": "config.button.addFqdn", "value": "Add"},
        {"name": "config.action.removeFqdn", "value": "Remove"},
        {"name": "config.action.addFeed", "value": "Add New Bypass Domain Feed"},
        {"name": "config.button.addFeed", "value": "Add"},
        {"name": "config.action.removeFeed", "value": "Remove"}
      ]
    }]
  }
}]