7 Commits

Author SHA1 Message Date
ObjectAscended ba5de278ee Add Brave-Origin to versions and reformat README 2026-06-04 21:09:49 -07:00
ObjectAscended fd1b4762cf Remove 'Beta' from Brave Origin in README 2026-05-16 21:07:30 -07:00
ObjectAscended 7af4e47141 Merge pull request #3 from cybe42/feature/dual-support
Add support for both Beta and Nightly
2026-05-16 21:05:13 -07:00
ObjectAscended 888690ac12 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-16 21:04:55 -07:00
cybe42 1921dc190e Add support for both Beta and Nightly
Skips missing versions to avoid crashes and alerts the user if neither is installed.
2026-05-17 04:39:48 +01:00
ObjectAscended 4342ac463f Switch target from Brave Origin Nightly to Beta 2026-05-11 02:58:56 -07:00
ObjectAscended 06a1e50b1e Update README.md 2026-04-16 21:59:36 -07:00
2 changed files with 65 additions and 18 deletions
+33 -4
View File
@@ -1,14 +1,17 @@
# Brave Origin Windows Unlocker # Brave Origin Windows Unlocker
A TypeScript utility for unlocking Brave Origin Nightly features on Windows by modifying the local application state. A TypeScript utility for unlocking Brave Origin features on Windows by modifying
the local application state.
## Overview ## Overview
This tool modifies the Brave Origin Nightly browser's local state configuration to unlock premium features. It works by updating the `Local State` JSON file used by Brave to store user preferences and license validation status. This tool modifies the Brave Origin browser's local state configuration to
unlock premium features. It works by updating the `Local State` JSON file used
by Brave to store user preferences and license validation status.
## Features ## Features
- ✅ Unlocks Brave Origin Nightly features - ✅ Unlocks Brave Origin features
- ✅ Modifies purchase validation state - ✅ Modifies purchase validation state
- ✅ Updates SKU credentials - ✅ Updates SKU credentials
- ✅ Windows-compatible local data path handling - ✅ Windows-compatible local data path handling
@@ -17,7 +20,7 @@ This tool modifies the Brave Origin Nightly browser's local state configuration
- **Deno** - Modern JavaScript/TypeScript runtime - **Deno** - Modern JavaScript/TypeScript runtime
- **Windows OS** - Designed for Windows file paths - **Windows OS** - Designed for Windows file paths
- **Brave Origin Nightly** - The browser being modified - **Brave Origin** - The browser being modified
- **File Write Permissions** - Access to `%LOCALAPPDATA%` directory - **File Write Permissions** - Access to `%LOCALAPPDATA%` directory
## Installation ## Installation
@@ -27,3 +30,29 @@ This tool modifies the Brave Origin Nightly browser's local state configuration
```bash ```bash
git clone https://github.com/ObjectAscended/brave-origin-windows-unlocker.git git clone https://github.com/ObjectAscended/brave-origin-windows-unlocker.git
cd brave-origin-windows-unlocker cd brave-origin-windows-unlocker
```
## Pre-Bundled Deno Binaries 🎉
In our latest releases, we offer **pre-bundled Deno binaries** that make running
the Windows unlocker easier than ever! 🚀 You can download them from our
[latest release page](https://github.com/ObjectAscended/brave-origin-windows-unlocker/releases/latest).
These binaries ensure a smooth setup and save you time, so you can focus on
enjoying your experience without unnecessary hassle! 🕒
## Why Run the Windows Unlocker Instead of WSL? 🤔
Running the Windows unlocker natively is typically a better choice than running
a browser inside WSL. Here's why:
1. **Performance**: The native Windows experience generally offers better
performance than emulated environments like WSL. ⚡
2. **Simplicity**: You avoid complex setups and configurations, making it more
straightforward for users of all levels. 🛠️
3. **Compatibility**: Some features and functionalities might only work
seamlessly in a Windows environment, ensuring you get the most out of your
tools. 🔗
4. **User Experience**: Enjoy a more intuitive interface and fewer problems
managing dependencies. 😊
Enjoy using our tool! 🎈
+32 -14
View File
@@ -1,22 +1,40 @@
const localAppData = Deno.env.get("LOCALAPPDATA"); const localAppData = Deno.env.get("LOCALAPPDATA");
const localStatePath = const versions = ["Brave-Origin", "Brave-Origin-Beta", "Brave-Origin-Nightly"];
`${localAppData}\\BraveSoftware\\Brave-Origin-Nightly\\User Data\\Local State`; let foundAny = false;
const localState = JSON.parse(await Deno.readTextFile(localStatePath)); for (const version of versions) {
const localStatePath =
`${localAppData}\\BraveSoftware\\${version}\\User Data\\Local State`;
localState.brave.origin = { purchase_validated: true }; try {
const localState = JSON.parse(await Deno.readTextFile(localStatePath));
localState.skus = { localState.brave.origin = { purchase_validated: true };
state: {
"67": JSON.stringify({ localState.skus = {
credentials: { state: {
items: { "6": "7" }, "67": JSON.stringify({
credentials: {
items: { "6": "7" },
},
}),
}, },
}), };
},
};
await Deno.writeTextFile(localStatePath, JSON.stringify(localState)); await Deno.writeTextFile(localStatePath, JSON.stringify(localState));
console.log("Brave Origin Nightly unlocked successfully!"); console.log(version.replace(/-/g, " ") + " unlocked successfully!");
foundAny = true;
} catch (error) {
if (error instanceof Deno.errors.NotFound) {
continue;
}
throw error;
}
}
if (!foundAny) {
console.log("Brave Origin not found.");
}