diff --git a/src/hooks/webui/index.js b/src/hooks/webui/index.js index 8f02697ff..b5124f9b2 100644 --- a/src/hooks/webui/index.js +++ b/src/hooks/webui/index.js @@ -1,6 +1,6 @@ import { logo, logger, store } from '../../utils' import { join } from 'path' -import { screen, BrowserWindow, ipcMain, app } from 'electron' +import { screen, BrowserWindow, ipcMain, app, session } from 'electron' import serve from 'electron-serve' serve({ scheme: 'webui', directory: `${__dirname}/app` }) @@ -16,7 +16,8 @@ const createWindow = () => { width: store.get('window.width', dimensions.width < 1440 ? dimensions.width : 1440), height: store.get('window.height', dimensions.height < 900 ? dimensions.height : 900), webPreferences: { - preload: join(__dirname, 'preload.js') + preload: join(__dirname, 'preload.js'), + webSecurity: false } }) @@ -56,6 +57,11 @@ export default async function (ctx) { window.webContents.send('config.changed', store.store) }) + session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => { + delete details.requestHeaders['Origin'] + callback({ cancel: false, requestHeaders: details.requestHeaders }) // eslint-disable-line + }) + return new Promise(resolve => { window.on('ready-to-show', () => { logger.info('WebUI window ready') diff --git a/src/utils/daemon.js b/src/utils/daemon.js index 077e63d72..603fb8ed9 100644 --- a/src/utils/daemon.js +++ b/src/utils/daemon.js @@ -1,8 +1,6 @@ import IPFSFactory from 'ipfsd-ctl' -import logger from './logger' import { showConnFailureErrorMessage } from './errors' import { join } from 'path' -import fs from 'fs-extra' import { spawnSync } from 'child_process' import findExecutable from 'ipfsd-ctl/src/utils/find-ipfs-executable' @@ -16,30 +14,6 @@ function repoFsck (path) { }) } -async function configure (ipfsd) { - const cfgFile = join(ipfsd.repoPath, 'config') - const cfg = await fs.readJSON(cfgFile) - - let origins = [] - try { - origins = cfg.API.HTTPHeaders['Access-Control-Allow-Origin'] - } catch (e) { - logger.warn(e) - } - - if (!Array.isArray(origins)) { - origins = [] - } - - if (!origins.includes('webui://-')) origins.push('webui://-') - if (!origins.includes('https://webui.ipfs.io')) origins.push('https://webui.ipfs.io') - - cfg.API.HTTPHeaders['Access-Control-Allow-Origin'] = origins - cfg.API.HTTPHeaders['Access-Control-Allow-Methods'] = ['PUT', 'GET', 'POST'] - - await fs.writeJSON(cfgFile, cfg) -} - async function spawn ({ type, path, keysize }) { const factory = IPFSFactory.create({ type: type }) @@ -79,7 +53,6 @@ async function start (ipfsd, { flags }) { export default async function (opts) { const ipfsd = await spawn(opts) - await configure(ipfsd) if (!ipfsd.started) { await start(ipfsd, opts)