Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
fd4d911075 | |||
5edd53eead | |||
ea6db9afd1 | |||
d56b375953 | |||
ec25d5d2bb | |||
13b90092b7 |
@@ -7,3 +7,6 @@ bun.lockb
|
|||||||
|
|
||||||
# Miscellaneous
|
# Miscellaneous
|
||||||
/static/
|
/static/
|
||||||
|
|
||||||
|
# Tauri
|
||||||
|
/src-tauri/
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
"tabWidth": 2,
|
"tabWidth": 2,
|
||||||
"useTabs": false,
|
"useTabs": false,
|
||||||
"bracketSpacing": true,
|
"bracketSpacing": true,
|
||||||
"plugins": ["prettier-plugin-svelte", "prettier-plugin-rust"],
|
"plugins": ["prettier-plugin-svelte"],
|
||||||
"overrides": [
|
"overrides": [
|
||||||
{
|
{
|
||||||
"files": "*.svelte",
|
"files": "*.svelte",
|
||||||
|
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"svelte.enable-ts-plugin": true,
|
"svelte.enable-ts-plugin": true,
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
"[rust]":{
|
"[rust]": {
|
||||||
"editor.defaultFormatter": "rust-lang.rust-analyzer"
|
"editor.defaultFormatter": "rust-lang.rust-analyzer"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -27,10 +27,10 @@ It enhances the osu! experience with quality-of-life features and integration sp
|
|||||||
|
|
||||||
## 💻 Supported Platforms
|
## 💻 Supported Platforms
|
||||||
|
|
||||||
| Platform | Status |
|
| Platform | Status |
|
||||||
| -------- | ---------------- |
|
| -------- | ---------------------------------------- |
|
||||||
| Windows | ✅ Supported |
|
| Windows | ✅ Supported |
|
||||||
| macOS | ❌ Not supported |
|
| macOS | ❌ Not supported |
|
||||||
| Linux | 🕧 Partially supported (via osu-winello) |
|
| Linux | 🕧 Partially supported (via osu-winello) |
|
||||||
|
|
||||||
> Currently, only **Windows** is fully supported. Support for other platforms may be considered in the future.
|
> Currently, only **Windows** is fully supported. Support for other platforms may be considered in the future.
|
||||||
|
@@ -46,7 +46,7 @@
|
|||||||
"@lucide/svelte": "^0.525.0",
|
"@lucide/svelte": "^0.525.0",
|
||||||
"@sveltejs/adapter-static": "3.0.8",
|
"@sveltejs/adapter-static": "3.0.8",
|
||||||
"@sveltejs/kit": "2.22.2",
|
"@sveltejs/kit": "2.22.2",
|
||||||
"@sveltejs/vite-plugin-svelte": "5.1.0",
|
"@sveltejs/vite-plugin-svelte": "^6.1.0",
|
||||||
"@tauri-apps/cli": "2.6.1",
|
"@tauri-apps/cli": "2.6.1",
|
||||||
"@types/bun": "^1.2.18",
|
"@types/bun": "^1.2.18",
|
||||||
"@types/crypto-js": "^4.2.2",
|
"@types/crypto-js": "^4.2.2",
|
||||||
@@ -73,6 +73,6 @@
|
|||||||
"typescript": "5.8.3",
|
"typescript": "5.8.3",
|
||||||
"typescript-eslint": "^8.20.0",
|
"typescript-eslint": "^8.20.0",
|
||||||
"vite": "7.0.0",
|
"vite": "7.0.0",
|
||||||
"vite-plugin-devtools-json": "^0.2.0"
|
"vite-plugin-devtools-json": "^0.3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
src-tauri/Cargo.lock
generated
2
src-tauri/Cargo.lock
generated
@@ -1094,7 +1094,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ezpplauncher"
|
name = "ezpplauncher"
|
||||||
version = "3.0.1"
|
version = "3.0.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.21.7",
|
"base64 0.21.7",
|
||||||
"discord-rich-presence",
|
"discord-rich-presence",
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ezpplauncher"
|
name = "ezpplauncher"
|
||||||
version = "3.0.1"
|
version = "3.0.2"
|
||||||
description = "EZPPLauncher redefined."
|
description = "EZPPLauncher redefined."
|
||||||
authors = ["HorizonCode"]
|
authors = ["HorizonCode"]
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
@@ -369,7 +369,7 @@ pub fn encrypt_password(password: &str, entropy: &str) -> Result<String, String>
|
|||||||
LocalFree(output_blob.pbData as LPVOID);
|
LocalFree(output_blob.pbData as LPVOID);
|
||||||
}
|
}
|
||||||
|
|
||||||
let base64_string = general_purpose::STANDARD_NO_PAD.encode(&encrypted_data);
|
let base64_string = general_purpose::STANDARD.encode(&encrypted_data);
|
||||||
|
|
||||||
Ok(base64_string)
|
Ok(base64_string)
|
||||||
}
|
}
|
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "ezpplauncher",
|
"productName": "ezpplauncher",
|
||||||
"version": "3.0.1",
|
"version": "3.0.2",
|
||||||
"identifier": "farm.ezpp.launcher",
|
"identifier": "farm.ezpp.launcher",
|
||||||
"build": {
|
"build": {
|
||||||
"beforeDevCommand": "bun run vite:dev",
|
"beforeDevCommand": "bun run vite:dev",
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
"app": {
|
"app": {
|
||||||
"windows": [
|
"windows": [
|
||||||
{
|
{
|
||||||
"title": "ezpplauncher",
|
"title": "EZPPLauncher",
|
||||||
"width": 1000,
|
"width": 1000,
|
||||||
"height": 700,
|
"height": 700,
|
||||||
"decorations": false,
|
"decorations": false,
|
||||||
@@ -26,6 +26,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bundle": {
|
"bundle": {
|
||||||
|
"publisher": "EZPPFarm",
|
||||||
|
"copyright": "EZPPFarm",
|
||||||
|
"homepage": "https://ez-pp.farm",
|
||||||
|
"license": "GPL-3.0",
|
||||||
"active": true,
|
"active": true,
|
||||||
"targets": [
|
"targets": [
|
||||||
"app"
|
"app"
|
||||||
@@ -36,6 +40,12 @@
|
|||||||
"icons/128x128@2x.png",
|
"icons/128x128@2x.png",
|
||||||
"icons/icon.icns",
|
"icons/icon.icns",
|
||||||
"icons/icon.ico"
|
"icons/icon.ico"
|
||||||
]
|
],
|
||||||
|
"windows": {
|
||||||
|
"webviewInstallMode": {
|
||||||
|
"silent": true,
|
||||||
|
"type": "downloadBootstrapper"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -20,10 +20,14 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div data-tauri-drag-region class="titlebar z-[60] border-b border-theme-800/90">
|
<div data-tauri-drag-region class="titlebar z-[60] border-b border-theme-800/90">
|
||||||
<div class="mr-auto ms-2 flex flex-row gap-2 items-center text-[1.05rem] font-semibold pointer-events-none">
|
<div
|
||||||
|
class="mr-auto ms-2 flex flex-row gap-2 items-center text-[1.05rem] font-semibold pointer-events-none"
|
||||||
|
>
|
||||||
<img src={Logo} alt="EZPP Launcher Logo" class="h-11 w-11 inline-block" />
|
<img src={Logo} alt="EZPP Launcher Logo" class="h-11 w-11 inline-block" />
|
||||||
<span>EZPPLauncher</span>
|
<span>EZPPLauncher</span>
|
||||||
<Badge class="!text-[0.6rem] py-[0.5px] bg-primary-500 hover:bg-primary-500">{$launcherVersion}</Badge>
|
<Badge class="!text-[0.6rem] py-[0.5px] bg-primary-500 hover:bg-primary-500"
|
||||||
|
>{$launcherVersion}</Badge
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="titlebar-button rounded-lg transition-colors duration-75" id="titlebar-minimize">
|
<div class="titlebar-button rounded-lg transition-colors duration-75" id="titlebar-minimize">
|
||||||
<Minimize size={18} />
|
<Minimize size={18} />
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
import { writable } from 'svelte/store';
|
import { writable } from 'svelte/store';
|
||||||
import { ezppfarm } from './api/ezpp';
|
import { ezppfarm } from './api/ezpp';
|
||||||
import type { Component } from 'svelte';
|
import type { Component } from 'svelte';
|
||||||
import Loading from '../pages/Loading.svelte';
|
import Loading from '../screens/Loading.svelte';
|
||||||
import type { Release } from './types';
|
import type { Release } from './types';
|
||||||
|
|
||||||
export const currentView = writable<Component>(Loading);
|
export const currentView = writable<Component>(Loading);
|
||||||
|
|
||||||
export const platform = writable<string>("");
|
export const platform = writable<string>('');
|
||||||
|
|
||||||
export const launcherVersion = writable<string>('');
|
export const launcherVersion = writable<string>('');
|
||||||
export const newVersion = writable<Release | undefined>(undefined);
|
export const newVersion = writable<Release | undefined>(undefined);
|
||||||
|
@@ -133,11 +133,8 @@ export const exit = async () => await invoke('exit');
|
|||||||
export const getPlatform = async () => await invoke<string>('get_platform');
|
export const getPlatform = async () => await invoke<string>('get_platform');
|
||||||
export const isOsuCorrupted = async (folder: string) =>
|
export const isOsuCorrupted = async (folder: string) =>
|
||||||
await invoke<boolean>('check_for_corruption', { folder });
|
await invoke<boolean>('check_for_corruption', { folder });
|
||||||
export const hasWMCTRL = async () =>
|
export const hasWMCTRL = async () => await invoke<boolean>('has_wmctrl');
|
||||||
await invoke<boolean>('has_wmctrl');
|
export const hasOsuWinello = async () => await invoke<boolean>('has_osuwinello');
|
||||||
export const hasOsuWinello = async () =>
|
export const hasNet8 = async () => await invoke<boolean>('has_net8');
|
||||||
await invoke<boolean>('has_osuwinello');
|
|
||||||
export const hasNet8 = async () =>
|
|
||||||
await invoke<boolean>('has_net8');
|
|
||||||
export const encryptString = async (str: string, entropy: string) =>
|
export const encryptString = async (str: string, entropy: string) =>
|
||||||
await invoke<string>('encrypt_string', {string: str, entropy});
|
await invoke<string>('encrypt_string', { string: str, entropy });
|
||||||
|
@@ -88,18 +88,11 @@
|
|||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
window.Buffer = Buffer;
|
window.Buffer = Buffer;
|
||||||
|
|
||||||
/* const decryptTest = "AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAs463WdMtG0mr/mVLQCZ6dQAAAAAIAAAAUgBhAHcAAAAQZgAAAAEAACAAAABnyhFo8QK2iL5aTehKmsZSUpihGWBwlKfYj7cL2/lDagAAAAAOgAAAAAIAACAAAABMxyG6EdkLORSMB8isbltZhPQV2iVQ2r+yJLJ2Tw9yWiAAAABE1EzBPD9PRFQ3evk0vneNpfQTNTvMpjDVUTl3kAaKWUAAAADBshJzPDx6qcYfYh2zh6cKJWClZpIp6H50IKriW936XGhLFQboK/m18O77TBnpSrs0YosFjzsYVJTkrWjetFAf";
|
|
||||||
const decrypted = await decryptString(decryptTest);
|
|
||||||
console.log(decrypted); */
|
|
||||||
|
|
||||||
const encrypted = await encryptString("Todesengel007008009!", "cu24180ncjeiu0ci1nwui");
|
|
||||||
console.log(encrypted);
|
|
||||||
|
|
||||||
disableReload();
|
disableReload();
|
||||||
setupValues();
|
setupValues();
|
||||||
launcherVersion.set(await getLauncherVersion());
|
launcherVersion.set(await getLauncherVersion());
|
||||||
platform.set(await getPlatform());
|
platform.set(await getPlatform());
|
||||||
if ($platform !== "windows" && $platform !== "linux") unsupported_platform = true;
|
if ($platform !== 'windows' && $platform !== 'linux') unsupported_platform = true;
|
||||||
const isFirstStartup = await $userSettings.init();
|
const isFirstStartup = await $userSettings.init();
|
||||||
$userAuth.init();
|
$userAuth.init();
|
||||||
|
|
||||||
|
@@ -297,7 +297,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'Password',
|
key: 'Password',
|
||||||
value: $platform === "windows" ? await encryptString(password, "cu24180ncjeiu0ci1nwui") : password,
|
value:
|
||||||
|
$platform === 'windows'
|
||||||
|
? await encryptString(password, 'cu24180ncjeiu0ci1nwui')
|
||||||
|
: password,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'SaveUsername',
|
key: 'SaveUsername',
|
||||||
@@ -532,7 +535,11 @@
|
|||||||
</AlertDialog.Root>
|
</AlertDialog.Root>
|
||||||
|
|
||||||
<AlertDialog.Root open={$newVersion !== undefined}>
|
<AlertDialog.Root open={$newVersion !== undefined}>
|
||||||
<AlertDialog.Content class="bg-theme-950 border-theme-800 p-0">
|
<AlertDialog.Content
|
||||||
|
class="bg-theme-950 border-theme-800 p-0"
|
||||||
|
escapeKeydownBehavior="ignore"
|
||||||
|
interactOutsideBehavior="ignore"
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
class="flex flex-col items-center justify-center border-b border-theme-800 bg-black/40 rounded-t-lg p-3"
|
class="flex flex-col items-center justify-center border-b border-theme-800 bg-black/40 rounded-t-lg p-3"
|
||||||
>
|
>
|
||||||
@@ -568,7 +575,11 @@
|
|||||||
</AlertDialog.Root>
|
</AlertDialog.Root>
|
||||||
|
|
||||||
<AlertDialog.Root bind:open={$launching}>
|
<AlertDialog.Root bind:open={$launching}>
|
||||||
<AlertDialog.Content class="bg-theme-950 border-theme-800 p-0">
|
<AlertDialog.Content
|
||||||
|
class="bg-theme-950 border-theme-800 p-0"
|
||||||
|
escapeKeydownBehavior="ignore"
|
||||||
|
interactOutsideBehavior="ignore"
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
class="flex flex-col items-center justify-center border-b border-theme-800 bg-black/40 rounded-t-lg p-3"
|
class="flex flex-col items-center justify-center border-b border-theme-800 bg-black/40 rounded-t-lg p-3"
|
||||||
>
|
>
|
Reference in New Issue
Block a user