diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..e6bf153
--- /dev/null
+++ b/.github/CODE_OF_CONDUCT.md
@@ -0,0 +1,3 @@
+This project adheres to **No Code of Conduct**. We are all adults. We accept anyone's contributions. Nothing else matters.
+
+For more information please visit the [No Code of Conduct](https://github.com/domgetter/NCoC) homepage.
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..5c41eff
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,11 @@
+github: [{username}]
+community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+issuehunt: # Replace with a single IssueHunt username
+ko_fi: # Replace with a single ko_fi username
+liberapay: # Replace with a single Liberapay username
+open_collective: # Replace with a single open_collective username
+patreon: # Replace with a single Patreon username
+tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
+polar: # Replace with a single polar username
+buy_me_a_coffee: # Replace with a single buy_me_a_coffee username
+custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 150c46c..e6219c9 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -42,13 +42,14 @@ body:
- type: dropdown
attributes:
- label: SO version
+ label: OS version
options:
- Windows 11
- Windows 10
- - Windows 8
- - Windows 7
- - Other
+ - Windows Other
+ - Linux Debian
+ - Linux Arch
+ - Linux Other
validations:
required: true
@@ -56,7 +57,7 @@ body:
attributes:
label: Confirmation
options:
- - label: I performed a [search of the issue tracker](https://github.com/segocode/DebloBat/issues) to avoid opening a duplicate issue
+ - label: I performed a [search of the issue tracker](https://github.com/{username}/{reponame}/issues) to avoid opening a duplicate issue
required: true
- label: I understand that not filling out this template correctly may lead to the issue being closed
required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index aa0286a..7f83253 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Contact the developer
- url: https://segocode.github.io/SegoCode/
+ url: https://{username}.github.io/{username}/
about: To discuss any type of related topic
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
index acaa9f3..23c5ebc 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -34,7 +34,7 @@ body:
attributes:
label: Confirmation
options:
- - label: I performed a [search of the feature requests](https://github.com/segocode/DebloBat/issues) to avoid suggesting a duplicate feature
+ - label: I performed a [search of the feature requests](https://github.com/{username}/{reponame}/issues) to avoid suggesting a duplicate feature
required: true
- label: I understand that not filling out this template correctly may lead to the request being closed
- required: true
\ No newline at end of file
+ required: true
diff --git a/.github/SECURITY.md b/.github/SECURITY.md
index 15b1cbb..df34996 100644
--- a/.github/SECURITY.md
+++ b/.github/SECURITY.md
@@ -1,4 +1 @@
-## Security Policy
-
-### Reporting a Vulnerability
-If you discover a vulnerability in this application, that poses a significant threat to the security of the users, we recommend that you do not open a public issue. Instead, please send your report via [email](https://segocode.github.io/SegoCode/). Include as much detailed information as possible to help understand the nature of the vulnerability.
+If you discover a vulnerability in this application, that poses a significant threat to the security of the users, we recommend that you do not open a public issue. Instead, please send your report via [email](https://{username}.github.io/{username}/). Include as much detailed information as possible to help understand the nature of the vulnerability.
diff --git a/.github/workflows/generate-tag.yml b/.github/workflows/generate-tag.yml
new file mode 100644
index 0000000..13573e5
--- /dev/null
+++ b/.github/workflows/generate-tag.yml
@@ -0,0 +1,94 @@
+name: Generate tag
+
+on:
+ pull_request:
+ types: [closed]
+
+jobs:
+ create_tag:
+ if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'auto-tag')
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+
+ - name: Set up git
+ run: |
+ git config --global user.name "github-actions"
+ git config --global user.email "github-actions@github.com"
+
+ - name: Fetch all tags
+ run: git fetch --tags
+
+ - name: Get latest tag
+ id: get_latest_tag
+ run: |
+ # Get the latest tag
+ latest_tag=$(git describe --tags `git rev-list --tags --max-count=1` 2>/dev/null || echo "")
+ echo "latest_tag=$latest_tag" >> $GITHUB_ENV
+
+ - name: Determine new version
+ id: determine_version
+ run: |
+ latest_tag=${{ env.latest_tag }}
+ if [ -z "$latest_tag" ]; then
+ # Initialize the version to 1.0 if no tags exist
+ new_version="1.0"
+ else
+ # Extract the major and minor version and increment the minor version
+ major_version=$(echo $latest_tag | cut -d. -f1)
+ minor_version=$(echo $latest_tag | cut -d. -f2)
+ new_minor_version=$((minor_version + 1))
+ new_version="$major_version.$new_minor_version"
+
+ # Check if the new version tag already exists
+ while git rev-parse "refs/tags/$new_version" >/dev/null 2>&1; do
+ new_minor_version=$((new_minor_version + 1))
+ new_version="$major_version.$new_minor_version"
+ done
+ fi
+ echo "new_version=$new_version" >> $GITHUB_ENV
+
+ - name: Checkout main branch
+ run: |
+ git checkout main
+
+ - name: Create new tag
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ new_version=${{ env.new_version }}
+ git tag -a $new_version -m "Automatically generated version $new_version"
+ git push origin $new_version
+
+ create_issue:
+ needs: tag_version
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+
+ - name: Set up git
+ run: |
+ git config --global user.name "github-actions"
+ git config --global user.email "github-actions@github.com"
+
+ - name: Fetch all tags
+ run: git fetch --tags
+
+ - name: Get the latest tag
+ id: get_latest_tag
+ run: |
+ # Get the latest tag
+ latest_tag=$(git describe --tags `git rev-list --tags --max-count=1` 2>/dev/null || echo "")
+ echo "latest_tag=$latest_tag" >> $GITHUB_ENV
+
+ - name: Create issue for new tag
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ latest_tag: ${{ env.latest_tag }}
+ run: |
+ repository=${{ github.repository }}
+ issue_title="The tag \`${{ env.latest_tag }}\` was created"
+ issue_body=$'The **${{ env.latest_tag }}** tag for the **main branch** has been created. Please consider creating a release of this tag, if a release isn\'t needed, you can close this issue.\n\n[Click here to create a release of **${{ env.latest_tag }}** tag](../releases/new?tag=${{ env.latest_tag }})'
+ gh issue create --title "$issue_title" --body "$issue_body" --label "auto-tag"
diff --git a/.github/workflows/gitleaks.yml b/.github/workflows/gitleaks.yml
new file mode 100644
index 0000000..1efeed8
--- /dev/null
+++ b/.github/workflows/gitleaks.yml
@@ -0,0 +1,15 @@
+name: Gitleaks
+on: [pull_request, push, workflow_dispatch]
+jobs:
+ scan:
+ name: gitleaks
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - name: Run Gitleaks
+ uses: gitleaks/gitleaks-action@v2
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml
index 0c71d41..724954b 100644
--- a/.github/workflows/greetings.yml
+++ b/.github/workflows/greetings.yml
@@ -1,6 +1,6 @@
name: Greetings
-on: [pull_request_target]
+on: [pull_request_target, issues]
jobs:
greeting:
@@ -12,4 +12,5 @@ jobs:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- pr-message: "🎉 Thank you for your first pull request to the repository! We're grateful for your contribution and will review it ASAP."
+ issue-message: "Thank you for your first issue. To better understand your request or the problem you've encountered, please provide as many details as possible. If the behavior changes or if you have new information about your request, don't hesitate to add it. It will be reviewed ASAP."
+ pr-message: "Thank you for your first pull request to the repository! We're grateful for your contribution and will review it ASAP."
diff --git a/.github/workflows/initializer.yml b/.github/workflows/initializer.yml
new file mode 100644
index 0000000..881756d
--- /dev/null
+++ b/.github/workflows/initializer.yml
@@ -0,0 +1,71 @@
+name: Initialize repository
+
+on:
+ workflow_dispatch:
+
+jobs:
+ initialize_repo:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+ with:
+ ref: main
+ fetch-depth: 0
+
+ - name: Setup git
+ run: |
+ git config --global user.name "github-actions"
+ git config --global user.email "github-actions@github.com"
+
+ - name: Install GitHub CLI
+ run: |
+ sudo apt-get update
+ sudo apt-get install gh -y
+
+ - name: Extract repository and username
+ id: extract
+ run: |
+ REPO_NAME="${{ github.repository }}"
+ USERNAME=$(echo $REPO_NAME | cut -d'/' -f1)
+ REPO_NAME_ONLY=$(echo $REPO_NAME | cut -d'/' -f2)
+ echo "::set-output name=username::$USERNAME"
+ echo "::set-output name=reponame::$REPO_NAME_ONLY"
+
+ - name: Set branch name
+ id: vars
+ run: echo "::set-output name=branch::initialize-repo-$(date +%Y%m%d%H%M%S)"
+
+ - name: Replace {reponame} and {username} with actual values
+ run: |
+ REPO_NAME_ONLY="${{ steps.extract.outputs.reponame }}"
+ USERNAME="${{ steps.extract.outputs.username }}"
+ REPO_NAME_ESCAPED=$(echo $REPO_NAME_ONLY | sed 's/\//\\\//g')
+ USERNAME_ESCAPED=$(echo $USERNAME | sed 's/\//\\\//g')
+ find . -type f -exec sed -i "s/{reponame}/$REPO_NAME_ESCAPED/g" {} +
+ find . -type f -exec sed -i "s/{username}/$USERNAME_ESCAPED/g" {} +
+
+ - name: Remove initializer workflow
+ run: |
+ rm -f .github/workflows/initializer.yml
+
+ - name: Commit changes
+ run: |
+ BRANCH_NAME="${{ steps.vars.outputs.branch }}"
+ git checkout -b $BRANCH_NAME
+ git add .
+ git commit -m "Initialize repository with repo name $REPO_NAME_ONLY and username $USERNAME"
+ git push origin HEAD:$BRANCH_NAME
+
+ - name: Create pull request
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ BRANCH_NAME="${{ steps.vars.outputs.branch }}"
+ PR_URL=$(gh pr create --base main --head $BRANCH_NAME --title "Initialize repository" --body "This PR initializes the repository with the actual repository name, with the actual username and removing the initializer workflow.")
+
+ # Extract PR number from URL
+ PR_NUMBER=$(basename $PR_URL)
+
+ # Add any desired labels to the pull request
+ # gh pr edit $PR_NUMBER --add-label "initialization"
diff --git a/.gitignore b/.gitignore
index 8d6fa21..5dd78a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
-# Created by https://www.toptal.com/developers/gitignore/api/intellij+all,visualstudiocode,git,windows,linux
-# Edit at https://www.toptal.com/developers/gitignore?templates=intellij+all,visualstudiocode,git,windows,linux
+# Created by https://www.toptal.com/developers/gitignore/api/git,gpg,ssh,vim,linux,macos,windows,notepadpp,sublimetext,intellij+all,visualstudiocode
+# Edit at https://www.toptal.com/developers/gitignore?templates=git,gpg,ssh,vim,linux,macos,windows,notepadpp,sublimetext,intellij+all,visualstudiocode
### Git ###
# Created by git for backups. To disable backups in Git:
@@ -16,6 +16,10 @@
*_LOCAL_*.txt
*_REMOTE_*.txt
+### GPG ###
+secring.*
+
+
### Intellij+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
@@ -119,6 +123,101 @@ fabric.properties
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
+### macOS ###
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+### macOS Patch ###
+# iCloud generated files
+*.icloud
+
+### NotepadPP ###
+# Notepad++ backups #
+*.bak
+
+### SSH ###
+**/.ssh/id_*
+**/.ssh/*_id_*
+**/.ssh/known_hosts
+
+### SublimeText ###
+# Cache files for Sublime Text
+*.tmlanguage.cache
+*.tmPreferences.cache
+*.stTheme.cache
+
+# Workspace files are user-specific
+*.sublime-workspace
+
+# Project files should be checked into the repository, unless a significant
+# proportion of contributors will probably not be using Sublime Text
+# *.sublime-project
+
+# SFTP configuration file
+sftp-config.json
+sftp-config-alt*.json
+
+# Package control specific files
+Package Control.last-run
+Package Control.ca-list
+Package Control.ca-bundle
+Package Control.system-ca-bundle
+Package Control.cache/
+Package Control.ca-certs/
+Package Control.merged-ca-bundle
+Package Control.user-ca-bundle
+oscrypto-ca-bundle.crt
+bh_unicode_properties.cache
+
+# Sublime-github package stores a github token in this file
+# https://packagecontrol.io/packages/sublime-github
+GitHub.sublime-settings
+
+### Vim ###
+# Swap
+[._]*.s[a-v][a-z]
+!*.svg # comment out if you don't need vector files
+[._]*.sw[a-p]
+[._]s[a-rt-v][a-z]
+[._]ss[a-gi-z]
+[._]sw[a-p]
+
+# Session
+Session.vim
+Sessionx.vim
+
+# Temporary
+.netrwhist
+# Auto-generated tag files
+tags
+# Persistent undo
+[._]*.un~
+
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
@@ -164,4 +263,4 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk
-# End of https://www.toptal.com/developers/gitignore/api/intellij+all,visualstudiocode,git,windows,linux
+# End of https://www.toptal.com/developers/gitignore/api/git,gpg,ssh,vim,linux,macos,windows,notepadpp,sublimetext,intellij+all,visualstudiocode
diff --git a/LICENSE b/LICENSE
index 7fa4a60..dde1197 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,74 +1,70 @@
-Copyright (c) 2020, SegoCode
+Copyright (c) {username}
All rights reserved.
-Section 1 – Definitions.
+Section 1 - Definitions
- 1. NonCommercial refers to any usage, distribution, or adaptation of the licensed
- material that is not primarily intended for or directed towards commercial
- advantage or monetary compensation, unless specific prior explicit and signed
- written permission is granted by the original author, SegoCode.
+1.1 "NonCommercial" pertains to any use, distribution, or modification of the
+ licensed material that does not primarily aim to achieve commercial
+ advantage or generate monetary compensation. This includes, but is not
+ limited to, activities such as distributing the licensed material as part
+ of an application or product that is sold, using the licensed material in
+ advertising, and creating products or services with the licensed material
+ that are subsequently sold.
- 2. Adapted Material refers to any material derived from or based upon the licensed
- material, in which the licensed material is translated, altered, arranged,
- transformed, or otherwise modified. This definition excludes exact copies of
- the material.
+1.2 "Adapted Material" refers to any work derived from or based upon the licensed
+ material. This includes, but is not limited to, translations, alterations,
+ rearrangements, transformations, source code modifications, compiled code
+ alterations, architectural redesigns, or the integration of the licensed
+ material into other software projects.
- 3. ProhibitedPractices include, but are not limited to:
-
- a. Derived or adapted material must clearly acknowledge the original work and the
- original author, SegoCode, in a place in the documentation or other materials
- provided with the distribution. This acknowledgment should include a link to the
- original source code repository.
- b. Distributing the licensed material bundled with unrelated or potentially harmful
- software, such as adware, malware, or spyware, that may compromise the security,
- privacy, or user experience of individuals who access or use the material.
- c. Falsely claiming endorsements or associations with the original author, other
- contributors to the project, or any well-known entity, in an attempt to
- mislead users or enhance the credibility of the derived or adapted material.
+1.3 "NonAdapted Material" refers to exact copies of the licensed material, either
+ in source code or binary form, which are reproduced without any changes,
+ modifications, or transformations.
-Section 2 – License Conditions.
+Section 2 - License Conditions
- 1. Redistributions of the licensed material, either in source code or binary form,
- must retain the above copyright notice, this list of conditions, the following
- disclaimer, and the definitions in Section 1. When redistributing in binary
- form, these elements must be included in the documentation and/or other
- materials provided with the distribution.
+2.1 Distribution and usage in source or binary forms are permitted solely for
+ NonCommercial purposes for both NonAdapted Material and Adapted Material
+ excluding NonAdapted Material cases in 2.4 section.
+
+2.2 Redistributions for any NonAdapted Material or Adapted Material, either
+ in source code or binary form, must include the original copyright notice,
+ this license, the disclaimer, and comply with the requirements specified
+ herein. For binary form redistributions, these documents must be included
+ in any provided documentation or materials or a clearly accessible link
+ to this license ensuring that recipients can easily review the license terms.
- 2. Redistribution and use of the material, in source or binary forms, are allowed
- for NonCommercial purposes only. The creation, reproduction, and sharing of adapted
- material are also permitted for NonCommercial purposes, provided that no
- ProhibitedPractices are involved in any case.
+2.3 For any Adapted Material, whether in source code or binary form, and for any
+ instance of the licensed material utilized in applications accessible over
+ the internet that run on a server, the source code must be made accessible
+ through a public repository, a downloadable archive, or an equivalent
+ method, ensuring that users have the capability to access, review, and
+ download the code, and must clearly credit the original work and author.
- 3. Redistribution of Adapted Material must be available in a publicly accessible
- compressed or archival form, which includes the source code of the Adapted
- Material, all modules it contains, any associated interface definition files,
- scripts used to control compilation and installation of executable code, and
- the appropriate decompression or de-archiving software widely available for
- no charge. Redistribution should be free of charge unless otherwise agreed upon
- with the original author, SegoCode.
+2.4 For any NonAdapted Material that are offered on download sites, marketplaces, or
+ software distribution platforms, are permitted under the condition that any
+ economic benefit derived from such distribution is strictly indirect, including
+ but not limited to advertisements or link redirectors. Direct sales or charges
+ for access to the licensed material are not permitted under this license. Upon
+ the original author distributing the material on the same platform, all alternative
+ downloads and any associated revenue-generating mechanisms must be discontinued
+ immediately. Acceptance of this license constitutes agreement that the copyright
+ holder may request the immediate cessation of such downloads and activities on
+ such platforms, and the distributor must comply with such request without delay.
- 4. If you allow users to interact with the Adapted Material remotely via a computer
- network, you must provide the complete corresponding machine-readable source code for
- the version they are using. This source code must be provided under the same terms and
- conditions outlined in this license, and through a publicly accessible repository, a
- downloadable archive, or other readily accessible means. This requirement applies even
- if you run the Adapted Material on a server and users interact with it remotely through
- a network.
+2.5 Distributing the licensed material alongside unrelated or harmful software, such as adware,
+ malware, or spyware or implying endorsement or association with the original author
+ or recognized entities without permission, is prohibited.
- 5. It is encouraged to acknowledge the original author of the initial
- work of the project, SegoCode, when using the licensed material or related works/services
- in any derivative or adapted work. However, if an agreement is reached with the
- original author, SegoCode, the acknowledgment requirement may be waived or
- adjusted according to the terms of the agreement.
+Section 3 - Updates and Revisions
-Section 3 – Updates and Revisions.
+3.1 The copyright holder retains the right to amend, update, or otherwise modify this
+ license at any time without prior notice. Users should periodically review the
+ license terms to stay informed of any changes.
- 1. SegoCode reserves the right to revise, update, or change this license at any time,
- without any obligation to provide prior notice or notification to users.
-
- 2. Continued use of the licensed material following any changes to the license constitutes
- acceptance of those changes. It is the user's responsibility to regularly review the
- license terms and ensure compliance with its current version.
+3.2 Continued use of the licensed material after such changes signifies acceptance of the
+ revised license terms. It is the user's responsibility to ensure ongoing compliance
+ with the most current version of the license.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
diff --git a/README.md b/README.md
index 3538961..888a481 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ Yes, I know... Here is another ugly meme script to debloat Windows, this no long
## Features
-- Real and secure, easy readable code, offline Windows Activation (KMS38)
+- Real and secure and easy readable code for offline Windows Activation.
- Readable, well organized script, avoids a single, unreadable monolithic script.
- Windows service configuration.
- Privacy and QoL Group Policy tweaks.
@@ -25,7 +25,7 @@ Yes, I know... Here is another ugly meme script to debloat Windows, this no long
## Quick Start & Information
-Lauch option 1:
+Lauch option 1 (Recommended):
```shell
irm https://raw.githubusercontent.com/SegoCode/DebloBat/main/code/launcher.ps1 | iex
```
@@ -35,58 +35,7 @@ git clone https://github.com/SegoCode/DebloBat
cd DebloBat\code
Deblo.bat
```
-Or [donwload a zip](https://github.com/SegoCode/DebloBat/archive/refs/heads/main.zip) and click on deblo.bat file.
-
-
-
- Why can't software installation be left unattended? Is there any way to install my software in an unattended way?
-
- ##
- At first, the download manager had all the links to official programs handy, and I went through the documentation for each one to customize all installations silently. However, it was challenging to maintain. The "deblobat philosophy" aims to be as non-intrusive as possible, so using a package manager seemed intrusive to the system. Therefore, I simply download those binaries to make access easier for the user.
-
-Still, if you want to unattended that process, I recommend "scoop." In its new version, it's quite decent. Here's a text block example that you can simply copy and paste using the button into your PowerShell terminal to install the software:
-```shell
-# Enable long paths in Windows registry for Scoop
-Start-Process powershell -ArgumentList "-Command Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1" -Verb RunAs -Wait
-
-# Install Scoop
-Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
-Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
-
-# Install essential Scoop packages
-scoop install refreshenv
-
-scoop install 7zip
-refreshenv
-
-scoop install git
-refreshenv
-
-scoop install innounp
-refreshenv
-
-scoop install wixtoolset
-refreshenv
-
-scoop bucket add extras
-scoop bucket add java
-refreshenv
-
-# You can add or remove programs below this section as needed
-scoop install java/temurin-jdk
-scoop install main/nodejs-lts
-scoop install main/go
-scoop install extras/filezilla
-scoop install extras/vlc
-scoop install extras/qview
-scoop install extras/qbittorrent-enhanced
-scoop install extras/telegram
-scoop install extras/discord
-scoop install extras/sublime-text
-scoop install extras/flameshot
-scoop install extras/simplewall
-scoop install extras/firefox
-```
+Or [donwload a zip](https://github.com/SegoCode/DebloBat/archive/refs/heads/main.zip) and double click on deblo.bat file, just that.
diff --git a/code/launcher.ps1 b/code/launcher.ps1
index f5ee7b4..0ba5fd7 100644
--- a/code/launcher.ps1
+++ b/code/launcher.ps1
@@ -6,8 +6,11 @@ param (
if ([string]::IsNullOrWhiteSpace($batchFilePath) -eq $false -and $batchFilePath.Length -gt 0) {
# Now, safely check if the file exists
if (Test-Path -Path $batchFilePath) {
- # If the file exists, run it as administrator
- Start-Process $batchFilePath -Verb RunAs
+ if ($batchFilePath -notmatch "downloadcenter") {
+ Start-Process $batchFilePath -Verb RunAs
+ } else {
+ Start-Process -FilePath "conhost.exe" -ArgumentList "cmd /c `"$batchFilePath`""
+ }
}
} else {
# This workflow will be triggered to obtain deblobat over the internet with a command
diff --git a/code/modules/appsmanager.ps1 b/code/modules/appsmanager.ps1
deleted file mode 100644
index 13084fe..0000000
--- a/code/modules/appsmanager.ps1
+++ /dev/null
@@ -1,104 +0,0 @@
-Add-Type -AssemblyName PresentationFramework
-Add-Type -AssemblyName System.Windows.Forms
-
-# Define the GUI XML in a multi-line string
-$xaml = @"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-"@
-
-# Load the XAML from the string
-$reader = New-Object System.Xml.XmlNodeReader ([xml]$xaml)
-$window = [Windows.Markup.XamlReader]::Load($reader)
-
-# Reference GUI elements
-$appListBox = $window.FindName("AppListBox")
-$toggleButton = $window.FindName("ToggleSelectButton")
-$uninstallButton = $window.FindName("UninstallButton")
-$restoreButton = $window.FindName("RestoreButton")
-$progressBar = $window.FindName("ProgressBar")
-
-# Function for the toggle button
-$toggleButton.Add_Click({
- $allChecked = $true
- foreach ($item in $appListBox.Items) {
- if (-not $item.IsSelected) {
- $allChecked = $false
- break
- }
- }
- $newValue = -not $allChecked
- foreach ($item in $appListBox.Items) {
- $item.IsSelected = $newValue
- }
- $appListBox.Items.Refresh()
-})
-
-# Function for the uninstall button
-$uninstallButton.Add_Click({
- $selectedItems = $appListBox.Items | Where-Object { $_.IsSelected -eq $true -and $_.PackageFullName -notmatch "Microsoft.WindowsStore" }
- $totalItems = $selectedItems.Count
- $progressCounter = 0
- foreach ($item in $selectedItems) {
- Remove-AppxPackage -Package $item.PackageFullName -AllUsers -Confirm:$false
- $progressCounter++
- $progressBar.Value = ($progressCounter / $totalItems) * 100
- }
- Update-AppList
-})
-
-# Function for the restore button
-$restoreButton.Add_Click({
- Get-AppxPackage -AllUsers | Foreach {
- Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
- }
- Update-AppList
-})
-
-# Function to update the application list
-function Update-AppList {
- $packages = Get-AppxPackage -AllUsers -PackageTypeFilter Bundle |
- Where-Object { $_.NonRemovable -eq $False } |
- Select-Object Name, PackageFullName, @{Name="IsSelected"; Expression={ $false }}
- $appListBox.ItemsSource = $packages
- $appListBox.Items.Refresh()
-}
-
-# Initialize the application list
-Update-AppList
-
-# Display the window
-$window.ShowDialog()
diff --git a/code/modules/downloadcenter.bat b/code/modules/downloadcenter.bat
index ca56f3b..5d956fb 100644
--- a/code/modules/downloadcenter.bat
+++ b/code/modules/downloadcenter.bat
@@ -12,11 +12,16 @@ echo Always latest version and official links
echo -----------------------------------------------
echo.
echo This tool utilizes Scoop repositories to fetch the latest
-echo versions of software. It won't install the software,
-echo instead, it creates an installation folder on your
-echo desktop where the downloads are saved. You can then
-echo decide how to proceed with the installers. If you want
-echo you can install scoop by typing "scoop" as input.
+echo versions of software.
+echo.
+echo If scoop are [1;32menabled[m it will install the software
+echo using scoop. You can install scoop by typing "[1;35mscoop[m"
+echo as input. If are [1;31mdisabled[m, it creates an installation
+echo folder on your desktop with the software files. For more
+echo info type "[1;35mhelp[m"
+
+call utils\RefreshEnv.cmd > nul 2>&1
+
echo.
ping -n 2 8.8.8.8 > nul
if not %errorlevel% == 1 (
@@ -28,27 +33,129 @@ if not %errorlevel% == 1 (
where scoop >nul 2>nul
if %errorlevel% == 0 (
echo Scoop installation = [[1;32m Enabled [m]
+ set "scoopInstalled=true"
) else (
echo Scoop installation = [[1;31m Disabled [m]
+ set "scoopInstalled=false"
)
echo.
cd %~dp0
-echo [1] Mozilla Firefox = [[1;32m Download [m]
-echo [2] VLC Media Player = [[1;32m Download [m]
-echo [3] 7-Zip = [[1;32m Download [m]
-echo [4] qBittorrent Enhanced = [[1;32m Download [m]
-echo [5] Steam = [[1;32m Download [m]
-echo [6] Discord = [[1;32m Download [m]
-echo [7] File Converter = [[1;32m Download [m]
-echo [8] Telegram = [[1;32m Download [m]
-echo [9] Spotify = [[1;32m Download [m]
-echo [10] SimpleWall = [[1;32m Download [m]
-echo [11] Ungoogled Chromium = [[1;32m Download [m]
-echo [12] Brave Browser = [[1;32m Download [m]
-echo [13] qView = [[1;32m Download [m]
-echo [14] Sublime Text = [[1;32m Download [m]
-echo [15] Flameshot = [[1;32m Download [m]
+
+powershell -Command "scoop which librewolf" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [1] Librewolf = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [1] Librewolf = [[1;32m Install with scoop [m]
+ ) else (
+ echo [1] Librewolf = [[1;32m Download in desktop [m]
+ )
+)
+
+powershell -Command "scoop which vlc" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [2] VLC Media Player = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [2] VLC Media Player = [[1;32m Install with scoop [m]
+ ) else (
+ echo [2] VLC Media Player = [[1;32m Download in desktop [m]
+ )
+)
+
+powershell -Command "scoop which qview" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [3] qview = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [3] qview = [[1;32m Install with scoop [m]
+ ) else (
+ echo [3] qview = [[1;32m Download in desktop [m]
+ )
+)
+
+
+powershell -Command "scoop which qbittorrent" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [4] qBittorrent Enhanced = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [4] qBittorrent Enhanced = [[1;32m Install with scoop [m]
+ ) else (
+ echo [4] qBittorrent Enhanced = [[1;32m Download in desktop [m]
+ )
+)
+
+powershell -Command "scoop which telegram" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [5] telegram = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [5] telegram = [[1;32m Install with scoop [m]
+ ) else (
+ echo [5] telegram = [[1;32m Download in desktop [m]
+ )
+)
+
+powershell -Command "scoop which subl" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [6] sublime-text = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [6] sublime-text = [[1;32m Install with scoop [m]
+ ) else (
+ echo [6] sublime-text = [[1;32m Download in desktop [m]
+ )
+)
+
+
+powershell -Command "scoop which simplewall" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [7] simplewall = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [7] simplewall = [[1;32m Install with scoop [m]
+ ) else (
+ echo [7] simplewall = [[1;32m Download in desktop [m]
+ )
+)
+
+powershell -Command "scoop which flameshot" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [8] flameshot = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [8] flameshot = [[1;32m Install with scoop [m]
+ ) else (
+ echo [8] flameshot = [[1;32m Download in desktop [m]
+ )
+)
+
+
+powershell -Command "scoop which brave" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [9] Brave = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [9] Brave = [[1;32m Install with scoop [m]
+ ) else (
+ echo [9] Brave = [[1;32m Download in desktop [m]
+ )
+)
+
+powershell -Command "scoop which java" >nul 2>&1
+if %ERRORLEVEL% == 0 (
+ echo [10] java = [[1;42m Installed [m]
+) else (
+ if "%scoopInstalled%"=="true" (
+ echo [10] java = [[1;32m Install with scoop [m]
+ ) else (
+ echo [10] java = [[1;32m Download in desktop [m]
+ )
+)
+
+echo [11] Steam = [[1;32m Download in desktop [m]
echo.
echo [0] Return to menu
@@ -59,61 +166,132 @@ set /P N=Select your task and press Enter ^>
setlocal
cls
-powershell "Set-ExecutionPolicy Unrestricted -force 2>&1 | Out-Null" > nul 2>&1
-
if %N%==1 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "firefox"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/librewolf"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "librewolf"
+ )
)
+
if %N%==2 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "vlc"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/vlc"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "vlc"
+ )
)
+
if %N%==3 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "7zip"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/qview"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "qview"
+ )
)
+
if %N%==4 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "qbittorrent-enhanced"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/qbittorrent-enhanced"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "qbittorrent-enhanced"
+ )
)
+
if %N%==5 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "steam"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/telegram"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "telegram"
+ )
)
+
if %N%==6 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "discord"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/sublime-text"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "sublime-text"
+ )
)
+
+
if %N%==7 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "file-converter"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/simplewall"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "simplewall"
+ )
)
+
+
if %N%==8 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "telegram"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/flameshot"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "flameshot"
+ )
)
+
if %N%==9 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "spotify"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install extras/brave"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "brave"
+ )
)
+
if %N%==10 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "simplewall"
+ if "%scoopInstalled%"=="true" (
+ powershell -Command "scoop install java/temurin-jdk"
+ ) else (
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "java"
+ )
)
+
if %N%==11 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "ungoogled-chromium"
-)
-if %N%==12 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "brave"
-)
-if %N%==13 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "qview"
-)
-if %N%==14 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "sublime-text"
-)
-if %N%==15 (
- powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "flameshot"
+ powershell -File ".\utils\chibiScoop.ps1" -SoftwareName "steam"
)
+
if /i "%N%"=="scoop" (
- reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v "LongPathsEnabled" /t REG_DWORD /d 1 /f > nul 2>&1
- powershell -Command "Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression"
- pause
+ powershell -Command "Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression"
+ call utils\RefreshEnv.cmd
+ echo.
+
+ powershell -Command "scoop install main/7zip"
+ call utils\RefreshEnv.cmd
+ echo.
+
+ powershell -Command "scoop install main/git"
+ call utils\RefreshEnv.cmd
+ echo.
+
+ powershell -Command "scoop install main/innounp"
+ call utils\RefreshEnv.cmd
+ echo.
+
+ powershell -Command "scoop install main/wixtoolset"
+ call utils\RefreshEnv.cmd
+ echo.
+
+ powershell -Command "scoop bucket add extras"
+ call utils\RefreshEnv.cmd
+ echo.
+
+ powershell -Command "scoop bucket add java"
+ call utils\RefreshEnv.cmd
+ echo.
+
+ echo Scoop and the software required for its operation installed, check the log before proceeding.
+)
+
+if /i "%N%"=="help" (
+ start https://scoop.sh/
)
if %N%==0 (goto EOF)
+echo.
+pause
endlocal
goto DOWNLOADCENTER
:EOF
diff --git a/code/modules/localgroup.bat b/code/modules/localgroup.bat
index 85458f4..9c0c118 100644
--- a/code/modules/localgroup.bat
+++ b/code/modules/localgroup.bat
@@ -175,7 +175,22 @@ if not %errorlevel% == 1 (
)
-echo [24] Apply all = [[1;31m * [m]
+reg query "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsAI" /v DisableAIDataAnalysis > nul 2>&1
+if not %errorlevel% == 1 (
+ echo [24] WindowsAI Data Collection = [[1;32m Disabled [m]
+) else (
+ echo [24] WindowsAI Data Collection = [[1;31m Enabled [m]
+)
+
+reg query "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System" /v AllowCrossDeviceClipboard > nul 2>&1
+if not %errorlevel% == 1 (
+ echo [25] Cloud Clipboard = [[1;32m Disabled [m]
+) else (
+ echo [25] Cloud Clipboard = [[1;31m Enabled [m]
+)
+
+
+echo [26] Apply all = [[1;31m * [m]
echo.
echo [0] Exit
@@ -206,8 +221,10 @@ if %N%==20 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersi
if %N%==21 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\TabletPC" && set key=PreventHandwritingDataSharing && set value=1)
if %N%==22 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System" && set key=PublishUserActivities && set value=0)
if %N%==23 (set path="HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\TextInput" && set key=AllowLinguisticDataCollection && set value=0)
+if %N%==24 (set path="HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsAI" && set key=DisableAIDataAnalysis && set value=1)
+if %N%==25 (set path="HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsAI" && set key=DisableAIDataAnalysis && set value=0)
-if %N%==24 (set loopcount=23 && goto APPLYALLLOCALGROUP)
+if %N%==26 (set loopcount=25 && goto APPLYALLLOCALGROUP)
if %N%==0 (goto INIT)
reg query %path% /v %key% > nul 2>&1
@@ -243,6 +260,8 @@ if %loopcount%==20 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr
if %loopcount%==21 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\TabletPC" && set key=PreventHandwritingDataSharing && set value=1)
if %loopcount%==22 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System" && set key=PublishUserActivities && set value=0)
if %loopcount%==23 (set path="HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\TextInput" && set key=AllowLinguisticDataCollection && set value=0)
+if %loopcount%==24 (set path="HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsAI" && set key=DisableAIDataAnalysis && set value=1)
+if %loopcount%==25 (set path="HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsAI" && set key=DisableAIDataAnalysis && set value=0)
reg query %path% /v %key% > nul 2>&1
diff --git a/code/modules/logs/.gitkeep b/code/modules/logs/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/code/modules/otherlocalgroup.bat b/code/modules/otherlocalgroup.bat
index 089415a..c3dad0c 100644
--- a/code/modules/otherlocalgroup.bat
+++ b/code/modules/otherlocalgroup.bat
@@ -148,8 +148,15 @@ if not %errorlevel% == 1 (
echo [19] Enables activities feed = [[1;31m Enabled [m]
)
+reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FindMyDevice" /v AllowFindMyDevice > nul 2>&1
+if not %errorlevel% == 1 (
+ echo [20] Enables find my device = [[1;32m Disabled [m]
+) else (
+ echo [20] Enables find my device = [[1;31m Enabled [m]
+)
+
-echo [20] Apply all = [[1;31m * [m]
+echo [21] Apply all = [[1;31m * [m]
echo.
echo [0] Exit
@@ -176,8 +183,9 @@ if %N%==16 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Exp
if %N%==17 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" && set key=NoAutoUpdate && set value=1)
if %N%==18 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" && set key=ExcludeWUDriversInQualityUpdate && set value=1)
if %N%==19 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System" && set key=EnableActivityFeed && set value=0)
+if %N%==20 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FindMyDevice" && set key=AllowFindMyDevice && set value=0)
-if %N%==20 (set loopcount=19 && goto APPLYALLOTHERLOCALGROUP)
+if %N%==21 (set loopcount=20 && goto APPLYALLOTHERLOCALGROUP)
if %N%==0 (goto EOF)
reg query %path% /v %key% > nul 2>&1
@@ -209,6 +217,7 @@ if %loopcount%==16 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Win
if %loopcount%==17 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" && set key=NoAutoUpdate && set value=1)
if %loopcount%==18 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" && set key=ExcludeWUDriversInQualityUpdate && set value=1)
if %loopcount%==19 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System" && set key=EnableActivityFeed && set value=0)
+if %loopcount%==20 (set path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FindMyDevice" && set key=AllowFindMyDevice && set value=0)
reg query %path% /v %key% > nul 2>&1
diff --git a/code/modules/qolconfig.bat b/code/modules/qolconfig.bat
index d55f28f..505a9f9 100644
--- a/code/modules/qolconfig.bat
+++ b/code/modules/qolconfig.bat
@@ -126,9 +126,9 @@ reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v
reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v LaunchTo | find "0x1" > nul 2>&1
)
if not %errorlevel% == 1 (
- echo [13] File Explorer opens to This PC = [[1;32m Disabled [m]
+ echo [13] File Explorer opens home = [[1;32m Disabled [m]
) else (
- echo [13] File Explorer opens to This PC = [[1;31m Enabled [m]
+ echo [13] File Explorer opens home = [[1;31m Enabled [m]
)
reg query "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell" /v FolderType > nul 2>&1 && (
@@ -159,7 +159,33 @@ if not %errorlevel% == 1 (
)
+reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled > nul 2>&1 && (
+ reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled | find "0x0" > nul 2>&1
+)
+if not %errorlevel% == 1 (
+ echo [17] Gaming overlay popup = [[1;32m Disabled [m]
+) else (
+ echo [17] Gaming overlay popup = [[1;31m Enabled [m]
+)
+reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers" /v TdrDelay > nul 2>&1 && (
+ reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers" /v TdrDelay | find "0x2" > nul 2>&1
+)
+if not %errorlevel% == 1 (
+ echo [18] TdrDelay default value = [[1;31m Enabled [m]
+) else (
+ echo [18] TdrDelay default value = [[1;32m Disabled [m]
+)
+
+
+reg query "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell" /v FolderType > nul 2>&1 && (
+ reg query "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell" /v FolderType | find "NotSpecified" > nul 2>&1
+)
+if %errorlevel% == 0 (
+ echo [19] Default FolderType set = [[1;32m Disabled [m]
+) else (
+ echo [19] Default FolderType set = [[1;31m Enabled [m]
+)
echo.
echo [0] Return to menu
@@ -398,6 +424,32 @@ if %N%==16 (
)
)
+if %N%==17 (
+ reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled | find "0x0" > nul 2>&1
+ if not !ERRORLEVEL! == 1 (
+ reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled /t REG_DWORD /d 1 /f > nul 2>&1
+ ) else (
+ reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled /t REG_DWORD /d 0 /f > nul 2>&1
+ )
+)
+
+if %N%==18 (
+ reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers" /v TdrDelay | find "0x2" > nul 2>&1
+ if not !ERRORLEVEL! == 0 (
+ reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers" /v TdrDelay /t REG_DWORD /d 2 /f > nul 2>&1
+ ) else (
+ reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers" /v TdrDelay /t REG_DWORD /d 20 /f > nul 2>&1
+ )
+)
+
+if %N%==19 (
+ reg query "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell" /v FolderType | find "NotSpecified" > nul 2>&1
+ if !ERRORLEVEL! == 1 (
+ reg add "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell" /v FolderType /t REG_SZ /d "NotSpecified" /f > nul 2>&1
+ ) else (
+ reg delete "HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell" /v FolderType /f > nul 2>&1
+ )
+)
endlocal
diff --git a/code/modules/utils/RefreshEnv.cmd b/code/modules/utils/RefreshEnv.cmd
new file mode 100644
index 0000000..e1b0e4a
--- /dev/null
+++ b/code/modules/utils/RefreshEnv.cmd
@@ -0,0 +1,130 @@
+:: Code generously provided by @beatcracker: https://github.com/beatcracker/detect-batch-subshell
+@echo off
+
+setlocal EnableDelayedExpansion
+
+:: Dequote path to command processor and this script path
+set ScriptPath=%~0
+set CmdPath=%COMSPEC:"=%
+
+:: Get command processor filename and filename with extension
+for %%c in (!CmdPath!) do (
+ set CmdExeName=%%~nxc
+ set CmdName=%%~nc
+)
+
+:: Get this process' PID
+:: Adapted from: http://www.dostips.com/forum/viewtopic.php?p=22675#p22675
+set "uid="
+for /l %%i in (1 1 128) do (
+ set /a "bit=!random!&1"
+ set "uid=!uid!!bit!"
+)
+
+for /f "tokens=2 delims==" %%i in (
+ 'wmic Process WHERE "Name='!CmdExeName!' AND CommandLine LIKE '%%!uid!%%'" GET ParentProcessID /value'
+) do (
+ rem Get commandline of parent
+ for /f "tokens=1,2,*" %%j in (
+ 'wmic Process WHERE "Handle='%%i'" GET CommandLine /value'
+ ) do (
+
+ rem Strip extra CR's from wmic output
+ rem http://www.dostips.com/forum/viewtopic.php?t=4266
+ for /f "delims=" %%x in ("%%l") do (
+ rem Dequote path to batch file, if any (3rd argument)
+ set ParentScriptPath=%%x
+ set ParentScriptPath=!ParentScriptPath:"=!
+ )
+
+ rem Get parent process path
+ for /f "tokens=2 delims==" %%y in ("%%j") do (
+ rem Dequote parent path
+ set ParentPath=%%y
+ set ParentPath=!ParentPath:"=!
+
+ rem Handle different invocations: C:\Windows\system32\cmd.exe , cmd.exe , cmd
+ for %%p in (!CmdPath! !CmdExeName! !CmdName!) do (
+ if !ParentPath!==%%p set IsCmdParent=1
+ )
+
+ rem Check if we're running in cmd.exe with /c switch and this script path as argument
+ if !IsCmdParent!==1 if %%k==/c if "!ParentScriptPath!"=="%ScriptPath%" set IsExternal=1
+ )
+ )
+)
+
+if !IsExternal!==1 (
+ echo %~nx0 does not work when run from this process. If you're in PowerShell, please 'Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1' and try again.
+ exit 1
+)
+
+endlocal
+:: End code from @beatcracker
+@echo off
+::
+:: RefreshEnv.cmd
+::
+:: Batch file to read environment variables from registry and
+:: set session variables to these values.
+::
+:: With this batch file, there should be no need to reload command
+:: environment every time you want environment changes to propagate
+
+::echo "RefreshEnv.cmd only works from cmd.exe, please install the Chocolatey Profile to take advantage of refreshenv from PowerShell"
+echo | set /p dummy="Refreshing environment variables from registry for cmd.exe. Please wait..."
+
+goto main
+
+:: Set one environment variable from registry key
+:SetFromReg
+ "%WinDir%\System32\Reg" QUERY "%~1" /v "%~2" > "%TEMP%\_envset.tmp" 2>NUL
+ for /f "usebackq skip=2 tokens=2,*" %%A IN ("%TEMP%\_envset.tmp") do (
+ echo/set "%~3=%%B"
+ )
+ goto :EOF
+
+:: Get a list of environment variables from registry
+:GetRegEnv
+ "%WinDir%\System32\Reg" QUERY "%~1" > "%TEMP%\_envget.tmp"
+ for /f "usebackq skip=2" %%A IN ("%TEMP%\_envget.tmp") do (
+ if /I not "%%~A"=="Path" (
+ call :SetFromReg "%~1" "%%~A" "%%~A"
+ )
+ )
+ goto :EOF
+
+:main
+ echo/@echo off >"%TEMP%\_env.cmd"
+
+ :: Slowly generating final file
+ call :GetRegEnv "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" >> "%TEMP%\_env.cmd"
+ call :GetRegEnv "HKCU\Environment">>"%TEMP%\_env.cmd" >> "%TEMP%\_env.cmd"
+
+ :: Special handling for PATH - mix both User and System
+ call :SetFromReg "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" Path Path_HKLM >> "%TEMP%\_env.cmd"
+ call :SetFromReg "HKCU\Environment" Path Path_HKCU >> "%TEMP%\_env.cmd"
+
+ :: Caution: do not insert space-chars before >> redirection sign
+ echo/set "Path=%%Path_HKLM%%;%%Path_HKCU%%" >> "%TEMP%\_env.cmd"
+
+ :: Cleanup
+ del /f /q "%TEMP%\_envset.tmp" 2>nul
+ del /f /q "%TEMP%\_envget.tmp" 2>nul
+
+ :: capture user / architecture
+ SET "OriginalUserName=%USERNAME%"
+ SET "OriginalArchitecture=%PROCESSOR_ARCHITECTURE%"
+
+ :: Set these variables
+ call "%TEMP%\_env.cmd"
+
+ :: Cleanup
+ del /f /q "%TEMP%\_env.cmd" 2>nul
+
+ :: reset user / architecture
+ SET "USERNAME=%OriginalUserName%"
+ SET "PROCESSOR_ARCHITECTURE=%OriginalArchitecture%"
+
+ echo | set /p dummy="Finished."
+ echo .
diff --git a/code/modules/utils/TakeOwnership.reg b/code/modules/utils/TakeOwnership.reg
new file mode 100644
index 0000000..979d096
Binary files /dev/null and b/code/modules/utils/TakeOwnership.reg differ
diff --git a/code/modules/utils/chibiScoop.ps1 b/code/modules/utils/chibiScoop.ps1
index a2d8972..1f7ef82 100644
--- a/code/modules/utils/chibiScoop.ps1
+++ b/code/modules/utils/chibiScoop.ps1
@@ -4,7 +4,7 @@ param(
# Dictionary mapping software names to metadata URLs
$urlDictionary = @{
- "firefox" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/firefox.json"
+ "librewolf" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/librewolf.json"
"vlc" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/vlc.json"
"7zip" = "https://raw.githubusercontent.com/ScoopInstaller/Main/master/bucket/7zip.json"
"qbittorrent-enhanced"= "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/qbittorrent-enhanced.json"
@@ -15,10 +15,11 @@ $urlDictionary = @{
"spotify" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/spotify.json"
"simplewall" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/simplewall.json"
"ungoogled-chromium" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/ungoogled-chromium.json"
- "brave" = "https://github.com/ScoopInstaller/Extras/blob/master/bucket/brave.json"
+ "brave" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/brave.json"
"qview" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/qview.json"
"sublime" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/sublime-text.json"
"flameshot" = "https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/flameshot.json"
+ "java" = "https://raw.githubusercontent.com/ScoopInstaller/Java/master/bucket/temurin-jdk.json"
}
# Check if the software name provided is valid in the dictionary
@@ -59,4 +60,4 @@ $destinationPath = Join-Path $destinationFolder $fileName
# Download the file using curl.exe
curl.exe -L $downloadUrl -o $destinationPath
-Write-Host "Download completed: $destinationPath"
\ No newline at end of file
+Write-Host "Download completed: $destinationPath"
diff --git a/docs/.gitkeep b/docs/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/docs/.gitkeep
@@ -0,0 +1 @@
+