Files
risa-web/main.js
2026-04-28 20:47:06 -04:00

60 lines
1.5 KiB
JavaScript

const { app, BrowserWindow, session } = require('electron/main')
const path = require('node:path')
const androidUA = 'Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.164 Mobile Safari/537.36'
const createWindow = () => {
const win = new BrowserWindow({
width: 1280,
height: 800,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
win.webContents.session.setUserAgent(androidUA)
win.loadFile('src/index.html')
}
app.whenReady().then(() => {
const sess = session.defaultSession
sess.webRequest.onBeforeSendHeaders((details, callback) => {
details.requestHeaders['User-Agent'] = androidUA;
details.requestHeaders['Sec-CH-UA-Mobile'] = '?1';
details.requestHeaders['Sec-CH-UA-Platform'] = '"Android"';
callback({ requestHeaders: details.requestHeaders });
});
sess.webRequest.onHeadersReceived((details, callback) => {
const responseHeaders = { ...details.responseHeaders };
const headersToRemove = ['x-frame-options', 'content-security-policy'];
Object.keys(responseHeaders).forEach(header => {
if (headersToRemove.includes(header.toLowerCase())) {
delete responseHeaders[header];
}
});
callback({
cancel: false,
responseHeaders: responseHeaders
});
});
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})