securityUtils.js 790 B

12345678910111213141516171819202122232425262728293031
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.saferShellOpenExternal = saferShellOpenExternal;
  6. var _electron = require("electron");
  7. var _url = _interopRequireDefault(require("url"));
  8. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  9. var BLOCKED_URL_PROTOCOLS = ['file:', 'javascript:', 'vbscript:', 'data:', 'about:', 'chrome:', 'ms-cxh:', 'ms-cxh-full:', 'ms-word:'];
  10. function saferShellOpenExternal(externalUrl) {
  11. var parsedUrl;
  12. try {
  13. parsedUrl = _url["default"].parse(externalUrl);
  14. } catch (_) {
  15. return;
  16. }
  17. if (parsedUrl.protocol == null || BLOCKED_URL_PROTOCOLS.includes(parsedUrl.protocol.toLowerCase())) {
  18. return;
  19. }
  20. _electron.shell.openExternal(externalUrl);
  21. }