[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"maker-mechazawa":3},[4,31,48,69,88],{"id":5,"name":6,"line":6,"ai":7,"cat":8,"year":9,"points":10,"comments":11,"rec":12,"s":13,"top":14,"kw":15,"maker":20,"domain":21,"tier":22,"attempts":13,"strip":23,"url":24,"mix":25,"praise":28,"objection":29,"sub":30},10729068,"FuckFuckAdblock",false,"security_privacy",2015,353,298,"debated",0,2,[16,17,18,19],"adblock detection","anti-adblock","ad blocker","userscript","mechazawa","github.com","legend","5000050500323250002000304021411152000053","https:\u002F\u002Fgithub.com\u002FMechazawa\u002FFuckFuckAdblock",[26,27,13,26],17,22,"Useful for blocking anti-adblock detection; reference to Trace Buster Buster and surrogate scripts appreciated","Ad blocking circumvention is ethically wrong; sites fund content through ads","ad blocking",{"id":32,"name":33,"line":33,"ai":7,"cat":8,"year":34,"points":35,"comments":36,"rec":37,"s":38,"top":39,"kw":40,"maker":20,"domain":21,"tier":43,"attempts":13,"strip":44,"url":45,"mix":46,"praise":47,"objection":-1,"sub":18},12287917,"BlockBlockAdBlock",2016,12,1,"quiet",null,72,[18,17,41,42],"browser","javascript","shown","0","https:\u002F\u002Fgithub.com\u002FMechazawa\u002FBlockBlockAdBlock",[13,13,13,13],"Commenter called the project awesome",{"id":49,"name":50,"line":51,"ai":7,"cat":52,"year":53,"points":54,"comments":55,"rec":56,"s":57,"top":58,"kw":59,"maker":20,"domain":50,"tier":43,"attempts":13,"strip":63,"url":64,"mix":65,"praise":67,"objection":68,"sub":60},13364281,"pixel.shodan.me","AdBlock detection by abusing the streaming parser","web_saas",2017,21,25,"roasted",-0.21,54,[60,61,62,42],"ad blocker detection","adblock","streaming parser","1010300000000000001005003","https:\u002F\u002Fpixel.shodan.me\u002Fstreaming",[36,14,13,66],3,"Clever idea, fun concept","Makes page loads much slower, hurting bounce rate and revenue",{"id":70,"name":71,"line":72,"ai":7,"cat":73,"year":53,"points":74,"comments":75,"rec":37,"s":38,"top":76,"kw":77,"maker":20,"domain":21,"tier":43,"attempts":13,"strip":82,"url":83,"mix":84,"praise":85,"objection":86,"sub":87},14760895,"emojify-webpack-plugin","Turn JavaScript code into Emoji using Webpack","dev_tools",26,5,50,[78,42,79,80,81],"webpack","emoji","minify","obfuscation","53330","https:\u002F\u002Fgithub.com\u002FMechazawa\u002Femojify-webpack-plugin\u002F",[36,66,13,13],"Funny and amusing idea","Only encodes source bytes, so it is not a real parser-based approach","webpack plugin",{"id":89,"name":90,"line":91,"ai":7,"cat":8,"year":92,"points":93,"comments":94,"rec":95,"s":96,"top":97,"kw":98,"maker":20,"domain":21,"tier":102,"attempts":13,"strip":103,"url":104,"mix":105,"praise":107,"objection":108,"sub":16},39816835,"103-early-anti-adblock","Detecting adblock, without JavaScript, by abusing HTTP 103 responses",2024,108,199,"curious",-0.25,23,[16,99,100,101],"http 103","early hints","server-side detection","notable","0010000000000003301000000003221331133012","https:\u002F\u002Fgithub.com\u002FMechazawa\u002F103-early-anti-adblock",[14,27,13,106],14,"Clever use of HTTP 103 to detect adblockers","Chrome does not let adblockers interact with early-hints resources",1794036743423]