Maintenance round (May 2026): fix #6, add tooling, license, README rewrite#7
Merged
Conversation
0c3a098 to
b282527
Compare
b282527 to
da9280d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One bundled maintenance round on the repo. Goals: actually fix #6, make the repo legally clean (no LICENSE file existed despite the README claim), and stand up enough automation that the script does not silently drift.
Closes
On #6 specifically
The recursive
for /R *.exeloop in the previous script does reachacrobat\acrocef_1\acrocef.exe, so a "missing path" patch alone would not have fixed the report. The actual cause for nearly every "AcroCEF still leaks" report breaks down three ways:Get-NetFirewallRulecall now caches the existing rule names, and the per-exe duplicate check is afindstragainst that cache. Adobe walks complete in seconds.%LOCALAPPDATA%\Adobe\and%APPDATA%\Adobe\. The previous path table only coveredC:\Program Files\Adobe,C:\Program Files\Common Files\Adobe,C:\Program Files (x86)\Adobe,C:\Program Files (x86)\Common Files\AdobeandC:\ProgramData\Adobe. The new table uses%ProgramFiles%,%ProgramFiles(x86)%,%CommonProgramFiles%,%CommonProgramFiles(x86)%,%ProgramData%,%LOCALAPPDATA%and%APPDATA%, which also handles non-C:Windows installs.On top of the recursive walk, an Adobe-specific known-CEF sweep explicitly looks for
acrocef.exe,RdrCEF.exe,AcroCEF.exe,Acrobat.exe,AcroRd32.exe,AdobeNotificationClient.exe,AdobeIPCBroker.exe,AGSService.exe,AdobeUpdateService.exeandCreative Cloud.exeunder every Adobe path. Belt-and-suspenders for installs the walk cannot reach (custom drives, vendor-renamed sub-folders).tools/audit-coverage.shis the regression guard: it asserts these executables and these path variables remain referenced in the script, and it runs in CI on every PR. If a future commit drops AcroCEF coverage, CI fails.A new menu option
98(Update Adobe) gives the right answer to "what do I do after Acrobat updates": re-run the script, the cache makes it cheap, only the new executables get new rules.What is in the PR
Script (
WinMasterBlocker.bat, v2.0.0)%LOCALAPPDATA%and%APPDATA%.WHATIF=1dry-run, transcript log at%TEMP%\WinMasterBlocker-YYYYMMDDhhmmss.log.98(Update Adobe).WMB_VENDOR,WMB_ACTION,WMB_QUIET.SPDX-License-Identifier: MITheader.License and citation
LICENSE(MIT, copyright 2024-2026 ph33nx). The GitHub API was previously reportinglicense: null.CITATION.cfffor the GitHub Cite button and clean LLM citations.Tooling
lefthook.yml(pre-commit and pre-push).tools/lint-bat.sh(admin guard, setlocal balance, label drift, unquoted netsh, BOM, SPDX).tools/format-check.sh(CRLF, trailing whitespace, final newline, no tabs).tools/audit-coverage.sh(regression guard for Adobe AcroCEF (acrocef.exe) detected this .exe wants to connect to internet #6)..editorconfigand.gitattributes(CRLF on.bat).CI
.github/workflows/ci.yml: lint onubuntu-latest, WHATIF integration test onwindows-latestthat stages a fake Adobe install tree (includingacrocef_1\acrocef.exeandRdrCEF.exe), runs the script withWHATIF=1, and asserts the transcript log contains both binaries.Issue template
.github/ISSUE_TEMPLATE/bug_report.ymlasks for Windows version, app version, exe path and a transcript log excerpt up front.README and SEO surface
llms.txtfor AI-search citation.SECURITY.mdfor the GitHub security badge.assets/banner.svgandassets/banner.png(1280x640 social-preview spec).Test plan
bash tools/lint-bat.sh WinMasterBlocker.batpasses locallybash tools/format-check.sh WinMasterBlocker.batpasses locallybash tools/audit-coverage.sh WinMasterBlocker.batpasses locallyacrocef.exeandRdrCEF.exe, confirm Wireshark / Resource Monitor show no outbound fromacrocef.exe98: confirm no duplicate rules addedFollowups (not in this PR, will open as separate issues)
netsh importbulk-add (single.wfwfile with all rules).Post-merge checklist for the maintainer
assets/banner.png.windows-firewall,netsh,adobe-blocker,firewall-rules,windows-batch,internet-blocker,simplewall-alternative,outbound-firewall,application-firewall,windows-sysadmin.