{"id":16548105,"url":"https://github.com/dgraham/ka-block","last_synced_at":"2025-05-15T01:06:41.499Z","repository":{"id":28358298,"uuid":"31872121","full_name":"dgraham/Ka-Block","owner":"dgraham","description":"A Safari extension that blocks an artisanal selection of advertising domains.","archived":false,"fork":false,"pushed_at":"2024-11-11T18:08:45.000Z","size":4353,"stargazers_count":868,"open_issues_count":20,"forks_count":78,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-05-09T07:40:29.523Z","etag":null,"topics":["artisanal-selection","corporation","safari-extension"],"latest_commit_sha":null,"homepage":"http://kablock.com","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dgraham.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-09T00:44:39.000Z","updated_at":"2025-04-16T18:38:35.000Z","dependencies_parsed_at":"2022-07-20T12:17:16.597Z","dependency_job_id":"b350f1df-2f95-4f9a-b954-f15d3914c845","html_url":"https://github.com/dgraham/Ka-Block","commit_stats":{"total_commits":305,"total_committers":18,"mean_commits":"16.944444444444443","dds":"0.33442622950819667","last_synced_commit":"ffc5934e5304afec349ea79dfdf14c87434b19d7"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgraham%2FKa-Block","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgraham%2FKa-Block/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgraham%2FKa-Block/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgraham%2FKa-Block/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgraham","download_url":"https://codeload.github.com/dgraham/Ka-Block/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254254041,"owners_count":22039792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artisanal-selection","corporation","safari-extension"],"created_at":"2024-10-11T19:24:57.008Z","updated_at":"2025-05-15T01:06:36.487Z","avatar_url":"https://github.com/dgraham.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ka-Block!\n\nA Safari browser extension that blocks an artisanal selection of advertising\ndomains.\n\n![Ka-Block!](/Shared%20(App)/Assets.xcassets/AppIcon.appiconset/256x256.png)\n\n## State of the art\n\nThe most popular ad blocking extensions take a no holds barred, nuke them from\norbit approach. The goal is not only to never see an ad on a web page, but to never\nsee the sad, empty space left behind by the ad that used to be.\n\nWhile this is highly effective, there is a heavy price to pay. The list of rules\nfiltering out advertisements in these extensions weighs in at over 1 MB. It\nincludes partial domain matches, URL fragments, highly specific HTML element\nidentifiers that were found on at least one web page at some point in the last\ndecade. They may or may not exist on any page today, and there's no way to\nverify their existence.\n\nThese filtering rules also contain a whitelist of *allowable* ads. If your\ncorporation pays their corporation enough money, the ad blocker allows your\nads through so the visitor may view them. Not only did you pay for the ad,\nyou paid a third-party for it to actually be viewed by a human.\n\nThat's a nice billboard you have there. It would be a shame if something\nhappened to it.\n\nThis list must be refreshed periodically in our browsers. The extension makes\na network connection, downloads the list again, and stores it in memory. Some\nad blocker extensions take this opportunity to store unique information about\nus on their servers. Sites visited, links clicked, type of browser, and\noperating system information can all be stored on their server to build a\nprofile of each user.\n\nThe irony of an extension designed to protect a person's privacy, violating\nit within seconds of installing is delicious.\n\n## There must be a better way\n\nThis extension's goals are modest.\n\n- Block *most* ads and trackers.\n- Never contact a server.\n- Never slow down a page.\n\nSome ads will get through this filter, and that's ok. We already have\nextensions that block every ad that's ever appeared on the web with a\ncompletionist zeal that must be admired. Provided we accept the tradeoffs\ndescribed above, those blockers work great.\n\nThis ad filtering code makes *zero* network connections. The only way for the\nlist of blocked domains to be updated is to release a new version of the\nextension itself.\n\nThe filtering extension has no access to the pages or sites loaded by the\nbrowser. No code from this extension even runs while browsing the web.\nKa-Block! provides the list of filtered domains to Safari and the browser\ndoes the rest, maintaining your privacy.\n\n## Installation\n\nKa-Block! can be installed from the [Mac App Store][macos] or the [App Store][ios] for iOS.\n\n## Updating the domain list\n\nIf there's a pesky ad-serving domain that's getting through the filter, open\na pull request with the domain and a site or two on which its ads appear. We'll\nadd it to the [blocked domains list](/Shared%20(Extension)/blockerList.json)\nand release a new version of the extension to include it.\n\n## License\n\nKa-Block! is released under the terms of the MIT license. Check the LICENSE\nfile for details.\n\n\u003c3\n\n[macos]: https://itunes.apple.com/us/app/ka-block/id1335413823?mt=12\n[ios]: https://geo.itunes.apple.com/us/app/ka-block!/id1037173557?mt=8\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgraham%2Fka-block","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgraham%2Fka-block","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgraham%2Fka-block/lists"}