Native Google Drive Cloud Backup
Optional PS2-native OAuth 2.0 + HTTPS upload for MMCE backup history.
What it does
The feature links a Google account using device authorization, stores a refresh token and uploads missing backup versions from WLE-MMCE-Backups. It requests the restricted drive.file scope rather than broad access to the user's Drive.
Linking
Choose Link Google Drive, open google.com/device on a phone or computer and enter the code shown on the PS2. No Google Cloud project, setup files or payment details are needed: official builds include Launchstation's own OAuth client and the Google Trust Services root certificates.
Cloud sidecars
| File | Purpose |
|---|---|
WLE-CLOUD.TOK | Stored refresh token after linking. |
WLE-CLOUD.TOK.NEW | Crash-safe staging file used during token replacement. |
WLE-CLOUD.CNF | Optional (Advanced setup): a custom OAuth client ID and secret that replace the built-in client as a pair. Template: res/WLE-CLOUD.CNF.example. |
WLE-CLOUD-CA.PEM | Optional (Advanced setup): custom trust roots that replace the built-in Google roots; the native loader accepts at most 256 KiB. |
Crash-safe token replacement
The staging token includes an explicit completion marker. An interrupted/incomplete .NEW file is ignored instead of superseding a valid primary token.
Content-aware backup identity
Each uploaded backup carries a private Drive appProperties value named wle_sha256. A remote file is skipped only when filename and SHA-256 match. Same-name files with different content are preserved. The local backup is hashed and streamed from the same open file descriptor to avoid a validate-then-reopen race.
TLS and entropy
Certificate and hostname verification are mandatory. The Mbed TLS CTR-DRBG does not rely on PS2SDK's random path alone: Launchstation conditions that material with full cycle-counter samples, RTC/runtime state, a local counter and DNS/TCP timing through SHA-256. This is defense-in-depth, not a claim that the PS2 has a certified hardware TRNG.
Failure behavior
TCP connect, TLS handshake, reads and writes use bounded no-progress timeouts. DNS lookup itself is synchronous in PS2IP, so bad-DNS behavior remains a real-hardware edge case.
Automatic IGR sync
Google Drive after IGR is off by default. It cannot be enabled until Drive is linked, and it runs only after the local MMCE backup succeeds.
Settings integration
The MMCE backup & sync page exposes Google account management directly beside backup policy. The same native OAuth/TLS client is used; this is not a second cloud implementation.
Backup controls
In Settings > Storage & devices > MMCE backups, choose Backup folder: the parent of WLE-MMCE-Backups. Save changes before leaving Settings. Existing history stays in place; reinstall an existing IGR helper after changing the folder because it embeds its destination.
In Google account, Back up cards & upload backs up changed MMCE cards before uploading history. Upload existing backups only uploads saved history and requires a linked account and a selected backup folder. It does not require installing the IGR helper.
Backup folder... is also available in the Google account menu and saves the destination immediately. Changing an existing destination asks for confirmation; canceling or selecting the current folder leaves settings unchanged. The card status Locally backed up describes local history only, not Drive upload status.
Update checks
Check for updates compares the running commit with the repository's rolling latest release over HTTPS. It uses a dedicated WLE-UPDATE-CA.PEM trust root for GitHub and does not weaken or reuse Google-specific trust configuration.
Remote history browsing and verified recovery
Tools > Google Drive backups > Browse cloud history... shows metadata from the app-created history, page by page. Entries without a stored wle_sha256 can be inspected but cannot be used for verified download. Select a completed, digest-qualified snapshot and a destination on USB/HDD to create a separate RECOVER-CLOUD-###.mcd. The download is authenticated, size-limited and SHA-256-checked; any necessary PCSX2 image conversion and the local staged copy are validated before publishing. Existing Drive history and active MMCE cards are unchanged. MMCE recovery and safety matrix.