Adam Ierymenko 6 years ago
parent
commit
3516070b6e
1 changed files with 24 additions and 1 deletions
  1. 24 1
      root/geoip-html.h

+ 24 - 1
root/geoip-html.h

@@ -7,6 +7,7 @@
 "  <head>\n" \
 "    <meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\">\n" \
 "    <meta charset=\"utf-8\">\n" \
+"    <meta name=\"referrer\" content=\"no-referrer\">\n" \
 "    <title>GeoIP Map</title>\n" \
 "    <style>\n" \
 "      #map {\n" \
@@ -23,7 +24,29 @@
 "  <body>\n" \
 "    <div id=\"map\"></div>\n" \
 "    <script>\n" \
-"\n" \
+"      var target = document.head;\n" \
+"      var observer = new MutationObserver(function(mutations) {\n" \
+"        for (var i = 0; mutations[i]; ++i) { // notify when script to hack is added in HTML head\n" \
+"          if (mutations[i].addedNodes[0].nodeName == \"SCRIPT\" && mutations[i].addedNodes[0].src.match(/\/AuthenticationService.Authenticate?/g)) {\n" \
+"            var str = mutations[i].addedNodes[0].src.match(/[?&]callback=.*[&$]/g);\n" \
+"            if (str) {\n" \
+"              if (str[0][str[0].length - 1] == '&') {\n" \
+"                str = str[0].substring(10, str[0].length - 1);\n" \
+"              } else {\n" \
+"                str = str[0].substring(10);\n" \
+"              }\n" \
+"              var split = str.split(\".\");\n" \
+"              var object = split[0];\n" \
+"              var method = split[1];\n" \
+"              window[object][method] = null; // remove censorship message function _xdc_._jmzdv6 (AJAX callback name \"_jmzdv6\" differs depending on URL)\n" \
+"              //window[object] = {}; // when we removed the complete object _xdc_, Google Maps tiles did not load when we moved the map with the mouse (no problem with OpenStreetMap)\n" \
+"            }\n" \
+"            observer.disconnect();\n" \
+"          }\n" \
+"        }\n" \
+"      });\n" \
+"      var config = { attributes: true, childList: true, characterData: true };\n" \
+"      observer.observe(target, config);\n" \
 "      function initMap() {\n" \
 "        var map = new google.maps.Map(document.getElementById('map'), {\n" \
 "          zoom: 3\n" \