123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- /******/ (function(modules) { // webpackBootstrap
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function(exports, name, getter) {
- /******/ if(!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
- /******/ }
- /******/ };
- /******/
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = function(exports) {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/
- /******/ // create a fake namespace object
- /******/ // mode & 1: value is a module id, require it
- /******/ // mode & 2: merge all properties of value into the ns
- /******/ // mode & 4: return value when already ns object
- /******/ // mode & 8|1: behave like require
- /******/ __webpack_require__.t = function(value, mode) {
- /******/ if(mode & 1) value = __webpack_require__(value);
- /******/ if(mode & 8) return value;
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
- /******/ var ns = Object.create(null);
- /******/ __webpack_require__.r(ns);
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
- /******/ return ns;
- /******/ };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function(module) {
- /******/ var getter = module && module.__esModule ?
- /******/ function getDefault() { return module['default']; } :
- /******/ function getModuleExports() { return module; };
- /******/ __webpack_require__.d(getter, 'a', getter);
- /******/ return getter;
- /******/ };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "";
- /******/
- /******/
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__(__webpack_require__.s = "./src/www/injectCSP.ts");
- /******/ })
- /************************************************************************/
- /******/ ({
- /***/ "./node_modules/csp-parse/index.js":
- /*!*****************************************!*\
- !*** ./node_modules/csp-parse/index.js ***!
- \*****************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nfunction Policy(policy) {\n // Allow empty policies\n if (!policy) {\n this.raw = '';\n this.directives = {};\n return this;\n }\n\n policy = policy.toLowerCase();\n\n this.raw = policy;\n this.directives = {};\n\n var directives = this.raw.split(';');\n for (var i = 0; i < directives.length; ++i) {\n var directive = directives[i].trim();\n var tokens = directive.split(/\\s+/);\n\n var name = tokens[0];\n if (!name) {\n continue;\n }\n var values = tokens.slice(1, tokens.length);\n this.directives[name] = values.join(' ');\n }\n return this;\n}\n\nPolicy.prototype.get = function(directive) {\n if (!this.directives[directive])\n return '';\n return this.directives[directive];\n};\n\nPolicy.prototype.add = function(directive, value) {\n if (!this.directives[directive]) {\n this.directives[directive] = value;\n } else {\n this.directives[directive] += ' ' + value;\n }\n return this.directives[directive];\n};\n\nPolicy.prototype.set = function(directive, value) {\n if (!value) {\n delete this.directives[directive];\n return;\n }\n this.directives[directive] = value;\n return this.directives[directive];\n};\n\nPolicy.prototype.remove = function(directive, value) {\n if (!this.directives[directive]) {\n return;\n } else {\n var directiveValues = this.directives[directive].split(' ');\n var index = directiveValues.indexOf(value);\n if (index > -1) {\n directiveValues.splice(index, 1);\n this.directives[directive] = directiveValues.join(' ');\n }\n }\n};\n\nPolicy.prototype.toString = Policy.prototype.string = function() {\n var out = '';\n for (var directive in this.directives) {\n if (this.directives[directive]) {\n out += directive + ' ' + this.directives[directive] + '; ';\n }\n }\n return out.trim();\n};\n\nPolicy.prototype.toPrettyString = Policy.prototype.prettyString = function() {\n var out = '';\n for (var directive in this.directives) {\n if (this.directives[directive]) {\n out += directive+'\\n\\t'+this.directives[directive]+';\\n';\n }\n }\n return out.substring(0,out.length-1);\n};\n\nmodule.exports = Policy;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NwLXBhcnNlL2luZGV4LmpzPzlhZGQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSxvQ0FBb0M7QUFDcEMsaUJBQWlCLHVCQUF1QjtBQUN4QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOERBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NzcC1wYXJzZS9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gUG9saWN5KHBvbGljeSkge1xuICAvLyBBbGxvdyBlbXB0eSBwb2xpY2llc1xuICBpZiAoIXBvbGljeSkge1xuICAgIHRoaXMucmF3ID0gJyc7XG4gICAgdGhpcy5kaXJlY3RpdmVzID0ge307XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwb2xpY3kgPSBwb2xpY3kudG9Mb3dlckNhc2UoKTtcblxuICB0aGlzLnJhdyA9IHBvbGljeTtcbiAgdGhpcy5kaXJlY3RpdmVzID0ge307XG5cbiAgdmFyIGRpcmVjdGl2ZXMgPSB0aGlzLnJhdy5zcGxpdCgnOycpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGRpcmVjdGl2ZXMubGVuZ3RoOyArK2kpIHtcbiAgICB2YXIgZGlyZWN0aXZlID0gZGlyZWN0aXZlc1tpXS50cmltKCk7XG4gICAgdmFyIHRva2VucyA9IGRpcmVjdGl2ZS5zcGxpdCgvXFxzKy8pO1xuXG4gICAgdmFyIG5hbWUgPSB0b2tlbnNbMF07XG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgdmFyIHZhbHVlcyA9IHRva2Vucy5zbGljZSgxLCB0b2tlbnMubGVuZ3RoKTtcbiAgICB0aGlzLmRpcmVjdGl2ZXNbbmFtZV0gPSB2YWx1ZXMuam9pbignICcpO1xuICB9XG4gIHJldHVybiB0aGlzO1xufVxuXG5Qb2xpY3kucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uKGRpcmVjdGl2ZSkge1xuICBpZiAoIXRoaXMuZGlyZWN0aXZlc1tkaXJlY3RpdmVdKVxuICAgIHJldHVybiAnJztcbiAgcmV0dXJuIHRoaXMuZGlyZWN0aXZlc1tkaXJlY3RpdmVdO1xufTtcblxuUG9saWN5LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbihkaXJlY3RpdmUsIHZhbHVlKSB7XG4gIGlmICghdGhpcy5kaXJlY3RpdmVzW2RpcmVjdGl2ZV0pIHtcbiAgICB0aGlzLmRpcmVjdGl2ZXNbZGlyZWN0aXZlXSA9IHZhbHVlO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuZGlyZWN0aXZlc1tkaXJlY3RpdmVdICs9ICcgJyArIHZhbHVlO1xuICB9XG4gIHJldHVybiB0aGlzLmRpcmVjdGl2ZXNbZGlyZWN0aXZlXTtcbn07XG5cblBvbGljeS5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24oZGlyZWN0aXZlLCB2YWx1ZSkge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgZGVsZXRlIHRoaXMuZGlyZWN0aXZlc1tkaXJlY3RpdmVdO1xuICAgIHJldHVybjtcbiAgfVxuICB0aGlzLmRpcmVjdGl2ZXNbZGlyZWN0aXZlXSA9IHZhbHVlO1xuICByZXR1cm4gdGhpcy5kaXJlY3RpdmVzW2RpcmVjdGl2ZV07XG59O1xuXG5Qb2xpY3kucHJvdG90eXBlLnJlbW92ZSA9IGZ1bmN0aW9uKGRpcmVjdGl2ZSwgdmFsdWUpIHtcbiAgaWYgKCF0aGlzLmRpcmVjdGl2ZXNbZGlyZWN0aXZlXSkge1xuICAgIHJldHVybjtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZGlyZWN0aXZlVmFsdWVzID0gdGhpcy5kaXJlY3RpdmVzW2RpcmVjdGl2ZV0uc3BsaXQoJyAnKTtcbiAgICB2YXIgaW5kZXggPSBkaXJlY3RpdmVWYWx1ZXMuaW5kZXhPZih2YWx1ZSk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGRpcmVjdGl2ZVZhbHVlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgdGhpcy5kaXJlY3RpdmVzW2RpcmVjdGl2ZV0gPSBkaXJlY3RpdmVWYWx1ZXMuam9pbignICcpO1xuICAgIH1cbiAgfVxufTtcblxuUG9saWN5LnByb3RvdHlwZS50b1N0cmluZyA9IFBvbGljeS5wcm90b3R5cGUuc3RyaW5nID0gZnVuY3Rpb24oKSB7XG4gIHZhciBvdXQgPSAnJztcbiAgZm9yICh2YXIgZGlyZWN0aXZlIGluIHRoaXMuZGlyZWN0aXZlcykge1xuICAgIGlmICh0aGlzLmRpcmVjdGl2ZXNbZGlyZWN0aXZlXSkge1xuICAgICAgb3V0ICs9IGRpcmVjdGl2ZSArICcgJyArIHRoaXMuZGlyZWN0aXZlc1tkaXJlY3RpdmVdICsgJzsgJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG91dC50cmltKCk7XG59O1xuXG5Qb2xpY3kucHJvdG90eXBlLnRvUHJldHR5U3RyaW5nID0gUG9saWN5LnByb3RvdHlwZS5wcmV0dHlTdHJpbmcgPSBmdW5jdGlvbigpIHtcbiAgdmFyIG91dCA9ICcnO1xuICBmb3IgKHZhciBkaXJlY3RpdmUgaW4gdGhpcy5kaXJlY3RpdmVzKSB7XG4gICAgaWYgKHRoaXMuZGlyZWN0aXZlc1tkaXJlY3RpdmVdKSB7XG4gICAgICBvdXQgKz0gZGlyZWN0aXZlKydcXG5cXHQnK3RoaXMuZGlyZWN0aXZlc1tkaXJlY3RpdmVdKyc7XFxuJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG91dC5zdWJzdHJpbmcoMCxvdXQubGVuZ3RoLTEpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBQb2xpY3k7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/csp-parse/index.js\n");
- /***/ }),
- /***/ "./src/www/injectCSP.ts":
- /*!******************************!*\
- !*** ./src/www/injectCSP.ts ***!
- \******************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar csp_parse_1 = __importDefault(__webpack_require__(/*! csp-parse */ \"./node_modules/csp-parse/index.js\"));\nvar defaultPolicyStr = 'default-src \"self\" data: gap: https://ssl.gstatic.com \"unsafe-eval\"; style-src \"self\" \"unsafe-inline\"; media-src *; img-src \"self\" data: content:;';\nvar existingPolicyEl = document.querySelector('meta[http-equiv=\"Content-Security-Policy\"]');\nvar exstingPolicyStr = existingPolicyEl && existingPolicyEl.getAttribute('content');\nif (existingPolicyEl)\n existingPolicyEl.remove();\nvar policyEl = document.createElement('meta');\npolicyEl.setAttribute('http-equiv', 'Content-Security-Policy');\npolicyEl.setAttribute('content', exstingPolicyStr || defaultPolicyStr);\nvar policy = new csp_parse_1.default(policyEl.getAttribute('content'));\npolicy.add('default-src', '*');\npolicyEl.setAttribute('content', policy.toString());\ndocument.head.appendChild(policyEl);\nconsole.log(\"Set Content Security Policy:\", policy.toString());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvd3d3L2luamVjdENTUC50cz83Yzk1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkdBQStCO0FBRS9CLElBQU0sZ0JBQWdCLEdBQ3BCLG9KQUFvSixDQUFDO0FBQ3ZKLElBQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FDN0MsNENBQTRDLENBQzdDLENBQUM7QUFDRixJQUFNLGdCQUFnQixHQUNwQixnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDL0QsSUFBSSxnQkFBZ0I7SUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUVoRCxJQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hELFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFDL0QsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsQ0FBQztBQUN2RSxJQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQVcsQ0FBQyxDQUFDO0FBQ3RFLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQy9CLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ3BELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXBDLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMiLCJmaWxlIjoiLi9zcmMvd3d3L2luamVjdENTUC50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQb2xpY3kgZnJvbSAnY3NwLXBhcnNlJztcblxuY29uc3QgZGVmYXVsdFBvbGljeVN0ciA9XG4gICdkZWZhdWx0LXNyYyBcInNlbGZcIiBkYXRhOiBnYXA6IGh0dHBzOi8vc3NsLmdzdGF0aWMuY29tIFwidW5zYWZlLWV2YWxcIjsgc3R5bGUtc3JjIFwic2VsZlwiIFwidW5zYWZlLWlubGluZVwiOyBtZWRpYS1zcmMgKjsgaW1nLXNyYyBcInNlbGZcIiBkYXRhOiBjb250ZW50OjsnO1xuY29uc3QgZXhpc3RpbmdQb2xpY3lFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTE1ldGFFbGVtZW50PihcbiAgJ21ldGFbaHR0cC1lcXVpdj1cIkNvbnRlbnQtU2VjdXJpdHktUG9saWN5XCJdJyxcbik7XG5jb25zdCBleHN0aW5nUG9saWN5U3RyID1cbiAgZXhpc3RpbmdQb2xpY3lFbCAmJiBleGlzdGluZ1BvbGljeUVsLmdldEF0dHJpYnV0ZSgnY29udGVudCcpO1xuaWYgKGV4aXN0aW5nUG9saWN5RWwpIGV4aXN0aW5nUG9saWN5RWwucmVtb3ZlKCk7XG5cbmNvbnN0IHBvbGljeUVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpO1xucG9saWN5RWwuc2V0QXR0cmlidXRlKCdodHRwLWVxdWl2JywgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5Jyk7XG5wb2xpY3lFbC5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnQnLCBleHN0aW5nUG9saWN5U3RyIHx8IGRlZmF1bHRQb2xpY3lTdHIpO1xuY29uc3QgcG9saWN5ID0gbmV3IFBvbGljeShwb2xpY3lFbC5nZXRBdHRyaWJ1dGUoJ2NvbnRlbnQnKSBhcyBzdHJpbmcpO1xucG9saWN5LmFkZCgnZGVmYXVsdC1zcmMnLCAnKicpO1xucG9saWN5RWwuc2V0QXR0cmlidXRlKCdjb250ZW50JywgcG9saWN5LnRvU3RyaW5nKCkpO1xuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChwb2xpY3lFbCk7XG5cbmNvbnNvbGUubG9nKGBTZXQgQ29udGVudCBTZWN1cml0eSBQb2xpY3k6YCwgcG9saWN5LnRvU3RyaW5nKCkpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/www/injectCSP.ts\n");
- /***/ })
- /******/ });
|