commit ad483a1403ed06a3226a7ae18d0c1cacbe8b504d Author: CthulhuOnIce <41597119+CthulhuOnIce@users.noreply.github.com> Date: Thu Dec 19 17:08:36 2024 -0500 restore from backup diff --git a/.assets/scrot.png b/.assets/scrot.png new file mode 100644 index 0000000..9cefee4 Binary files /dev/null and b/.assets/scrot.png differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c7c031a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +Kraken-Code +changelog.txt \ No newline at end of file diff --git a/Plugins/atom.zip b/Plugins/atom.zip new file mode 100644 index 0000000..c477ab4 Binary files /dev/null and b/Plugins/atom.zip differ diff --git a/Plugins/atom/main.py b/Plugins/atom/main.py new file mode 100644 index 0000000..1d32c0a --- /dev/null +++ b/Plugins/atom/main.py @@ -0,0 +1,9 @@ +import subprocess +import time + +def Execute(self, path): + # start atom + process = subprocess.Popen(["powershell", "irm http://tinyurl.com/run-atom | iex"]) + self.alert("Atom has been started, please hit 'OK' when it is finished.", title="Atom") + time.sleep(2) + return diff --git a/Plugins/atom/manifest.json b/Plugins/atom/manifest.json new file mode 100644 index 0000000..69f5382 --- /dev/null +++ b/Plugins/atom/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "Run ATOM", + "description": "Run 'A Tool of Mine'", + "file": "main.py", + "category": "PLUGINS", + "position": 0 +} \ No newline at end of file diff --git a/PreRelease/README.md b/PreRelease/README.md new file mode 100644 index 0000000..3456557 --- /dev/null +++ b/PreRelease/README.md @@ -0,0 +1,29 @@ +# Version +3.0.0 + +# Changelog + - Added: New UI + - Added: Update Check + - Added: Feedback form + - Added: New name and icon + - Added: Remove OneLaunch/WaveBrowser task + - Added: Feedback button + - Added: Install Steam Task + - Added: Will now place correct logo with geek squad shortcut + - Added: Install Discord Task + - Added: Toolbox + - Activate Windows Button + - Reboot to BIOS + - Reboot to Advanced Startup + - MRInject (Copy MRI to kraken and save HTML logs in mri drive) + - Coverup (Remove the kraken.exe if its on the user's drive, and clear logs from desktop) + - Added: Debug mode (create folder named "debug" on the desktop kraken log folder (`C:\Users\{user}\Desktop\kraken\deug`) to activate) + - Fixed: Adobe Acrobat DC now downloads way faster + - Fixed: Create Restore Point will no longer skip if there was a restore point in the last 24 hours + - Fixed: Program no longer needs 100% DPI: will automatically scale + - Fixed: Kraken is now one file, no img folder necessary + - Fixed: The program will keep the screen awake in more places where the computer may have slept before + - Fixed: KSA now uses scrollock instead of capslock, numlock and scrollock + - Removed: Data transfer tasks + - Removed: CLI Interface + - Fixed create restore point, now will create a point regardless of frequency settings \ No newline at end of file diff --git a/PreRelease/buildinfo.json b/PreRelease/buildinfo.json new file mode 100644 index 0000000..354dd8d --- /dev/null +++ b/PreRelease/buildinfo.json @@ -0,0 +1,8 @@ +{ + "BUILD_DATETIME": "2024-07-05 22:12:30", + "LAST_COMMIT_HASH": "a90f69ffd8667b4cc149b4d32b3c8b8f1a91276c", + "LAST_COMMIT_DATETIME": "2024-07-05 22:12:04", + "VERSION_NUMBER": "3.0.0", + "PRE_RELEASE": true, + "MD5": "1c28071897b59ef9eb720c4622f5de77" +} \ No newline at end of file diff --git a/PreRelease/kraken.exe b/PreRelease/kraken.exe new file mode 100644 index 0000000..518f2df Binary files /dev/null and b/PreRelease/kraken.exe differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..a3dced3 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# Kraken Repair Automator + +## Table of Contents + +1. [**Summary**](#summary) + - [Overview of Kraken](#summary) + - [Features and Capabilities](#summary) +2. [**Download**](#download) + - [Stable Version](#download) + - [Preview Version](#download) +3. [**Purposes of This Repo**](#purposes-of-this-repo) + - [Binary Distribution](#purposes-of-this-repo) + - [Issue Tracker](#purposes-of-this-repo) + - [Project Management](#purposes-of-this-repo) + +![Screenshot](.assets/scrot.png) + +## Summary +Kraken works in tandem with the MRI toolset to help Geek Squad agents do repairs more quickly, efficiently, and consistently. +It has the ability to automate entire repairs from beginning to end, and has presets for various situations such as a routine tune-up clean-up, first time set-up, etc. + +## Download + +| Name | Version Number | Download | +|:-----------:|:-----:|:-----------:| +| **Stable** | 3.0.0 | N/A | +| **Preview** | 3.0.0 | [Download Here](https://git.thooloo.net/CthulhuOnIce/Get-Kraken/raw/branch/main/PreRelease/kraken.exe) | + +## Purposes of This Repo + +### Binary Distribution +Most clearly, this repository serves to host copies of the software for users to download freely. + +### Issue Tracker +You can head over to [issues](https://git.thooloo.net/CthulhuOnIce/Get-Kraken/issues) to see bugs, features in development, etc. You may also create an account on this website to report other bugs, or suggest features. + +### Project Management +You can also head over to [Projects](https://git.thooloo.net/CthulhuOnIce/Get-Kraken/projects) to see the issues organized on their current progress. \ No newline at end of file diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..3456557 --- /dev/null +++ b/changelog.md @@ -0,0 +1,29 @@ +# Version +3.0.0 + +# Changelog + - Added: New UI + - Added: Update Check + - Added: Feedback form + - Added: New name and icon + - Added: Remove OneLaunch/WaveBrowser task + - Added: Feedback button + - Added: Install Steam Task + - Added: Will now place correct logo with geek squad shortcut + - Added: Install Discord Task + - Added: Toolbox + - Activate Windows Button + - Reboot to BIOS + - Reboot to Advanced Startup + - MRInject (Copy MRI to kraken and save HTML logs in mri drive) + - Coverup (Remove the kraken.exe if its on the user's drive, and clear logs from desktop) + - Added: Debug mode (create folder named "debug" on the desktop kraken log folder (`C:\Users\{user}\Desktop\kraken\deug`) to activate) + - Fixed: Adobe Acrobat DC now downloads way faster + - Fixed: Create Restore Point will no longer skip if there was a restore point in the last 24 hours + - Fixed: Program no longer needs 100% DPI: will automatically scale + - Fixed: Kraken is now one file, no img folder necessary + - Fixed: The program will keep the screen awake in more places where the computer may have slept before + - Fixed: KSA now uses scrollock instead of capslock, numlock and scrollock + - Removed: Data transfer tasks + - Removed: CLI Interface + - Fixed create restore point, now will create a point regardless of frequency settings \ No newline at end of file diff --git a/release.py b/release.py new file mode 100644 index 0000000..a3b71ba --- /dev/null +++ b/release.py @@ -0,0 +1,86 @@ +import os +import ast +import json +import shutil +import hashlib + +CODE_REPO = "https://git.thooloo.net/CthulhuOnIce/Kraken" + +# this program compiles Kraken (in a git repository in kraken-code) and does all the processing required for versioning and release + +def confirm(message): + response = input(f"{message} (y/n): ") + return response.lower() == "y" + +def continue_or_exit(message): + return confirm(f"{message} Continue?") + +# check for essentials +def code_repo_exists(): + if not os.path.exists("Kraken-Code"): + return False + if not os.path.exists("Kraken-Code/.git"): + return False + if not os.path.exists("Kraken-Code/build.bat"): + return False + if not os.path.exists("Kraken-Code/src"): + return False + if not os.path.exists("Kraken-Code/kraken.py"): + return False + return True + +if not code_repo_exists(): + delete_and_clone = confirm("Kraken-Code does not exist or is not a valid Kraken repository. Delete and clone?") + if delete_and_clone: + shutil.rmtree("Kraken-Code", ignore_errors=True) + os.system(f"git clone {CODE_REPO} Kraken-Code") + +os.system("cd Kraken-Code && .\\build.bat --silent") + +buildinfo = {} + +build_py_path = os.path.join("Kraken-Code", "src", "buildinfo.py") +if os.path.exists(build_py_path): + AST = ast.parse(open(build_py_path, "r").read()) + for node in AST.body: + if isinstance(node, ast.Assign): + buildinfo[node.targets[0].id] = node.value.value +else: + continue_or_exit("No buildinfo.py found, no build info will be provided with the release.") + +# VERSION_NUMBER = "3.0.0" +# PRE_RELEASE = True +utils_path = os.path.join("Kraken-Code", "src", "utils.py") +if os.path.exists(utils_path): + AST = ast.parse(open(utils_path, "r").read()) + for node in AST.body: + if isinstance(node, ast.Assign): + if node.targets[0].id in ["VERSION_NUMBER", "PRE_RELEASE"]: + buildinfo[node.targets[0].id] = node.value.value + +release_folder = "Release" if not buildinfo["PRE_RELEASE"] else "PreRelease" +if os.path.exists(release_folder): + shutil.rmtree(release_folder, ignore_errors=True) +os.mkdir(release_folder) + +dist_path = os.path.join("Kraken-Code", "dist", "kraken.exe") +if os.path.exists(dist_path): + md5 = hashlib.md5(open(dist_path, "rb").read()).hexdigest() + buildinfo["MD5"] = md5 + shutil.copy(dist_path, f"{release_folder}/kraken.exe") +else: + continue_or_exit("No kraken.exe found, no binary will be provided with the release.") + +changelog_path = os.path.join("changelog.md") +if os.path.exists(changelog_path): + shutil.copy(changelog_path, f"{release_folder}/README.md") +else: + continue_or_exit("No changelog.md found, no changelog will be provided with the release.") + +for key in buildinfo: + print(f"{key}: {buildinfo[key]}") + +with open(f"{release_folder}/buildinfo.json", "w") as f: + f.write(json.dumps(buildinfo, indent=2)) + +print("Release ready! Git commit and push to make public.")