mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-15 07:05:51 -06:00
5e3c6ba452
* Compile Winutil * pre-Releases (#1) * Create pre-release.yaml * Update release.yaml * Update pre-release.yaml * Create release-drafter.yml * Update release-drafter.yml * Update pre-release.yaml * Update pre-release.yaml * Update pre-release.yaml * Update pre-release.yaml * Update pre-release.yaml * Update pre-release.yaml * Update pre-release.yaml * Update pre-release.yaml * Update pre-release.yaml * Update release-drafter.yml * Update pre-release.yaml * Update release-drafter.yml * Update pre-release.yaml * Update release-drafter.yml * Update release-drafter.yml * Update pre-release.yaml * Update pre-release.yaml * Update release-drafter.yml * Update release-drafter.yml * Update release.yaml * Update release-drafter.yml * Update release-drafter.yml * Update pre-release.yaml * Compile Winutil * fixed end task with right click * Compile Winutil * code generator & compile integration * Compile Winutil * finish - add autogenerated table of content page named "Dev Docs", with table of content to all .md files - added invokescript & undoscript - generate documentation files * oops, remove dublicates * undo winutil.ps1 * remove prefixes WPF WinUtil Toggle $category Features Tweaks Panel Fixes * fixes - fix inconsistency in Featurenaming - add "Enable" & "Disable" as prefix to remove * fix spellin mistake * remove unneccesary whitespaces update info remove unnecessary whitespaces by only adding stuff to the md if it actually exists * rewrite prefix removal into one line definition * added taskscheduler support * add support for function calling add support for functioncalling - replace code formatting for invoke & undo script from json to powershell * content instead of displayname * add last modified date * contributing + docs generator - moved contribute.md to root CONTRIBUTING.md - referenced CONTRIBUTING.md in contribute.md - added toggle & button reference to functions - added function references in functions - changed mkdocs site styling * Use HashSet for processedFunctions Use HashSet for processedFunctions: - Ensures dynamic addition of functions without duplication. Recursive Function Scanning: - Includes all nested functions called by InvokeScript, UndoScript, ToggleScript, and ButtonScript. * follow github standards - add code of conduct - reference code of conduct in docs - regrouped docs navigation - add comment about the sourced md file * small fixes * change color from teal to blue in light mode * add links to tweaks * add archiving feature to autodocs * administrative - add script to releases and remove from compile - move link from after description to after category * small fixes - add S in feature.json - fix dating - move link to after category * fix links * undo link bc of bugs * add progress bar to script - add progress like in compile - moved archive folder creation to the beginning of the script * Simple improvements to 'auto-devdocs' branch (#3) * Fix links for tweaks & features * Make New Line characters work for Json Snippet * Change NewLine Character from Unix Style (LF) to Windows/DOS Style (CRLF) * rerun script * und workflows & rearrange navigation items * layer out itemname cutout * rework links & temp removal of archivation * fix adding link in json root not adding link member to root in json files * fix json generation replace '\r\n',"`r`n" with ('\n',"`n") * add features to auto md docs * add minify plugin * regex hotfix * refractor * add changelog to about section add link to changelog in docs for about section * undo changelog * Cleanup 'devdocs-generator.ps1' - Implement Zig Multiline String Feature (#4) * Cleanup 'devdocs-generator.ps1' - Implement Zig Multiline String Feature * Fix NewLine character replace in 'devdocs-generator.ps1' * run script * run script * Fix 'itemnametocut' RegEx in 'devdocs-generator.ps1' (#5) * rerun script * rework nav + remove code of conduct * undo workflow changes * run script * remove changelog --------- Co-authored-by: MyDrift-user <MyDrift-user@users.noreply.github.com> Co-authored-by: Mr.k <mineshtine28546271@gmail.com>
8.5 KiB
8.5 KiB
Adobe Network Block
Last Updated: 2024-08-07
!!! info The Development Documentation is auto generated for every compilation of WinUtil, meaning a part of it will always stay up-to-date. Developers do have the ability to add custom content, which won't be updated automatically.
Description
Reduce user interruptions by selectively blocking connections to Adobe's activation and telemetry servers. Credit: Ruddernation-Designs
Preview Code
{
"Content": "Adobe Network Block",
"Description": "Reduce user interruptions by selectively blocking connections to Adobe's activation and telemetry servers. Credit: Ruddernation-Designs",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"Order": "a021_",
"InvokeScript": [
"
# Define the URL of the remote HOSTS file and the local paths
$remoteHostsUrl = \"https://raw.githubusercontent.com/Ruddernation-Designs/Adobe-URL-Block-List/master/hosts\"
$localHostsPath = \"C:\\Windows\\System32\\drivers\\etc\\hosts\"
$tempHostsPath = \"C:\\Windows\\System32\\drivers\\etc\\temp_hosts\"
# Download the remote HOSTS file to a temporary location
try {
Invoke-WebRequest -Uri $remoteHostsUrl -OutFile $tempHostsPath
Write-Output \"Downloaded the remote HOSTS file to a temporary location.\"
} catch {
Write-Error \"Failed to download the HOSTS file. Error: $_\"
}
# Check if the AdobeNetBlock has already been started
try {
$localHostsContent = Get-Content $localHostsPath -ErrorAction Stop
# Check if AdobeNetBlock markers exist
$blockStartExists = $localHostsContent -like \"*#AdobeNetBlock-start*\"
if ($blockStartExists) {
Write-Output \"AdobeNetBlock-start already exists. Skipping addition of new block.\"
} else {
# Load the new block from the downloaded file
$newBlockContent = Get-Content $tempHostsPath -ErrorAction Stop
$newBlockContent = $newBlockContent | Where-Object { $_ -notmatch \"^\\s*#\" -and $_ -ne \"\" } # Exclude empty lines and comments
$newBlockHeader = \"#AdobeNetBlock-start\"
$newBlockFooter = \"#AdobeNetBlock-end\"
# Combine the contents, ensuring new block is properly formatted
$combinedContent = $localHostsContent + $newBlockHeader, $newBlockContent, $newBlockFooter | Out-String
# Write the combined content back to the original HOSTS file
$combinedContent | Set-Content $localHostsPath -Encoding ASCII
Write-Output \"Successfully added the AdobeNetBlock.\"
}
} catch {
Write-Error \"Error during processing: $_\"
}
# Clean up temporary file
Remove-Item $tempHostsPath -ErrorAction Ignore
# Flush the DNS resolver cache
try {
Invoke-Expression \"ipconfig /flushdns\"
Write-Output \"DNS cache flushed successfully.\"
} catch {
Write-Error \"Failed to flush DNS cache. Error: $_\"
}
"
],
"UndoScript": [
"
# Define the local path of the HOSTS file
$localHostsPath = \"C:\\Windows\\System32\\drivers\\etc\\hosts\"
# Load the content of the HOSTS file
try {
$hostsContent = Get-Content $localHostsPath -ErrorAction Stop
} catch {
Write-Error \"Failed to load the HOSTS file. Error: $_\"
return
}
# Initialize flags and buffer for new content
$recording = $true
$newContent = @()
# Iterate over each line of the HOSTS file
foreach ($line in $hostsContent) {
if ($line -match \"#AdobeNetBlock-start\") {
$recording = $false
}
if ($recording) {
$newContent += $line
}
if ($line -match \"#AdobeNetBlock-end\") {
$recording = $true
}
}
# Write the filtered content back to the HOSTS file
try {
$newContent | Set-Content $localHostsPath -Encoding ASCII
Write-Output \"Successfully removed the AdobeNetBlock section from the HOSTS file.\"
} catch {
Write-Error \"Failed to write back to the HOSTS file. Error: $_\"
}
# Flush the DNS resolver cache
try {
Invoke-Expression \"ipconfig /flushdns\"
Write-Output \"DNS cache flushed successfully.\"
} catch {
Write-Error \"Failed to flush DNS cache. Error: $_\"
}
"
],
"link": "https://christitustech.github.io/winutil/dev/tweaks/z--Advanced-Tweaks---CAUTION/BlockAdobeNet"
}
Invoke Script
# Define the URL of the remote HOSTS file and the local paths
$remoteHostsUrl = "https://raw.githubusercontent.com/Ruddernation-Designs/Adobe-URL-Block-List/master/hosts"
$localHostsPath = "C:\Windows\System32\drivers\etc\hosts"
$tempHostsPath = "C:\Windows\System32\drivers\etc\temp_hosts"
# Download the remote HOSTS file to a temporary location
try {
Invoke-WebRequest -Uri $remoteHostsUrl -OutFile $tempHostsPath
Write-Output "Downloaded the remote HOSTS file to a temporary location."
} catch {
Write-Error "Failed to download the HOSTS file. Error: $_"
}
# Check if the AdobeNetBlock has already been started
try {
$localHostsContent = Get-Content $localHostsPath -ErrorAction Stop
# Check if AdobeNetBlock markers exist
$blockStartExists = $localHostsContent -like "*#AdobeNetBlock-start*"
if ($blockStartExists) {
Write-Output "AdobeNetBlock-start already exists. Skipping addition of new block."
} else {
# Load the new block from the downloaded file
$newBlockContent = Get-Content $tempHostsPath -ErrorAction Stop
$newBlockContent = $newBlockContent | Where-Object { $_ -notmatch "^\s*#" -and $_ -ne "" } # Exclude empty lines and comments
$newBlockHeader = "#AdobeNetBlock-start"
$newBlockFooter = "#AdobeNetBlock-end"
# Combine the contents, ensuring new block is properly formatted
$combinedContent = $localHostsContent + $newBlockHeader, $newBlockContent, $newBlockFooter | Out-String
# Write the combined content back to the original HOSTS file
$combinedContent | Set-Content $localHostsPath -Encoding ASCII
Write-Output "Successfully added the AdobeNetBlock."
}
} catch {
Write-Error "Error during processing: $_"
}
# Clean up temporary file
Remove-Item $tempHostsPath -ErrorAction Ignore
# Flush the DNS resolver cache
try {
Invoke-Expression "ipconfig /flushdns"
Write-Output "DNS cache flushed successfully."
} catch {
Write-Error "Failed to flush DNS cache. Error: $_"
}
Undo Script
# Define the local path of the HOSTS file
$localHostsPath = "C:\Windows\System32\drivers\etc\hosts"
# Load the content of the HOSTS file
try {
$hostsContent = Get-Content $localHostsPath -ErrorAction Stop
} catch {
Write-Error "Failed to load the HOSTS file. Error: $_"
return
}
# Initialize flags and buffer for new content
$recording = $true
$newContent = @()
# Iterate over each line of the HOSTS file
foreach ($line in $hostsContent) {
if ($line -match "#AdobeNetBlock-start") {
$recording = $false
}
if ($recording) {
$newContent += $line
}
if ($line -match "#AdobeNetBlock-end") {
$recording = $true
}
}
# Write the filtered content back to the HOSTS file
try {
$newContent | Set-Content $localHostsPath -Encoding ASCII
Write-Output "Successfully removed the AdobeNetBlock section from the HOSTS file."
} catch {
Write-Error "Failed to write back to the HOSTS file. Error: $_"
}
# Flush the DNS resolver cache
try {
Invoke-Expression "ipconfig /flushdns"
Write-Output "DNS cache flushed successfully."
} catch {
Write-Error "Failed to flush DNS cache. Error: $_"
}