Compare commits

..

No commits in common. "230f66defadef7918f7ec4994db157b541783965" and "cdad51e8b1717a7420d23d382744201c9dd31df5" have entirely different histories.

4 changed files with 321 additions and 74 deletions

27
main.js
View File

@ -1,12 +1,11 @@
const { app, BrowserWindow, ipcMain } = require('electron') const { app, BrowserWindow, ipcMain } = require('electron')
const {clipboard} = require('electron') const { initConfig, saveConfig } = require('./src/config')
const path = require('path') const path = require('path')
const URL = require('url').URL const URL = require('url').URL
const {clipboard} = require('electron')
const { initConfig, saveConfig } = require('./src/config') const config = require('./src/config')
let ioHook = null let ioHook = null
const { session } = require('electron')
try { try {
ioHook = require('iohook') ioHook = require('iohook')
@ -53,9 +52,11 @@ function unmuteMic() {
} }
function muteMic() { function muteMic() {
console.log("Not Talking") if (selfMute === false) {
mainWindow.webContents.send('micClose', 'mic-closed') console.log("Not Talking")
mainWindow.setTitle("MIC CLOSED") mainWindow.webContents.send('micClose', 'mic-closed')
mainWindow.setTitle("MIC CLOSED")
}
} }
function createMainWindow () { function createMainWindow () {
@ -63,6 +64,7 @@ function createMainWindow () {
mainWindow = new BrowserWindow({ mainWindow = new BrowserWindow({
width: 1230, width: 1230,
height: 800, height: 800,
icon: './views/assets/icon.ico',
webPreferences: { webPreferences: {
preload: path.join(__dirname, 'src/mainLoad.js'), preload: path.join(__dirname, 'src/mainLoad.js'),
partition: 'persist:discord', partition: 'persist:discord',
@ -93,6 +95,7 @@ function createLogWindow() {
width: 700, width: 700,
height: 400, height: 400,
resizable: false, resizable: false,
icon: './views/assets/icon.ico',
webPreferences: { webPreferences: {
preload: path.join(__dirname, 'src/logLoad.js'), preload: path.join(__dirname, 'src/logLoad.js'),
nodeIntegration: false, // https://electronjs.org/docs/tutorial/security#2-do-not-enable-nodejs-integration-for-remote-content nodeIntegration: false, // https://electronjs.org/docs/tutorial/security#2-do-not-enable-nodejs-integration-for-remote-content
@ -122,6 +125,7 @@ function createSettingsWindow() {
show: true, show: true,
resizable: false, resizable: false,
alwaysOnTop:true, alwaysOnTop:true,
icon: './views/assets/icon.ico',
webPreferences: { webPreferences: {
preload: path.join(__dirname, 'src/settingsLoad.js'), preload: path.join(__dirname, 'src/settingsLoad.js'),
nodeIntegration: false, nodeIntegration: false,
@ -186,7 +190,6 @@ function setPTTKey() {
}else { }else {
console.log("ERROR: configObj did not set PTT device to mouse or keyboard.") console.log("ERROR: configObj did not set PTT device to mouse or keyboard.")
} }
ioHook.on(pttEnable, event => { ioHook.on(pttEnable, event => {
if (event[pttWatch] == configObj.key && (micPermissionGranted === true) && (isConnected === true) && (isChangingPTTKey === false)) { if (event[pttWatch] == configObj.key && (micPermissionGranted === true) && (isConnected === true) && (isChangingPTTKey === false)) {
clearTimeout(muteTimeout) clearTimeout(muteTimeout)
@ -202,7 +205,6 @@ function setPTTKey() {
} }
} }
}) })
}else { }else {
console.log("Not listening for keypresses. ioHook library error or PTT keys not set.") console.log("Not listening for keypresses. ioHook library error or PTT keys not set.")
} }
@ -256,14 +258,16 @@ app.on('web-contents-created', (event, contents) => { // https://electronjs.org/
}) })
app.on('web-contents-created', (event, contents) => { // https://electronjs.org/docs/tutorial/security#12-disable-or-limit-navigation app.on('web-contents-created', (event, contents) => { // https://electronjs.org/docs/tutorial/security#12-disable-or-limit-navigation
contents.on('will-navigate', (event, navigationUrl) => { // https://electronjs.org/docs/tutorial/security#13-disable-or-limit-creation-of-new-windows contents.on('will-navigate', (event, navigationUrl) => {
const parsedUrl = new URL(navigationUrl) const parsedUrl = new URL(navigationUrl)
console.log(`will-navigate ${navigationUrl}`) console.log(`will-navigate ${navigationUrl}`)
if (parsedUrl.origin !== 'https://discord.com/') { // Limit navigation to discordapp.com; not really relevant if (parsedUrl.origin !== 'https://discord.com/') { // Limit navigation to discordapp.com; not really relevant
event.preventDefault() event.preventDefault()
} }
}) })
})
app.on('web-contents-created', (event, contents) => { // https://electronjs.org/docs/tutorial/security#13-disable-or-limit-creation-of-new-windows
contents.on('new-window', async (event, navigationUrl) => { contents.on('new-window', async (event, navigationUrl) => {
clipboard.writeText(navigationUrl, 'selection') // I really hope this is safe to do. Could also do a little URL cleaning here to remove trackers clipboard.writeText(navigationUrl, 'selection') // I really hope this is safe to do. Could also do a little URL cleaning here to remove trackers
console.log(`URL ${navigationUrl.toString().slice(0, 20)} Copied to Clipboard`) console.log(`URL ${navigationUrl.toString().slice(0, 20)} Copied to Clipboard`)
@ -271,7 +275,6 @@ app.on('web-contents-created', (event, contents) => { // https://electronjs.org/
//event.preventDefault() // Prevents external links from opening //event.preventDefault() // Prevents external links from opening
}) })
}) })
/* ---- */ /* ---- */

342
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "discordsandbox", "name": "discordsandbox",
"version": "1.1.6", "version": "1.0.1",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "discordsandbox", "name": "discordsandbox",
"version": "1.1.6", "version": "1.0.1",
"hasInstallScript": true, "hasInstallScript": true,
"license": "GNU GENERAL PUBLIC LICENSE Version 3", "license": "GNU GENERAL PUBLIC LICENSE Version 3",
"dependencies": { "dependencies": {
@ -15,7 +15,7 @@
"iohook": "^0.7.2" "iohook": "^0.7.2"
}, },
"devDependencies": { "devDependencies": {
"electron": "^9.4.0", "electron": "^7.2.4",
"electron-builder": "^21.2.0" "electron-builder": "^21.2.0"
} }
}, },
@ -238,6 +238,29 @@
"node": ">=8.12.0" "node": ">=8.12.0"
} }
}, },
"node_modules/app-builder-lib/node_modules/debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/app-builder-lib/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/app-builder-lib/node_modules/semver": { "node_modules/app-builder-lib/node_modules/semver": {
"version": "6.3.0", "version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@ -529,6 +552,38 @@
"node": ">=8.0.0" "node": ">=8.0.0"
} }
}, },
"node_modules/builder-util-runtime/node_modules/debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/builder-util/node_modules/debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/builder-util/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/cacheable-request": { "node_modules/cacheable-request": {
"version": "6.1.0", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
@ -961,6 +1016,20 @@
"sanitize-filename": "^1.6.2" "sanitize-filename": "^1.6.2"
} }
}, },
"node_modules/dmg-builder/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/dot-prop": { "node_modules/dot-prop": {
"version": "4.2.1", "version": "4.2.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz",
@ -1013,9 +1082,9 @@
} }
}, },
"node_modules/electron": { "node_modules/electron": {
"version": "9.4.4", "version": "7.3.3",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.4.4.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-7.3.3.tgz",
"integrity": "sha512-dcPlTrMWQu5xuSm6sYV42KK/BRIqh3erM8v/WtZqaDmG7pkCeJpvw26Dgbqhdt78XmqqGiN96giEe6A3S9vpAQ==", "integrity": "sha512-PrJEsuRiaAhTDHtbH3EM+RIne+nZ6ifGChUadmtmPqHUQ+rIhf4jSi2ZN768IgBDw4SidMJiCrvQRiuDha9+Ew==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
@ -1058,6 +1127,20 @@
"node": ">=8.12.0" "node": ">=8.12.0"
} }
}, },
"node_modules/electron-builder/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/electron-publish": { "node_modules/electron-publish": {
"version": "21.2.0", "version": "21.2.0",
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-21.2.0.tgz", "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-21.2.0.tgz",
@ -1073,6 +1156,20 @@
"mime": "^2.4.4" "mime": "^2.4.4"
} }
}, },
"node_modules/electron-publish/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
"version": "7.0.3", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@ -1349,9 +1446,9 @@
} }
}, },
"node_modules/glob-parent": { "node_modules/glob-parent": {
"version": "5.1.2", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
"dependencies": { "dependencies": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
}, },
@ -1521,9 +1618,9 @@
} }
}, },
"node_modules/hosted-git-info": { "node_modules/hosted-git-info": {
"version": "2.8.9", "version": "2.8.5",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg=="
}, },
"node_modules/http-cache-semantics": { "node_modules/http-cache-semantics": {
"version": "4.0.3", "version": "4.0.3",
@ -1913,9 +2010,9 @@
} }
}, },
"node_modules/lodash": { "node_modules/lodash": {
"version": "4.17.21", "version": "4.17.19",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
@ -2022,7 +2119,7 @@
"object-assign": "^4.0.1", "object-assign": "^4.0.1",
"read-pkg-up": "^1.0.1", "read-pkg-up": "^1.0.1",
"redent": "^1.0.0", "redent": "^1.0.0",
"trim-newlines": ">=3.0.1" "trim-newlines": "^1.0.0"
}, },
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
@ -2130,9 +2227,9 @@
} }
}, },
"node_modules/normalize-url": { "node_modules/normalize-url": {
"version": "4.5.1", "version": "4.5.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
"integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=8" "node": ">=8"
@ -2536,6 +2633,20 @@
"node": ">=8.12.0" "node": ">=8.12.0"
} }
}, },
"node_modules/read-config-file/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/read-pkg": { "node_modules/read-pkg": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
@ -3071,6 +3182,20 @@
"fs-extra": "^8.1.0" "fs-extra": "^8.1.0"
} }
}, },
"node_modules/temp-file/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/term-size": { "node_modules/term-size": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
@ -3167,14 +3292,11 @@
} }
}, },
"node_modules/trim-newlines": { "node_modules/trim-newlines": {
"version": "4.0.2", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
"engines": { "engines": {
"node": ">=12" "node": ">=0.10.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/truncate-utf8-bytes": { "node_modules/truncate-utf8-bytes": {
@ -3497,9 +3619,9 @@
} }
}, },
"node_modules/y18n": { "node_modules/y18n": {
"version": "4.0.1", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
"integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"dev": true "dev": true
}, },
"node_modules/yargs": { "node_modules/yargs": {
@ -3786,6 +3908,26 @@
"temp-file": "^3.3.4" "temp-file": "^3.3.4"
}, },
"dependencies": { "dependencies": {
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
"semver": { "semver": {
"version": "6.3.0", "version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@ -4024,6 +4166,28 @@
"source-map-support": "^0.5.13", "source-map-support": "^0.5.13",
"stat-mode": "^0.3.0", "stat-mode": "^0.3.0",
"temp-file": "^3.3.4" "temp-file": "^3.3.4"
},
"dependencies": {
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
}
} }
}, },
"builder-util-runtime": { "builder-util-runtime": {
@ -4034,6 +4198,17 @@
"requires": { "requires": {
"debug": "^4.1.1", "debug": "^4.1.1",
"sax": "^1.2.4" "sax": "^1.2.4"
},
"dependencies": {
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
}
} }
}, },
"cacheable-request": { "cacheable-request": {
@ -4394,6 +4569,19 @@
"iconv-lite": "^0.5.0", "iconv-lite": "^0.5.0",
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"sanitize-filename": "^1.6.2" "sanitize-filename": "^1.6.2"
},
"dependencies": {
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
}
} }
}, },
"dot-prop": { "dot-prop": {
@ -4439,9 +4627,9 @@
"dev": true "dev": true
}, },
"electron": { "electron": {
"version": "9.4.4", "version": "7.3.3",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.4.4.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-7.3.3.tgz",
"integrity": "sha512-dcPlTrMWQu5xuSm6sYV42KK/BRIqh3erM8v/WtZqaDmG7pkCeJpvw26Dgbqhdt78XmqqGiN96giEe6A3S9vpAQ==", "integrity": "sha512-PrJEsuRiaAhTDHtbH3EM+RIne+nZ6ifGChUadmtmPqHUQ+rIhf4jSi2ZN768IgBDw4SidMJiCrvQRiuDha9+Ew==",
"dev": true, "dev": true,
"requires": { "requires": {
"@electron/get": "^1.0.1", "@electron/get": "^1.0.1",
@ -4468,6 +4656,19 @@
"sanitize-filename": "^1.6.2", "sanitize-filename": "^1.6.2",
"update-notifier": "^3.0.1", "update-notifier": "^3.0.1",
"yargs": "^13.3.0" "yargs": "^13.3.0"
},
"dependencies": {
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
}
} }
}, },
"electron-publish": { "electron-publish": {
@ -4483,6 +4684,19 @@
"fs-extra": "^8.1.0", "fs-extra": "^8.1.0",
"lazy-val": "^1.0.4", "lazy-val": "^1.0.4",
"mime": "^2.4.4" "mime": "^2.4.4"
},
"dependencies": {
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
}
} }
}, },
"emoji-regex": { "emoji-regex": {
@ -4707,9 +4921,9 @@
} }
}, },
"glob-parent": { "glob-parent": {
"version": "5.1.2", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
"requires": { "requires": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
} }
@ -4843,9 +5057,9 @@
"dev": true "dev": true
}, },
"hosted-git-info": { "hosted-git-info": {
"version": "2.8.9", "version": "2.8.5",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg=="
}, },
"http-cache-semantics": { "http-cache-semantics": {
"version": "4.0.3", "version": "4.0.3",
@ -5155,9 +5369,9 @@
} }
}, },
"lodash": { "lodash": {
"version": "4.17.21", "version": "4.17.19",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
@ -5249,7 +5463,7 @@
"object-assign": "^4.0.1", "object-assign": "^4.0.1",
"read-pkg-up": "^1.0.1", "read-pkg-up": "^1.0.1",
"redent": "^1.0.0", "redent": "^1.0.0",
"trim-newlines": ">=3.0.1" "trim-newlines": "^1.0.0"
} }
}, },
"mime": { "mime": {
@ -5330,9 +5544,9 @@
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
}, },
"normalize-url": { "normalize-url": {
"version": "4.5.1", "version": "4.5.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
"integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
"dev": true "dev": true
}, },
"npm-conf": { "npm-conf": {
@ -5647,6 +5861,19 @@
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"json5": "^2.1.0", "json5": "^2.1.0",
"lazy-val": "^1.0.4" "lazy-val": "^1.0.4"
},
"dependencies": {
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
}
} }
}, },
"read-pkg": { "read-pkg": {
@ -6100,6 +6327,19 @@
"requires": { "requires": {
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"fs-extra": "^8.1.0" "fs-extra": "^8.1.0"
},
"dependencies": {
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
}
} }
}, },
"term-size": { "term-size": {
@ -6185,9 +6425,9 @@
} }
}, },
"trim-newlines": { "trim-newlines": {
"version": "4.0.2", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==" "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
}, },
"truncate-utf8-bytes": { "truncate-utf8-bytes": {
"version": "1.0.2", "version": "1.0.2",
@ -6447,9 +6687,9 @@
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
}, },
"y18n": { "y18n": {
"version": "4.0.1", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
"integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"dev": true "dev": true
}, },
"yargs": { "yargs": {

View File

@ -1,6 +1,6 @@
{ {
"name": "discordsandbox", "name": "discordsandbox",
"version": "1.1.6", "version": "1.0.1",
"description": "Discord Sandboxed", "description": "Discord Sandboxed",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
@ -18,7 +18,7 @@
"author": "Kin-Ho Lam", "author": "Kin-Ho Lam",
"license": "GNU GENERAL PUBLIC LICENSE Version 3", "license": "GNU GENERAL PUBLIC LICENSE Version 3",
"devDependencies": { "devDependencies": {
"electron": "^9.4.0", "electron": "^7.2.4",
"electron-builder": "^21.2.0" "electron-builder": "^21.2.0"
}, },
"dependencies": { "dependencies": {
@ -28,7 +28,7 @@
}, },
"iohook": { "iohook": {
"targets": [ "targets": [
"electron-80" "electron-75"
], ],
"platforms": [ "platforms": [
"win32", "win32",

View File

@ -71,14 +71,14 @@ onload = () => {
const whiteList = [ const whiteList = [
'PATCH', // Mute/Unmute/notification/cosmetic guild changes 'PATCH', // Mute/Unmute/notification/cosmetic guild changes
'DELETE', // Leaving a guild / Deleting messages 'DELETE', // Leaving a guild / Deleting messages
'https://discord.com/api/v9/channels/', // Text channel address 'https://discord.com/api/v8/channels/', // Text channel address
'https://discord.com/api/v9/auth/login', // Login address 'https://discord.com/api/v8/auth/login', // Login address
'https://discord.com/api/v9/invites/', // Accepting guild invite 'https://discord.com/api/v8/invites/', // Accepting guild invite
'https://discord.com/api/v9/voice/regions', // Required when creating new guild 'https://discord.com/api/v8/voice/regions', // Required when creating new guild
'https://discord.com/api/v9/guilds', // Creating a guild 'https://discord.com/api/v8/guilds', // Creating a guild
'https://discord.com/api/v9/gateway', // This may be required to get past login screen if not cached locally 'https://discord.com/api/v8/gateway', // This may be required to get past login screen if not cached locally
'https://discord.com/api/v9/applications/', 'https://discord.com/api/v8/applications/',
'https://discord.com/api/v9/users/' 'https://discord.com/api/v8/users/'
] ]
const _whiteList = convertObjToString(whiteList) const _whiteList = convertObjToString(whiteList)
@ -86,6 +86,7 @@ onload = () => {
// Insert JS to detect when discord finishes loading // Insert JS to detect when discord finishes loading
webview.addEventListener('did-finish-load', function() { webview.addEventListener('did-finish-load', function() {
// Discord does not do client-side hashing
webview.executeJavaScript(` webview.executeJavaScript(`
(function(open, send) { (function(open, send) {
let whiteList = ${_whiteList} let whiteList = ${_whiteList}
@ -158,7 +159,10 @@ onload = () => {
`) `)
webview.executeJavaScript(` webview.executeJavaScript(`
<<<<<<< HEAD
=======
let dlButton = document.querySelectorAll('[aria-label="Download Apps"]') let dlButton = document.querySelectorAll('[aria-label="Download Apps"]')
>>>>>>> dev
t = setInterval(function(){ t = setInterval(function(){
let dlButton = document.querySelectorAll('[aria-label="Servers sidebar"]') let dlButton = document.querySelectorAll('[aria-label="Servers sidebar"]')
if(dlButton.length != 0) { if(dlButton.length != 0) {