66 lines
1.9 KiB
JavaScript
66 lines
1.9 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'),
|
|
contextIsolation: false, // Allows easier access to contentWindow
|
|
nodeIntegration: true,
|
|
nodeIntegrationInSubFrames: true,
|
|
webSecurity: false, // CRITICAL: Allows cross-origin history control
|
|
sandbox: false, // Disables the internal Electron sandbox
|
|
webviewTag: true, // Add this!
|
|
}
|
|
})
|
|
|
|
win.webContents.session.setUserAgent(androidUA)
|
|
win.maximize() // Maximize
|
|
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()
|
|
}
|
|
}) |