This commit is contained in:
2026-03-25 14:14:07 +01:00
parent d6b31e2ef7
commit a0073b4fb1
10368 changed files with 2214340 additions and 0 deletions

113
APP/nexus-remote/main.js Normal file
View File

@@ -0,0 +1,113 @@
const electron = require('electron');
const { app, BrowserWindow, desktopCapturer } = electron;
const ipcMain = electron.ipcMain;
const Menu = electron.Menu;
const globalShortcut = electron.globalShortcut;
const path = require('path');
const os = require('os');
const fs = require('fs');
let mainWindow;
let hardKillTriggered = false;
app.whenReady().then(() => {
Menu.setApplicationMenu(null);
mainWindow = new BrowserWindow({
width: 1300,
height: 820,
minWidth: 800,
minHeight: 500,
title: 'Nexus AzA Remote',
backgroundColor: '#0a0a0a',
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
},
});
mainWindow.loadFile('index.html');
ipcMain.handle('get-sources', async () => {
const sources = await desktopCapturer.getSources({
types: ['screen'],
thumbnailSize: { width: 1, height: 1 },
});
return sources.map((s) => ({ id: s.id, name: s.name }));
});
ipcMain.handle('save-credentials', async (_e, id, key) => {
const desktop = path.join(os.homedir(), 'Desktop');
const filePath = path.join(desktop, 'Nexus_AzA_Zugangsdaten.txt');
const content =
`-----------------------------------------
NEXUS AzA REMOTE - DEINE ZUGANGSDATEN
-----------------------------------------
Deine ID: ${id}
Sicherheits-Key: ${key}
SO VERBINDEST DU DICH:
1. Oeffne Nexus Remote auf dem anderen PC
2. Gib die obige ID als "Remote ID" ein
3. Gib den obigen Key als "Remote Key" ein
4. Klicke "Verbinden"
5. Die Verbindung wird gespeichert!
Beim naechsten Mal einfach "Verbinden"
klicken ID und Key sind gespeichert.
SICHERHEIT:
- Gib diese Daten nur an Personen weiter,
denen du vertraust.
- ESC = Verbindung trennen
- Ctrl+Alt+K = sofortiger Notaus
-----------------------------------------`;
try { fs.writeFileSync(filePath, content, 'utf-8'); } catch {}
return filePath;
});
ipcMain.on('set-always-on-top', (_e, val) => {
if (mainWindow && !mainWindow.isDestroyed()) {
mainWindow.setAlwaysOnTop(val);
}
});
ipcMain.on('cleanup-done', () => {
globalShortcut.unregisterAll();
app.exit(0);
});
globalShortcut.register('CommandOrControl+Alt+K', () => {
hardKillTriggered = true;
if (mainWindow && !mainWindow.isDestroyed()) {
mainWindow.webContents.send('hard-kill');
setTimeout(() => {
globalShortcut.unregisterAll();
app.exit(0);
}, 1200);
} else {
globalShortcut.unregisterAll();
app.exit(0);
}
});
globalShortcut.register('Escape', () => {
if (mainWindow && !mainWindow.isDestroyed()) {
mainWindow.webContents.send('kill-switch');
}
});
mainWindow.on('close', () => {
if (!mainWindow.isDestroyed()) {
mainWindow.webContents.send('hard-kill');
}
});
});
app.on('will-quit', () => {
globalShortcut.unregisterAll();
});
app.on('window-all-closed', () => {
globalShortcut.unregisterAll();
app.exit(0);
});