tampermonkey VS uBlock-issues

Compare tampermonkey vs uBlock-issues and see what are their differences.

tampermonkey

Tampermonkey is the most popular userscript manager, with over 10 million users. It's available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox. (by Tampermonkey)

uBlock-issues

This is the community-maintained issue tracker for uBlock Origin (by uBlockOrigin)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
tampermonkey uBlock-issues
26 454
3,898 859
2.2% 0.1%
0.0 4.6
about 1 month ago 19 days ago
JavaScript
GNU General Public License v3.0 only -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

tampermonkey

Posts with mentions or reviews of tampermonkey. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-11.
  • Show HN: Sniper: A Manifest V3 web extension for dynamic user specified actions
    2 projects | news.ycombinator.com | 11 Dec 2023
    This extension makes use of JS computed property names to perform user specified dynamic actions on user specified elements.

    I started working on an extension primarily for my own very specific use case. I knew of Tampermonkey and it's relatives before, but hadn't used it extensively. I also was following the news of MV3, so wasn't sure of their long term viability. But more than anything having recently got into frontend development I also just wanted to build an extension myself, getting to understand the newer limitation and alternatives was just a bonus point.

    Literally a couple of days ago I got to know (From HN nonetheless https://news.ycombinator.com/item?id=38526277) that userscripts are going to be allowed in MV3 too, so I finally decided to actually check out ViolentMonkey, which is pretty neat, but from the looks of it would have to migrate to `chrome.userScripts.register` which would eventually require `userScripts` permission and with it would need [developer mode enabled](https://developer.chrome.com/docs/extensions/reference/api/u...). While browsing through the subsequent discussions I saw there were many other alternatives for dynamic script execution, from creating and the dynamic code to `` tags to using `evaljs`, but I wasn't aware of them while building this (see for ex: <a href="https://news.ycombinator.com/item?id=31425256">https://news.ycombinator.com/item?id=31425256</a> and <a href="https://github.com/Tampermonkey/tampermonkey/issues/644#issuecomment-857838249">https://github.com/Tampermonkey/tampermonkey/issues/644#issu...</a>) (and tbf it wan't even my goal to get full JS execution in my extension).<p>Long term my goal was to build a small JSON config for the actions needed and parse and apply them to have the desired behavior. I also was planning on exposing some extension only behavior (like tab functionality) via message passing with service workers (The config could be something like

  • If your Firefox suddenly started to hang or become extremely slow today, check if you have tampermonkey 5.0. Disable it for now as it seems to be the culprit.
    5 projects | /r/firefox | 8 Dec 2023
    Do you use "Never Remember History"? There are bug reports about it. Fix is soon to be released.
  • Ever since today my browser stopped working
    1 project | /r/GreaseMonkey | 8 Dec 2023
    Yes, I'm having the exact same problem. It was updated on Nov. 30 and I can't find a way to downgrade back to the last version. There's been several issues posted on the tampermonkey github recently but I don't have enough technical knowledge to know if any of those issues applies to this problem. And just like you, I can't even see my scripts to move them to a different script manager.
  • Tampermonkey: Dev Mode will become mandatory for running userscripts in Chromium
    2 projects | news.ycombinator.com | 5 Dec 2023
    I have no damn idea why Tampermonkey, which as very best I can tell is closed source <https://github.com/Tampermonkey/tampermonkey/blob/master/REA...>, is on the "blessed" Firefox for Android list when Violentmonkey <https://github.com/violentmonkey/violentmonkey#readme> is MIT, although I readily admit doesn't it have a "politically correct" name
  • How can I create a self hosted tampermonkey?
    1 project | /r/selfhosted | 11 Oct 2023
    I use it a lot and it used to be on github until version 2.9. I guess I could use that but wondering if there are some other nice selfhosted versions where I can easily modify my Chrome webpages that I should consider.
  • umm..."Introducing Tam, your helpful assistant", Tampermonkey's v4.19 opt-out (should be opt-in) 'feature'. Thoughts?
    2 projects | /r/GreaseMonkey | 26 Jun 2023
    I want to chime on that as it's worth noting that Tampermonkey is no longer open source. I mean it's like that for years - its GitHub repo clearly stands it's just an archive version and commits there date back to 2018. Here's one of the first posts when author went proprietary license and started gaining data (with his comment btw) and technically there's also Security section in FAQ and full Privacy Policy. Also FWIK website is the only place you get info about changes - highlighting that to stop looking for insights on GitHub.
  • Tampermonkey extension
    1 project | /r/firefox | 25 May 2023
    If you can't the answers you're looking for in the Tampermonkey FAQ, you can ask them in the official Tampermonkey support forum.
  • Weird cookie behavior
    2 projects | /r/userscripts | 13 Apr 2023
    Tampermonkey devs have implemented it but didn't release it yet and Violentmonkey devs don't want to implement it, so I guess I'm not fixing this issue anytime soon.
  • badfilter with dynamic filters?
    1 project | /r/uBlockOrigin | 17 Feb 2023
    Specific case: uBlock Origin seems to block TamperMonkey from either injecting or running my userscript. (See https://github.com/Tampermonkey/tampermonkey/issues/1709 ) I was thinking it might be one of the above rules but I can't really get much out of the logger, and trying to disable those rules doesn't work. Does anyone have an idea on how to progress?
  • Firefox Android now supports tampermonkey
    11 projects | news.ycombinator.com | 16 Feb 2023
    https://github.com/Tampermonkey/tampermonkey/blob/master/COP...

    this says GPL so unless they update their license file here, this stays

uBlock-issues

Posts with mentions or reviews of uBlock-issues. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-06.
  • :matches-path with pseudo-elements
    1 project | /r/uBlockOrigin | 10 Dec 2023
    There is an open issue for this: https://github.com/uBlockOrigin/uBlock-issues/issues/2786 uBO should report such filter as en error in Firefox, so that is the thing to fix.
  • Youtube ad block on pc (ublock origin)
    5 projects | /r/firefox | 6 Dec 2023
    This would be the price of one of the four CDNs (6000$ per month): https://github.com/uBlockOrigin/uBlock-issues/discussions/2958
  • Latest Dev build reset all settings and removed all custom filers lists
    1 project | /r/uBlockOrigin | 6 Dec 2023
    opened a bug report https://github.com/uBlockOrigin/uBlock-issues/issues/3003
  • Disable "uBlock Origin has prevented the following page from loading:" page
    1 project | /r/uBlockOrigin | 4 Dec 2023
  • 📌 YouTube Anti-Adblock and Ads - November 12, 2023 (Mega Thread)
    3 projects | /r/uBlockOrigin | 13 Nov 2023
    Current estimated cost for just ONE of uBO's CDNs: HERE. This is with other lists updating every few days. uBO's not a company, it's a volunteer project using free services, which have limits that we cannot cross.
  • How to block YT ads like a champ
    5 projects | /r/youtube | 5 Nov 2023
    The extension with the best success rate seems to be **uBlock Origin**. It is a community driven project with a team of volunteers, you can review the source code [here](https://github.com/gorhill/uBlock). You will need to update your filter lists regularly, this because Youtube changes detection methods daily. Here is how you do that:
  • Show HN: Bedframe – open-source Browser Extension Development framework
    6 projects | news.ycombinator.com | 5 Sep 2023
    Definitely a much-needed area for development. However, having gone down the browser extension rabbit hole, I've largely shifted my focus to user scripts. Granted, there will always be a need for specialized browser extensions like ad blockers (uBlock[1]), keyboard shortcuts (Vimium-C[2]), and password managers (Bitwarden[3]).

    That said, I find user scripts superior for most tasks, despite some lacking UI niceties. They are easier to share, use, and crucially, audit—be it in terms of scope, permissions, or code updates. Plus if Manifest V3 is any indicator, the future for browser extensions looks bleak. While I don't agree with this direction, it's probably for the best for the majority of users, like my mom.

    Your effort is commendable; however, should you find yourself looking for a viable pivot in the future, I believe the user script space is primed for innovation and could offer a good alternative.

    [1] https://github.com/gorhill/uBlock

  • Help me understand this code!
    1 project | /r/JavaScriptTips | 4 Sep 2023
    const defineProperty = function(chain, cValue, middleware = undefined) { let aborted = false; const mustAbort = function(v) { if ( aborted ) { return true; } aborted = (v !== undefined && v !== null) && (cValue !== undefined && cValue !== null) && (typeof v !== typeof cValue); return aborted; }; // https://github.com/uBlockOrigin/uBlock-issues/issues/156 // Support multiple trappers for the same property. // // trapProp is used to trap a single property within an object. const trapProp = function(owner, prop, configurable, handler) { if ( handler.init(owner[prop]) === false ) { return; } const odesc = Object.getOwnPropertyDescriptor(owner, prop); let prevGetter, prevSetter; if ( odesc instanceof Object ) { if ( odesc.configurable === false ) { return; } if ( odesc.get instanceof Function ) { prevGetter = odesc.get; } if ( odesc.set instanceof Function ) { prevSetter = odesc.set; } } Object.defineProperty(owner, prop, { configurable, //When a property is accessed (get), the custom getter function is called. get() { if ( prevGetter !== undefined ) { prevGetter(); } return handler.getter(); // cValue }, // When a property is modified (set), the custom setter function is called. set(a) { if ( prevSetter !== undefined ) { prevSetter(a); } handler.setter(a); } }); }; // trapChain is used to recursively trap properties along a chain of properties (e.g., object1.object2.property). const trapChain = function(owner, chain) { const pos = chain.indexOf('.'); if ( pos === -1 ) { trapProp(owner, chain, true, { v: undefined, init: function(v) { if ( mustAbort(v) ) { return false; } this.v = v; return true; }, getter: function() { return cValue; }, setter: function(a) { // Middleware is called when a property is set, allowing additional processing or validation of the new value. if (middleware instanceof Function) { cValue = a; middleware(a); } else { if ( mustAbort(a) === false ) { return; } cValue = a; } } }); return; } const prop = chain.slice(0, pos); const v = owner[prop]; chain = chain.slice(pos + 1); if ( v instanceof Object || typeof v === 'object' && v !== null ) { trapChain(v, chain); return; } trapProp(owner, prop, true, { v: undefined, init: function(v) { this.v = v; return true; }, getter: function() { return this.v; }, setter: function(a) { this.v = a; if ( a instanceof Object ) { trapChain(a, chain); } } }); }; trapChain(window, chain); }
  • Firefox 115 can silently remotely disable my extension on any site
    1 project | /r/browsers | 7 Jul 2023
  • Why do my settings keep getting reverted?
    1 project | /r/uBlockOrigin | 6 Jul 2023
    Maybe https://github.com/uBlockOrigin/uBlock-issues/issues/2725 ?

What are some alternatives?

When comparing tampermonkey and uBlock-issues you can also consider the following projects:

violentmonkey - Violentmonkey provides userscripts support for browsers. It works on browsers with WebExtensions support.

SponsorBlock - Skip YouTube video sponsors (browser extension)

uBlock - uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.

brave-core - Core engine for the Brave browser for mobile and desktop. For issues https://github.com/brave/brave-browser/issues

json-rules-engine - A rules engine expressed in JSON

ClearUrls

chrome-extensions-samples - Chrome Extensions Samples

ClearURLs-Addon - ClearURLs is an add-on based on the new WebExtensions technology and will automatically remove tracking elements from URLs to help protect your privacy.

browser_extension - A browser extension that redirects popular sites to alternative privacy friendly frontends

libredirect - A browser extension that redirects popular sites to alternative privacy friendly frontends [Moved to: https://github.com/libredirect/browser_extension]

bypass-paywalls-chrome-clean-magnolia1234 - Bypass Paywalls Clean for Chrome (no Google Analytics, lot of updates/bug-fixes and custom sites)