Add configuration files for system settings and browser preferences

- Create registry.csv to define various Windows registry settings for privacy, telemetry, and UI preferences.
- Add betterfoxoverrides.js for Firefox to restore login manager, address and credit card manager, and customize new tab page settings.
- Introduce smoothfox.js for Firefox to enable smooth scrolling and adjust mouse wheel settings.
- Establish registry.yaml to organize and document registry paths and values for system, appearance, search, privacy, and application settings.
This commit is contained in:
2026-05-17 23:22:39 +08:00
parent fb01c80ee0
commit c553fbdba5
6 changed files with 727 additions and 332 deletions

View File

@@ -70,22 +70,34 @@ if (-not ($systemPathReference -split ";" | Where-Object { $_ -eq $forgeScriptsP
# Define the base Firefox profiles directory
$profilesDir = "$env:APPDATA\Mozilla\Firefox\Profiles"
# Define the source user.js file
$sourceFile = "$scriptDir\Firefox\user.js" # Use absolute path based on script location
# Download latest Betterfox user.js and append overrides
Write-Host "Downloading latest Betterfox user.js..."
$betterfoxUrl = "https://raw.githubusercontent.com/yokoffing/Betterfox/main/user.js"
$betterfoxContent = (Invoke-WebRequest -Uri $betterfoxUrl -UseBasicParsing).Content
# Check if the source file exists
if (-not (Test-Path -Path $sourceFile)) {
Write-Error "Source user.js file not found at $sourceFile"
exit
# Read local override files
$overridesFile = "$scriptDir\Firefox\betterfoxoverrides.js"
$smoothfoxFile = "$scriptDir\Firefox\smoothfox.js"
$overridesContent = Get-Content -Path $overridesFile -Raw
$smoothfoxContent = Get-Content -Path $smoothfoxFile -Raw
# Insert overrides at the marked sections in Betterfox
$personalMarker = "// Enter your personal overrides below this line:"
$scrollingMarker = "// Enter your scrolling overrides below this line:"
if ($betterfoxContent -match [regex]::Escape($personalMarker)) {
$betterfoxContent = $betterfoxContent -replace [regex]::Escape($personalMarker), "$personalMarker`n$overridesContent"
}
if ($betterfoxContent -match [regex]::Escape($scrollingMarker)) {
$betterfoxContent = $betterfoxContent -replace [regex]::Escape($scrollingMarker), "$scrollingMarker`n$smoothfoxContent"
}
# Loop through all subdirectories in the profiles folder
# Deploy to all Firefox profiles
Get-ChildItem -Path $profilesDir -Directory | ForEach-Object {
$profilePath = $_.FullName
$destinationFile = Join-Path -Path $profilePath -ChildPath "user.js"
# Copy the user.js file to the profile directory
Copy-Item -Path $sourceFile -Destination $destinationFile -Force
Set-Content -Path $destinationFile -Value $betterfoxContent -Force
Write-Host "user.js has been placed in: $profilePath"
}
@@ -93,27 +105,25 @@ Write-Host "Operation completed for all Firefox profiles."
# Path to the CSV file
$csvFilePath = "$scriptDir\registry.csv"
$entries = Import-Csv -Path $csvFilePath
# Path to the YAML registry file
$yamlFilePath = "$scriptDir\registry.yaml"
$yamlContent = Get-Content -Path $yamlFilePath -Raw
foreach ($entry in $entries) {
# Trim fields to remove extra spaces
$registryPath = $entry.registryPath.Trim()
$propertyName = $entry.propertyName.Trim()
$propertyType = $entry.propertyType.Trim()
$propertyValue = $entry.propertyValue.Trim()
# Install powershell-yaml if not already available
if (-not (Get-Module -ListAvailable -Name powershell-yaml)) {
Write-Host "Installing powershell-yaml module..."
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force | Out-Null
Install-Module -Name powershell-yaml -Force -Scope CurrentUser
}
Import-Module powershell-yaml
# Validate required fields
if (-not $registryPath -or -not $propertyName -or -not $propertyType -or -not $propertyValue) {
Write-Warning "Skipping row with incomplete data: $($entry | Out-String)"
continue
}
$blocks = ConvertFrom-Yaml $yamlContent
# Print debug info
#Write-Host "Processing: Path=$registryPath Name=$propertyName Type=$propertyType Value=$propertyValue"
foreach ($block in $blocks) {
$registryPath = $block.path
$defaultType = $block.type # May be null if values use long form
# Check if registry path exists, create if necessary
# Ensure the registry path exists
if (-not (Test-Path $registryPath)) {
try {
New-Item -Path $registryPath -Force | Out-Null
@@ -124,12 +134,37 @@ foreach ($entry in $entries) {
}
}
# Set the registry property
try {
Set-ItemProperty -Path $registryPath -Name $propertyName -Type $propertyType -Value $propertyValue
# Write-Host "Successfully set $propertyName in $registryPath to $propertyValue."
} catch {
Write-Warning "Failed to set $propertyName in $registryPath. $_"
foreach ($item in $block.values) {
if ($block.values -is [System.Collections.IList]) {
# Long form: list of {name, type, value}
$propName = $item.name
$propType = $item.type
$propValue = $item.value
} else {
# Short form: dictionary - foreach over a dict gives KeyValuePair
break
}
try {
Set-ItemProperty -Path $registryPath -Name $propName -Type $propType -Value $propValue
} catch {
Write-Warning "Failed to set $propName in $registryPath. $_"
}
}
# Handle short form: values is a dictionary/hashtable
if ($block.values -isnot [System.Collections.IList]) {
foreach ($key in $block.values.Keys) {
$propName = $key
$propType = $defaultType
$propValue = $block.values[$key]
try {
Set-ItemProperty -Path $registryPath -Name $propName -Type $propType -Value $propValue
} catch {
Write-Warning "Failed to set $propName in $registryPath. $_"
}
}
}
}

View File

@@ -0,0 +1,61 @@
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100);
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
// PREF: restore login manager
user_pref("signon.rememberSignons", true);
// PREF: pop-up to save logins for a new site
user_pref("signon.formlessCapture.enabled", true);
// PREF: restore address and credit card manager
user_pref("extensions.formautofill.addresses.enabled", true);
user_pref("extensions.formautofill.creditCards.enabled", true);
// PREF: restore Top Sites on New Tab page
user_pref("browser.newtabpage.activity-stream.feeds.topsites", true);
// PREF: remove default Top Sites (Facebook, Twitter, etc.)
// This does not block you from adding your own.
user_pref("browser.newtabpage.activity-stream.default.sites", "");
// PREF: remove sponsored content on New Tab page
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Sponsored shortcuts
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); // Recommended by Pocket
user_pref("browser.newtabpage.activity-stream.showSponsored", false); // Sponsored Stories
// PREF: enable container tabs
user_pref("privacy.userContext.enabled", true);
// PREF: enable GPU-accelerated Canvas2D [WINDOWS]
user_pref("gfx.canvas.accelerated", true);
// PREF: restore search engine suggestions
user_pref("browser.search.suggest.enabled", true);
// PREF: Allow uBlock Origin in private browsing
user_pref("extensions.webextensions.privateBrowsing.enabled.uBlock0@raymondhill.net", true);
// PREF: Set search engine placeholders (cosmetic)
user_pref("browser.urlbar.placeholderName", "DuckDuckGo");
user_pref("browser.urlbar.placeholderName.private", "DuckDuckGo");
// PREF: Fake flag but attempting anyways to set default browser
user_pref("browser.search.defaultenginename", "DuckDuckGo");
user_pref("browser.policies.runOncePerModification.setDefaultSearchEngine", "DuckDuckGo");
user_pref("browser.urlbar.placeholderName", "DuckDuckGo");
user_pref("browser.urlbar.placeholderName.private", "DuckDuckGo");
user_pref("browser.preferences.moreFromMozilla", false);
// Disable search suggestions in private browsing
user_pref("browser.search.suggest.enabled.private", false);
// Use separate search engine for private browsing
user_pref("browser.search.separatePrivateDefault", true);
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
// PREF: smart tab groups
user_pref("browser.tabs.groups.smart.enabled", false);
// PREF: restore link previews
user_pref("browser.ml.linkPreview.enabled", true);

4
Firefox/smoothfox.js Normal file
View File

@@ -0,0 +1,4 @@
user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX
user_pref("general.smoothScroll", true); // DEFAULT
user_pref("general.smoothScroll.msdPhysics.enabled", true);
user_pref("mousewheel.default.delta_multiplier_y", 300); // 250-400; adjust this number to your liking

View File

@@ -1,300 +0,0 @@
//
/* You may copy+paste this file and use it as it is.
*
* If you make changes to your about:config while the program is running, the
* changes will be overwritten by the user.js when the application restarts.
*
* To make lasting changes to preferences, you will have to edit the user.js.
*/
/****************************************************************************
* Betterfox *
* "Ad meliora" *
* version: 142 *
* url: https://github.com/yokoffing/Betterfox *
****************************************************************************/
/****************************************************************************
* SECTION: FASTFOX *
****************************************************************************/
/** GENERAL ***/
user_pref("content.notify.interval", 100000);
/** GFX ***/
user_pref("gfx.canvas.accelerated.cache-size", 512);
user_pref("gfx.content.skia-font-cache-size", 20);
/** DISK CACHE ***/
user_pref("browser.cache.disk.enable", false);
/** MEMORY CACHE ***/
user_pref("browser.sessionhistory.max_total_viewers", 4);
/** MEDIA CACHE ***/
user_pref("media.memory_cache_max_size", 65536);
user_pref("media.cache_readahead_limit", 7200);
user_pref("media.cache_resume_threshold", 3600);
/** IMAGE CACHE ***/
user_pref("image.mem.decode_bytes_at_a_time", 32768);
/** NETWORK ***/
user_pref("network.http.max-connections", 1800);
user_pref("network.http.max-persistent-connections-per-server", 10);
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
user_pref("network.http.pacing.requests.enabled", false);
user_pref("network.dnsCacheExpiration", 3600);
user_pref("network.ssl_tokens_cache_capacity", 10240);
/** SPECULATIVE LOADING ***/
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.disablePrefetchFromHTTPS", true);
user_pref("browser.urlbar.speculativeConnect.enabled", false);
user_pref("browser.places.speculativeConnect.enabled", false);
user_pref("network.prefetch-next", false);
user_pref("network.predictor.enabled", false);
/** EXPERIMENTAL ***/
user_pref("layout.css.grid-template-masonry-value.enabled", true);
/****************************************************************************
* SECTION: SECUREFOX *
****************************************************************************/
/** TRACKING PROTECTION ***/
user_pref("browser.contentblocking.category", "strict");
user_pref("privacy.trackingprotection.allow_list.baseline.enabled", true);
user_pref("privacy.trackingprotection.allow_list.convenience.enabled", true);
user_pref("browser.download.start_downloads_in_tmp_dir", true);
user_pref("browser.helperApps.deleteTempFileOnExit", true);
user_pref("browser.uitour.enabled", false);
user_pref("privacy.globalprivacycontrol.enabled", true);
/** OCSP & CERTS / HPKP ***/
user_pref("security.OCSP.enabled", 0);
user_pref("security.pki.crlite_mode", 2);
user_pref("security.csp.reporting.enabled", false);
/** SSL / TLS ***/
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("browser.xul.error_pages.expert_bad_cert", true);
user_pref("security.tls.enable_0rtt_data", false);
/** DISK AVOIDANCE ***/
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
user_pref("browser.sessionstore.interval", 60000);
/** SHUTDOWN & SANITIZING ***/
user_pref("browser.privatebrowsing.resetPBM.enabled", true);
user_pref("privacy.history.custom", true);
/** SEARCH / URL BAR ***/
user_pref("browser.urlbar.trimHttps", true);
user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
user_pref("browser.search.suggest.enabled", false);
user_pref("browser.urlbar.quicksuggest.enabled", false);
user_pref("browser.urlbar.groupLabels.enabled", false);
user_pref("browser.formfill.enable", false);
user_pref("network.IDN_show_punycode", true);
/** PASSWORDS ***/
user_pref("signon.formlessCapture.enabled", false);
user_pref("signon.privateBrowsingCapture.enabled", false);
user_pref("network.auth.subresource-http-auth-allow", 1);
user_pref("editor.truncate_user_pastes", false);
/** MIXED CONTENT + CROSS-SITE ***/
user_pref("security.mixed_content.block_display_content", true);
user_pref("pdfjs.enableScripting", false);
/** EXTENSIONS ***/
user_pref("extensions.enabledScopes", 5);
/** HEADERS / REFERERS ***/
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
/** CONTAINERS ***/
user_pref("privacy.userContext.ui.enabled", true);
/** SAFE BROWSING ***/
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
/** MOZILLA ***/
user_pref("permissions.default.desktop-notification", 2);
user_pref("permissions.default.geo", 2);
user_pref("geo.provider.network.url", "https://beacondb.net/v1/geolocate");
user_pref("browser.search.update", false);
user_pref("permissions.manager.defaultsUrl", "");
user_pref("extensions.getAddons.cache.enabled", false);
/** TELEMETRY ***/
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "data:,");
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.coverage.opt-out", true);
user_pref("toolkit.coverage.opt-out", true);
user_pref("toolkit.coverage.endpoint.base", "");
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false);
user_pref("datareporting.usage.uploadEnabled", false);
/** EXPERIMENTS ***/
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");
/** CRASH REPORTS ***/
user_pref("breakpad.reportURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
/****************************************************************************
* SECTION: PESKYFOX *
****************************************************************************/
/** MOZILLA UI ***/
user_pref("browser.privatebrowsing.vpnpromourl", "");
user_pref("extensions.getAddons.showPane", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("browser.discovery.enabled", false);
user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
user_pref("browser.preferences.moreFromMozilla", false);
user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.aboutwelcome.enabled", false);
user_pref("browser.profiles.enabled", true);
/** THEME ADJUSTMENTS ***/
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("browser.compactmode.show", true);
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
/** AI ***/
user_pref("browser.ml.enable", false);
user_pref("browser.ml.chat.enabled", false);
/** FULLSCREEN NOTICE ***/
user_pref("full-screen-api.transition-duration.enter", "0 0");
user_pref("full-screen-api.transition-duration.leave", "0 0");
user_pref("full-screen-api.warning.timeout", 0);
/** URL BAR ***/
user_pref("browser.urlbar.trending.featureGate", false);
/** NEW TAB PAGE ***/
user_pref("browser.newtabpage.activity-stream.default.sites", "");
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false);
/** POCKET ***/
user_pref("extensions.pocket.enabled", false);
/** DOWNLOADS ***/
user_pref("browser.download.manager.addToRecentDocs", false);
/** PDF ***/
user_pref("browser.download.open_pdf_attachments_inline", true);
/** TAB BEHAVIOR ***/
user_pref("browser.bookmarks.openInTabClosesMenu", false);
user_pref("browser.menu.showViewImageInfo", true);
user_pref("findbar.highlightAll", true);
user_pref("layout.word_select.eat_space_to_next_word", false);
/****************************************************************************
* START: MY OVERRIDES *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
// Enter your personal overrides below this line:
// PREF: improve font rendering by using DirectWrite everywhere like Chrome [WINDOWS]
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100);
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
// PREF: restore login manager
user_pref("signon.rememberSignons", true);
// PREF: pop-up to save logins for a new site
user_pref("signon.formlessCapture.enabled", true);
// PREF: restore address and credit card manager
user_pref("extensions.formautofill.addresses.enabled", true);
user_pref("extensions.formautofill.creditCards.enabled", true);
// PREF: restore Top Sites on New Tab page
user_pref("browser.newtabpage.activity-stream.feeds.topsites", true);
// PREF: remove default Top Sites (Facebook, Twitter, etc.)
// This does not block you from adding your own.
user_pref("browser.newtabpage.activity-stream.default.sites", "");
// PREF: remove sponsored content on New Tab page
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Sponsored shortcuts
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); // Recommended by Pocket
user_pref("browser.newtabpage.activity-stream.showSponsored", false); // Sponsored Stories
// PREF: enable container tabs
user_pref("privacy.userContext.enabled", true);
// PREF: enable GPU-accelerated Canvas2D [WINDOWS]
user_pref("gfx.canvas.accelerated", true);
// PREF: restore search engine suggestions
user_pref("browser.search.suggest.enabled", true);
// PREF: Allow uBlock Origin in private browsing
user_pref("extensions.webextensions.privateBrowsing.enabled.uBlock0@raymondhill.net", true);
// PREF: Set search engine placeholders (cosmetic)
user_pref("browser.urlbar.placeholderName", "DuckDuckGo");
user_pref("browser.urlbar.placeholderName.private", "DuckDuckGo");
// PREF: Fake flag but attempting anyways to set default browser
user_pref("browser.search.defaultenginename", "DuckDuckGo");
user_pref("browser.policies.runOncePerModification.setDefaultSearchEngine", "DuckDuckGo");
user_pref("browser.urlbar.placeholderName", "DuckDuckGo");
user_pref("browser.urlbar.placeholderName.private", "DuckDuckGo");
user_pref("browser.preferences.moreFromMozilla", false);
// Disable search suggestions in private browsing
user_pref("browser.search.suggest.enabled.private", false);
// Use separate search engine for private browsing
user_pref("browser.search.separatePrivateDefault", true);
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
// PREF: smart tab groups
user_pref("browser.tabs.groups.smart.enabled", false);
// PREF: restore link previews
user_pref("browser.ml.linkPreview.enabled", true);
/****************************************************************************
* SECTION: SMOOTHFOX *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
// Enter your scrolling overrides below this line:
/****************************************************************************************
* OPTION: SMOOTH SCROLLING *
****************************************************************************************/
// recommended for 90hz+ displays
user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX
user_pref("general.smoothScroll", true); // DEFAULT
user_pref("general.smoothScroll.msdPhysics.enabled", true);
user_pref("mousewheel.default.delta_multiplier_y", 300); // 250-400; adjust this number to your liking
/****************************************************************************
* END: BETTERFOX *
****************************************************************************/

595
registry.yaml Normal file
View File

@@ -0,0 +1,595 @@
# ============================================
# Explorer & File Manager
# ============================================
- path: "HKCU:\\Control Panel\\Keyboard"
type: DWord
values:
PrintScreenKeyForSnippingEnabled: 0
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer"
type: DWord
values:
ShowCloudFilesInQuickAccess: 0
ShowFrequent: 0
ShowRecent: 0
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
type: DWord
values:
LaunchTo: 1 # Open to This PC
HideFileExt: 0 # Show file extensions
Hidden: 1 # Show hidden files
TaskbarAl: 0 # Align taskbar left
Start_AccountNotifications: 0
ShowCopilotButton: 0
Start_TrackProgs: 0 # Disable app launch tracking
Start_IrisRecommendations: 0
ShowSyncProviderNotifications: 0
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\AutoComplete"
values:
- name: Append Completion
type: String
value: "no"
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"
type: DWord
values:
HideSCAMeetNow: 1
NoInstrumentation: 1 # Disable tracking of user activity
NoThumbnailCache: 1
- path: "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"
type: DWord
values:
HideSCAMeetNow: 1
NoInstrumentation: 1
- path: "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Explorer"
type: DWord
values:
DisableSearchBoxSuggestions: 1
HidePeopleBar: 1
HideRecentlyAddedApps: 1
DisableThumbsDBOnNetworkFolders: 1
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Explorer"
type: DWord
values:
HidePeopleBar: 1
DisableThumbsDBOnNetworkFolders: 1
- path: "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\People"
type: DWord
values:
PeopleBand: 0
- path: "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Windows"
type: DWord
values:
DisableThumbsDBOnNetworkFolders: 1
# ============================================
# Appearance & Wallpaper
# ============================================
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"
type: DWord
values:
AppsUseLightTheme: 0 # Dark mode
SystemUsesLightTheme: 0 # Dark mode
EnableTransparency: 1
- path: "HKCU:\\Control Panel\\Desktop"
values:
- name: WallpaperStyle
type: String
value: "10" # Fill
- name: TileWallpaper
type: String
value: "0"
- path: "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\PersonalizationCSP"
values:
- name: LockScreenImagePath
type: String
value: "C:\\Windows\\Web\\Wallpaper\\Custom\\Lockscreen.png"
- name: LockScreenImageStatus
type: DWord
value: 1
# ============================================
# Search & Cortana
# ============================================
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Search"
type: DWord
values:
SearchboxTaskbarMode: 0 # Hide search box
BingSearchEnabled: 0
CortanaEnabled: 0
CortanaConsent: 0
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Windows Search"
type: DWord
values:
AllowCloudSearch: 0
AllowCortana: 0
AllowCortanaAboveLock: 0
CortanaConsent: 0
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\SearchSettings"
type: DWord
values:
IsDynamicSearchBoxEnabled: 0 # Disable Search Highlights
# ============================================
# Taskbar & News
# ============================================
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Dsh"
type: DWord
values:
AllowNewsAndInterests: 0
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Windows Feeds"
type: DWord
values:
EnableFeeds: 0
# ============================================
# Privacy & Telemetry
# ============================================
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\AdvertisingInfo"
type: DWord
values:
Enabled: 0 # Disable advertising ID
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Privacy"
type: DWord
values:
TailoredExperiencesWithDiagnosticDataEnabled: 0
- path: "HKCU:\\SOFTWARE\\Microsoft\\Speech_OneCore\\Settings\\OnlineSpeechPrivacy"
type: DWord
values:
HasAccepted: 0 # Disable online speech recognition
- path: "HKCU:\\SOFTWARE\\Microsoft\\Input\\TIPC"
type: DWord
values:
Enabled: 0 # Disable inking & typing data collection
- path: "HKCU:\\SOFTWARE\\Microsoft\\InputPersonalization"
type: DWord
values:
RestrictImplicitInkCollection: 1
RestrictImplicitTextCollection: 1
- path: "HKCU:\\SOFTWARE\\Microsoft\\InputPersonalization\\TrainedDataStore"
type: DWord
values:
HarvestContacts: 0
- path: "HKCU:\\SOFTWARE\\Microsoft\\Personalization\\Settings"
type: DWord
values:
AcceptedPrivacyPolicy: 0
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\DataCollection"
type: DWord
values:
AllowTelemetry: 0
MaxTelemetryAllowed: 0
DoNotShowFeedbackNotifications: 1
AllowDeviceNameInTelemetry: 0
- path: "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\DataCollection"
type: DWord
values:
AllowTelemetry: 0
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\AppCompat"
type: DWord
values:
AITEnable: 0 # Disable Application Impact Telemetry
- path: "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Windows\\EdgeUI"
type: DWord
values:
DisableMFUTracking: 1
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\HandwritingErrorReports"
type: DWord
values:
PreventHandwritingErrorReports: 1
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\InputPersonalization"
type: DWord
values:
RestrictImplicitInkCollection: 1
- path: "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\TextInput"
type: DWord
values:
AllowLinguisticDataCollection: 0
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System"
type: DWord
values:
PublishUserActivities: 0 # Disable Activity History
- path: "HKCU:\\SOFTWARE\\Microsoft\\Siuf\\Rules"
type: DWord
values:
NumberOfSIUFInPeriod: 0 # Set feedback frequency to never
- path: "HKLM:\\SOFTWARE\\Microsoft\\PCHealth\\ErrorReporting"
type: DWord
values:
DoReport: 0
ShowUI: 0
- path: "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\PCHealth\\ErrorReporting"
type: DWord
values:
DoReport: 0
ShowUI: 0
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl\\StorageTelemetry"
type: DWord
values:
DeviceDumpEnabled: 0
# ============================================
# Windows Suggestions & Content Delivery
# ============================================
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent"
type: DWord
values:
DisableWindowsConsumerFeatures: 1
DisableConsumerAccountStateContent: 1 # Hide M365 Copilot ads in Settings
- path: "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent"
type: DWord
values:
DisableSpotlightCollectionOnDesktop: 1 # Disable Windows Spotlight for desktop
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ContentDeliveryManager"
type: DWord
values:
SilentInstalledAppsEnabled: 0 # Disable auto-install of suggested apps
OemPreInstalledAppsEnabled: 0
PreInstalledAppsEnabled: 0
SystemPaneSuggestionsEnabled: 0
SoftLandingEnabled: 0
SubscribedContent-310093Enabled: 0 # Windows welcome experience after updates
SubscribedContent-338387Enabled: 0 # Lock screen tips & tricks
SubscribedContent-338388Enabled: 0 # Occasional suggestions in Start
SubscribedContent-338389Enabled: 0 # Tips, tricks & suggestions as you use Windows
SubscribedContent-338393Enabled: 0 # Suggested content in Settings
SubscribedContent-353694Enabled: 0
SubscribedContent-353696Enabled: 0
SubscribedContent-353698Enabled: 0
RotatingLockScreenOverlayEnabled: 0 # Lock screen fun facts overlay
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\SystemSettings\\AccountNotifications"
type: DWord
values:
EnableAccountNotifications: 0
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Notifications\\Settings\\Windows.SystemToast.Suggested"
type: DWord
values:
Enabled: 0 # Disable "Suggested" app notifications
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Notifications\\Settings\\Windows.SystemToast.BackupReminder"
type: DWord
values:
Enabled: 0 # Disable Windows Backup reminders
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Mobility"
type: DWord
values:
OptedIn: 0 # Disable Phone Link suggestions
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\UserProfileEngagement"
type: DWord
values:
ScoobeSystemSettingEnabled: 0 # Disable "finish setting up" nag
- path: "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CurrentVersion\\AccountNotifications"
type: DWord
values:
DisableAccountNotifications: 1
# ============================================
# AI & Copilot
# ============================================
- path: "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsCopilot"
type: DWord
values:
TurnOffWindowsCopilot: 1
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsCopilot"
type: DWord
values:
TurnOffWindowsCopilot: 1
- path: "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsAI"
type: DWord
values:
DisableAIDataAnalysis: 1
DisableClickToDo: 1
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsAI"
type: DWord
values:
DisableAIDataAnalysis: 1
AllowRecallEnablement: 0
TurnOffSavingSnapshots: 1
DisableClickToDo: 1
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\WSAIFabricSvc"
type: DWord
values:
Start: 3 # Manual startup (prevent AI service auto-start)
# ============================================
# Edge Browser Policies
# ============================================
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge"
type: DWord
values:
PersonalizationReportingEnabled: 0
DiagnosticData: 0
NewTabPageContentEnabled: 0 # Disable MSN news feed
NewTabPageHideDefaultTopSites: 1
EdgeShoppingAssistantEnabled: 0
TabServicesEnabled: 0
AlternateErrorPagesEnabled: 0
UserFeedbackAllowed: 0
ShowRecommendationsEnabled: 0
WalletDonationEnabled: 0
HideFirstRunExperience: 0
DefaultBrowserSettingEnabled: 0 # Don't prompt to be default
DefaultBrowserSettingsCampaignEnabled: 0
SpotlightExperiencesAndRecommendationsEnabled: 0
ShowAcrobatSubscriptionButton: 0
# ============================================
# Brave Browser Policies
# ============================================
- path: "HKLM:\\Software\\Policies\\BraveSoftware\\Brave"
type: DWord
values:
BraveVPNDisabled: 1
BraveWalletDisabled: 1
BraveTalkDisabled: 1
BraveNewsDisabled: 1
DefaultBrowserSettingEnabled: 0 # Don't prompt to be default
# ============================================
# Firefox
# ============================================
- path: "HKCU:\\SOFTWARE\\Policies\\Mozilla\\Firefox\\SearchEngines"
values:
- name: Default
type: String
value: "DuckDuckGo"
# ============================================
# NVIDIA Telemetry
# ============================================
- path: "HKLM:\\SOFTWARE\\NVIDIA Corporation\\NvControlPanel2\\Client"
type: DWord
values:
OptInOrOutPreference: 0
- path: "HKLM:\\SOFTWARE\\NVIDIA Corporation\\Global\\FTS"
type: DWord
values:
EnableRID44231: 0
EnableRID64640: 0
EnableRID66610: 0
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\NvTelemetryContainer"
type: DWord
values:
Start: 4 # Disabled
# ============================================
# SmartScreen
# ============================================
- path: "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer"
values:
- name: SmartScreenEnabled
type: String
value: "Off"
- path: "HKCU:\\SOFTWARE\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\CurrentVersion\\AppContainer\\Storage\\microsoft.microsoftedge_8wekyb3d8bbwe\\MicrosoftEdge\\PhishingFilter"
type: DWord
values:
EnabledV9: 0
# ============================================
# Location Services
# ============================================
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\lfsvc\\Service\\Configuration"
type: DWord
values:
Status: 0
- path: "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CapabilityAccessManager\\ConsentStore\\location"
values:
- name: Value
type: String
value: "Deny"
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CapabilityAccessManager\\ConsentStore\\location"
values:
- name: Value
type: String
value: "Deny"
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CapabilityAccessManager\\ConsentStore\\location\\NonPackaged"
values:
- name: Value
type: String
value: "Deny"
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CapabilityAccessManager\\ConsentStore\\location\\Microsoft.WindowsCamera_8wekyb3d8bbwe"
values:
- name: Value
type: String
value: "Deny"
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CPSS\\Store\\UserLocationOverridePrivacySetting"
type: DWord
values:
Value: 0
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CapabilityAccessManager\\ConsentStore\\location\\Microsoft.BingWeather_8wekyb3d8bbwe"
values:
- name: Value
type: String
value: "Deny"
# ============================================
# Remote Desktop
# ============================================
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server"
type: DWord
values:
fDenyTSConnections: 0 # Enable RDP
fSingleSessionPerUser: 0 # Allow multiple sessions
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\TermService"
type: DWord
values:
Start: 2 # Automatic
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\RDPWD"
type: DWord
values:
Start: 2
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\RDP-Tcp"
type: DWord
values:
Start: 2
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows NT\\Terminal Services"
type: DWord
values:
fDenyTSConnections: 0
# ============================================
# MPC-HC Media Player
# ============================================
- path: "HKCU:\\SOFTWARE\\MPC-HC\\MPC-HC\\Settings"
type: DWord
values:
KeepHistory: 0
RememberFilePos: 0
RememberPosForAudioFiles: 0
AfterPlayback: 0
RememberWindowPos: 1
RememberWindowSize: 1
LoopFolderOnPlayNextFile: 0
LockNoPause: 0
PreventDisplaySleep: 1
ShufflePlaylistItems: 0
RememberPlaylistItems: 0
HidePlaylistFullScreen: 0
Loop: 1
UpdaterAutoCheck: 0
UpdaterDelay: 0
# ============================================
# Accessibility
# ============================================
- path: "HKCU:\\Control Panel\\Accessibility\\StickyKeys"
values:
- name: Flags
type: String
value: "506" # Disable sticky keys shortcut
- path: "HKCU:\\Control Panel\\Accessibility\\Keyboard Response"
values:
- name: Flags
type: String
value: "122" # Disable filter keys shortcut
# ============================================
# Security & Network
# ============================================
- path: "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"
type: DWord
values:
ConsentPromptBehaviorAdmin: 0 # Disable UAC prompt
NoConnectedUser: 1 # Disable Microsoft account sign-in requirement
- path: "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters"
type: DWord
values:
TcpWindowSize: 16711680
GlobalMaxTcpWindowSize: 16711680
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Attachments"
values:
- name: SaveZoneInformation
type: DWord
value: 1
- name: LowRiskFileTypes
type: String
value: ".zip;.rar;.7z"
# Trusted zones (intranet)
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\192.168.100.5"
type: DWord
values:
"*": 1
- path: "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\callisto.andrewspolytechnic.com"
type: DWord
values:
"*": 1
# ============================================
# ShareX
# ============================================
- path: "HKLM:\\SOFTWARE\\ShareX"
type: DWord
values:
DisableUpdateCheck: 1
DisableUpload: 1
# ============================================
# Misc Applications
# ============================================
- path: "HKCU:\\SOFTWARE\\ACD Systems\\LUXEA Pro\\080\\LClient"
type: DWord
values:
cod: 1
- path: "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Assistance\\Client\\1.0"
type: DWord
values:
NoActiveHelp: 1