Source code
autoconsent: Kuuko's changed rules
The source the MPL 2.0 asks us to publish for the cookie-banner part of Kuuko's Safari extension.
What this is
Kuuko's Safari extension answers cookie banners with “reject all”. It does this with autoconsent by DuckDuckGo, version 17.0.0, under the Mozilla Public License 2.0.
The extension carries autoconsent's program files unchanged. Its rules file is Kuuko's changed copy: rules that would hide, close or accept a banner are left out, and the others are changed so they never hide or accept one. Below are the changed file, the files it is built from and the script that builds it, under the same licence.
Files
kuuko-autoconsent-rules.json, 371,359 bytes. Kuuko's changed rules file, as it is in the Safari extension. SHA‑25685584f8796f2430f5abe36c643503d878860c2c44474e148bfb157f92e03f156.autoconsent.mjs, 24,462 bytes. The script that builds it: which rules Kuuko keeps, changes or leaves out, and why. SHA‑25685b28d5026d072b1db530d04a030f5ac194974a86a73c10fa2b4a49ee3567081.autoconsent-pin.json, 45,394 bytes. What the script checks: autoconsent's version, the checksums of its files and of every rule Kuuko read. SHA‑25620b00e49616c12a709e7eee383d901dbebc1b1ccfa946a9ffd8baadff5416a93.rules.json, 1,038,162 bytes. autoconsent's rules, unchanged (rules/rules.jsonin the package): what Kuuko's copy is built from. Not in the app. SHA‑25680e2201b319586e3d5e8002573bb3da13383cd203f7c7e30e6143f9258a23aa6.autoconsent.esm.js, 157,045 bytes. autoconsent, unchanged (dist/autoconsent.esm.jsin the package). The script reads it while building. SHA‑256224a1ff716fc5190210829cf171cf2e55c940968bf1dbd553fd74ea968b6805b.autoconsent.content.js, 156,802 bytes. autoconsent's content script, unchanged (dist/addon-mv3/content.bundle.jsin the package), as it is in the Safari extension. SHA‑256eaee4d35e31a077085ba0681dea701e16f0233e3c5a8081950a1868f72c97f2b.autoconsent.LICENSE.txt, 16,726 bytes. The Mozilla Public License 2.0, as it comes with autoconsent (LICENSEin the package). SHA‑256fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85.
Build it yourself
- Put the files in this layout:
extension/safari/forautoconsent.esm.js,autoconsent.content.jsandautoconsent.LICENSE.txt;extension/tools/forautoconsent.mjsandautoconsent-pin.json;extension/vendor/autoconsent/forrules.json. - Run
node extension/tools/autoconsent.mjs build(Node.js 22 or later, no packages). It writesextension/safari/kuuko-autoconsent-rules.json, the same file as above, byte for byte. node extension/tools/autoconsent.mjs checkchecks that autoconsent's files match the checksums in the pin file and that the rules file is current.
autoconsent's own source code
DuckDuckGo's source code of version 17.0.0: github.com/duckduckgo/autoconsent, tag v17.0.0. The unchanged files above come from its npm package @duckduckgo/autoconsent@17.0.0 (integrity sha512-8KcbpNvzaoWmfp6rpKuCf3pB1hfe3hgr6uPukk5dvIEK6W5oCFEvuqy0dJFbGcHS2n77Jwbz8BCg5wTG4mOaFw==).
Questions, or a copy of these files by email: kuuko@sf4l.net.