Skip to content

Instantly share code, notes, and snippets.

View kzar's full-sized avatar
🐈
Bashing the rocks together...

Dave Vandyke kzar

🐈
Bashing the rocks together...
View GitHub Profile
@kzar
kzar / trac-spam-comments.json
Last active October 8, 2019 19:45
Spam comments on issues.adblockplus.org grouped by user
{
"sheweed168": [
"https:\/\/issues.adblockplus.org\/ticket\/536#comment:20"
],
"impulsepp": [
"https:\/\/issues.adblockplus.org\/ticket\/536#comment:19",
"https:\/\/issues.adblockplus.org\/ticket\/2501#comment:6",
"https:\/\/issues.adblockplus.org\/ticket\/1460#comment:26",
"https:\/\/issues.adblockplus.org\/ticket\/1095#comment:6",
"https:\/\/issues.adblockplus.org\/ticket\/553#comment:26",
@kzar
kzar / adblockplus-issue-trackers.md
Created September 12, 2019 15:38
Old issues.adblockplus.org issue tracker module to new issue tracker(s) table
@kzar
kzar / edgeIDBtest.js
Created January 23, 2019 12:11
Edge extension IndexedDB test (7223)
function openDB(dbName)
{
let req = indexedDB.open(dbName);
req.onsuccess = event =>
{
console.log("version::", event.currentTarget.result.version);
console.log("store names::", JSON.stringify(event.currentTarget.result.objectStoreNames));
};
@kzar
kzar / gist:56e211fc7096f07cd75ac4f2f960f6ed
Last active January 15, 2019 12:48
Edge showOptions debugging
// First these two lines
let manifest = browser.runtime.getManifest();
browser.extension.getURL(manifest.options_page || manifest.options_ui.page);
// Then this one
browser.tabs.query({}, tabs => { console.log(JSON.stringify(tabs)); })
// Then this
browser.runtime.openOptionsPage
@kzar
kzar / default_param_mutate.py
Created September 28, 2017 10:32
Shared default parameter value Python example
import random
def foo(b={}):
b[random.random()] = "bar"
print b
for i in range(10):
print "Iteration " + str(i + 1)
foo()
@kzar
kzar / abp-crowdin-fix.diff
Created September 25, 2017 16:43
Adblock Plus Crowdin integration fix
diff --git a/localeTools.py b/localeTools.py
index 140f22c..f80a187 100644
--- a/localeTools.py
+++ b/localeTools.py
@@ -299,7 +299,7 @@ def setupTranslations(localeConfig, projectName, key):
allowed = set()
allowedLocales = json.load(urllib2.urlopen(
'https://crowdin.com/languages/languages_list?callback='
- ))
+ ))['data']
@kzar
kzar / adblockplusui-critical-dependency.patch
Created September 22, 2017 09:59
adblockplusui critical dependency webpack fix
diff --git a/messageResponder.js b/messageResponder.js
index 65e91ea..7ed00c7 100644
--- a/messageResponder.js
+++ b/messageResponder.js
@@ -21,8 +21,6 @@
(function(global)
{
- let ext = global.ext || require("ext_background");
-
@kzar
kzar / log-blob.js
Last active February 20, 2024 02:53
Log chrome webRequest and webNavigation events for blob URLs
function logEvent(type, details)
{
if (details.url.startsWith("blob"))
console.log(type, details);
}
/* WebNavigation */
chrome.webNavigation.onBeforeNavigate.addListener(details =>
{
logEvent("onBeforeNavigate", details);
@kzar
kzar / strip.js
Last active September 15, 2016 09:42
Small Node.js script to strip document blocking rules. (See https://issues.adblockplus.org/ticket/4280 )
"use strict";
let fs = require("fs");
if (process.argv.length != 3)
{
console.log("Usage: nodejs strip.js filename.json");
process.exit(1);
}
let filename = process.argv[2];
@kzar
kzar / safari-27656882.txt
Created August 2, 2016 13:09
Safari bug 27656882 - Safari Content Blocking API breaking Safari's URL parser
Summary:
We have found a serious bug whereby a content blocking rule list with a certain rule can stop Safari from being able to parse certain URLs. Specifically we found this to happen for Google text ad links which are supposed to redirect to the advertisement. Instead of the browser being redirected, Safari displays an error (see screenshot). This error goes away when the content blocking API is not used, and when it is used without certain troublesome rules.
Steps to Reproduce:
1. Create a new empty Safari Extension.
2. Create a file called rules.json containing the following:
[
{
"trigger": {