From e8621c257d1682eaf0607a8b0a09d4dc42971143 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Fri, 20 May 2022 21:02:16 +0200 Subject: [PATCH] add guard code modal --- assets/depot-downloader/DepotDownloader.dll | Bin 102382 -> 103918 bytes assets/depot-downloader/DepotDownloader.exe | Bin 149504 -> 150016 bytes assets/depot-downloader/DepotDownloader.pdb | Bin 33645 -> 33645 bytes .../depot-downloader/ref/DepotDownloader.dll | Bin 0 -> 24564 bytes src/main/ipcs/bs-download-ipcs.ts | 36 +++--------------- src/main/preload.ts | 4 +- src/main/services/bs-installer.service.ts | 8 +++- .../modal-types/guard-modal.component.tsx | 28 ++++++++++++++ .../components/modal/modal.component.tsx | 2 + .../services/bs-downloader.service.ts | 9 ++++- src/renderer/services/modale.service.ts | 1 + 11 files changed, 52 insertions(+), 36 deletions(-) create mode 100644 assets/depot-downloader/ref/DepotDownloader.dll create mode 100644 src/renderer/components/modal/modal-types/guard-modal.component.tsx diff --git a/assets/depot-downloader/DepotDownloader.dll b/assets/depot-downloader/DepotDownloader.dll index 93041c3776e17aa573b97416866bf2b1958e0608..77ef040d9042d197261e635a137a06e238cdba49 100644 GIT binary patch delta 20027 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 WEsDkDCj~buw}q@AKa!?2<^KbqnVK&E delta 19030 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 diff --git a/assets/depot-downloader/DepotDownloader.exe b/assets/depot-downloader/DepotDownloader.exe index f0a7af47991784f9277462b5f8f132f41a5ec09e..85080ee87070777cbc4020f1ff9572f27d4d163f 100644 GIT binary patch delta 12299 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 V$wkosUp6ONVVA^Pbgp&D^?yEsJVgKi delta 12087 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 U(G34!PPD`G5^vMvtqZRI1r&addH?_b diff --git a/assets/depot-downloader/DepotDownloader.pdb b/assets/depot-downloader/DepotDownloader.pdb index 7639db06cf3aab4df738a1b7273f7bdac0b65502..76d32ddbd22542e4c45a27ac32a32cc4bf05e1a2 100644 GIT binary patch delta 12315 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 QNPnbTU_b^S_X30e1B@{qo&W#< diff --git a/assets/depot-downloader/ref/DepotDownloader.dll b/assets/depot-downloader/ref/DepotDownloader.dll new file mode 100644 index 0000000000000000000000000000000000000000..74206ceb50cf8de531797f1310dc82c9ac535265 GIT binary patch literal 24564 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 { BSInstallerService.getInstance().downloadBsVersion(args); - return; - const DEPOT_DOWNLOADER_PATH = path.join(UtilsService.getInstance().getAssetsPath(), 'depot-downloader', DEPOT_DOWNLOADER_EXE); - console.log(UtilsService.getInstance().getAssetsPath()); - console.log(DEPOT_DOWNLOADER_PATH); - console.log(args.cwd); - UtilsService.getInstance().createFolderIfNotExist(args.cwd); - PROCESS = spawn(DEPOT_DOWNLOADER_PATH, [`-app ${args.app}`, `-depot ${args.depot}`, `-manifest ${args.manifest}`, `-username ${args.username}`, `-dir ${args.folder}`, args.stay ? `-remember-password` : ''], {shell: true, cwd: args.cwd}); - - PROCESS.stdout.on('data', data => { - - const out: string[] = data.toString().split('|'); - console.log(out); - - if(out[0] === "[Progress]"){ event.reply('bs-download.progress', out[1]); } - else if(out[0] === "[Password]"){ event.reply('bs-download.not-connected', args.bsVersion); PROCESS.kill(); } - else if(out[0] === "[2FA]"){ event.reply('bs-download.ask-2fa'); } - else if(out[0] === "[Guard]"){ event.reply('bs-download.ask-guard'); } - else if(out[0] === "[Error]"){ event.reply('bs-download.error', out); } - - }); - - PROCESS.stderr.on('data', (data) => {console.log(data.toString())}); }); -ipcMain.on('bs-download.enter-password', async (event, value: string) => { - if(PROCESS){ PROCESS.stdin.write(`${value}\n`); } -}); +ipcMain.on(`bs-download${DownloadEventType.GUARD_CODE}`, async (event, args) => { + BSInstallerService.getInstance().sendInputProcess(args); +}) + + diff --git a/src/main/preload.ts b/src/main/preload.ts index c3e2037a..69143b69 100644 --- a/src/main/preload.ts +++ b/src/main/preload.ts @@ -1,8 +1,6 @@ import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron'; -export type Channels = 'bs-download.start'|'bs-download.send-input'|'window.close'|'window.maximize'|'window.minimize'|'window.reset'; - -export type ReplyChannels = 'bs-download.ask-password'; +export type Channels = any; contextBridge.exposeInMainWorld('electron', { ipcRenderer: { diff --git a/src/main/services/bs-installer.service.ts b/src/main/services/bs-installer.service.ts index ff46f71b..47751f3a 100644 --- a/src/main/services/bs-installer.service.ts +++ b/src/main/services/bs-installer.service.ts @@ -91,13 +91,17 @@ export class BSInstallerService{ this.downloadProcess.stdout.on('data', (data) => { console.log(data.toString()); const out = (data.toString() as string).split("|"); - if(out[0] === DownloadEventType.NOT_LOGGED_IN && downloadInfos.password){ this.sendInputProcess(downloadInfos.password); } + if(out[0] === DownloadEventType.NOT_LOGGED_IN && downloadInfos.password){ setTimeout(() => {this.sendInputProcess(downloadInfos.password);}, 2000) } else if(out[0] === DownloadEventType.NOT_LOGGED_IN){ this.downloadProcess.kill(); this.utils.ipcSend(`bs-download.${DownloadEventType.NOT_LOGGED_IN}`); } else if(out[0] === DownloadEventType.GUARD_CODE){ this.utils.ipcSend(`bs-download.${DownloadEventType.GUARD_CODE}`); } else if(out[0] === DownloadEventType.TWO_FA_CODE){ this.utils.ipcSend(`bs-download.${DownloadEventType.TWO_FA_CODE}`); } else if(out[0] === DownloadEventType.PROGESS){ this.utils.ipcSend(`bs-download.${DownloadEventType.PROGESS}`, parseFloat(out[1])); } else if(out[0] === DownloadEventType.FINISH){ this.utils.ipcSend(`bs-download.${DownloadEventType.FINISH}`); this.downloadProcess.kill(); } - else if(out[0] === DownloadEventType.ERROR){ this.utils.ipcSend(`bs-download.${DownloadEventType.ERROR}`); this.downloadProcess.kill(); } + else if(out[0] === DownloadEventType.ERROR){ + console.log("ERROR"); + this.utils.ipcSend(`bs-download.${DownloadEventType.ERROR}`); + this.downloadProcess.kill('SIGINT'); + } }) this.downloadProcess.stdout.on('error', err => { diff --git a/src/renderer/components/modal/modal-types/guard-modal.component.tsx b/src/renderer/components/modal/modal-types/guard-modal.component.tsx new file mode 100644 index 00000000..b9ba20dc --- /dev/null +++ b/src/renderer/components/modal/modal-types/guard-modal.component.tsx @@ -0,0 +1,28 @@ +import { ModalExitCode, ModalResponse } from "../../../services/modale.service"; +import { useState } from "react"; +import BeatConflict from "../../../../../assets/beat-conflict.png" + +export function GuardModal({resolver}: {resolver: (x: ModalResponse) => void}) { + + const [guardCode, setGuardCode] = useState(''); + + const loggin = () => resolver({exitCode: ModalExitCode.COMPLETED, data: guardCode}); + const cancel = () => resolver({exitCode: ModalExitCode.CANCELED}); + + return ( +
+

Steam Guard

+
+ +
+
+ + setGuardCode(e.target.value)} value={guardCode} type="guard" name="guard" id="guard" placeholder="Enter your Guard code"/> +
+
+ + +
+
+ ) +} diff --git a/src/renderer/components/modal/modal.component.tsx b/src/renderer/components/modal/modal.component.tsx index da476f26..92d58b11 100644 --- a/src/renderer/components/modal/modal.component.tsx +++ b/src/renderer/components/modal/modal.component.tsx @@ -4,6 +4,7 @@ import { useEffect, useState } from "react" import { distinctUntilChanged } from "rxjs"; import { LoginModal } from "./modal-types/login-modal.component"; +import { GuardModal } from "./modal-types/guard-modal.component"; export function Modal() { @@ -23,6 +24,7 @@ export function Modal() { modalSevice.resolve({exitCode: ModalExitCode.NO_CHOICE})} className={`absolute top-0 bottom-0 right-0 left-0 transition-opacity bg-black ${modalType? "opacity-40" : "opacity-0"}`}>
{modalType === ModalType.STEAM_LOGIN && } + {modalType === ModalType.GUARD_CODE && }
) diff --git a/src/renderer/services/bs-downloader.service.ts b/src/renderer/services/bs-downloader.service.ts index bd4664a0..2ef18cc6 100644 --- a/src/renderer/services/bs-downloader.service.ts +++ b/src/renderer/services/bs-downloader.service.ts @@ -9,11 +9,18 @@ export class BsDownloaderService{ private readonly modalService: ModalService = ModalService.getInsance(); private constructor(){ - window.electron.ipcRenderer.on('bs-download.not-connected', async (bsVersion: BSVersion) => { + window.electron.ipcRenderer.on(`bs-download.[Password]`, async (bsVersion: BSVersion) => { const res = await this.modalService.openModal(ModalType.STEAM_LOGIN); if(res.exitCode !== ModalExitCode.COMPLETED){ return; } window.electron.ipcRenderer.sendMessage('bs-download.start', {bsVersion: bsVersion, username: res.data.username, password: res.data.password, stay: res.data.stay} as DownloadInfo) }); + + window.electron.ipcRenderer.on(`bs-download.[Guard]`, async () => { + console.log("GUARD"); + const res = await this.modalService.openModal(ModalType.GUARD_CODE); + if(res.exitCode != ModalExitCode.COMPLETED){ return; } + window.electron.ipcRenderer.sendMessage(`bs-download.[Guard]`, res.data); + }); } public static getInstance(){ diff --git a/src/renderer/services/modale.service.ts b/src/renderer/services/modale.service.ts index 6f96c18d..0cfffddd 100644 --- a/src/renderer/services/modale.service.ts +++ b/src/renderer/services/modale.service.ts @@ -42,6 +42,7 @@ export class ModalService{ export enum ModalType { STEAM_LOGIN = "STEAM_LOGIN", + GUARD_CODE = "GUARD_CODE", } export enum ModalExitCode {