nanoadblocker / nanocore Goto Github PK
View Code? Open in Web Editor NEWThis project forked from gorhill/ublock
An adblocker
License: GNU General Public License v3.0
This project forked from gorhill/ublock
An adblocker
License: GNU General Public License v3.0
Should lazy-check just like how it is done in white list panel.
Power before performance, should limit this to Nano filters and My filters though, need to balance the trade-off. Also maybe create a warning in IDE?
This can be really useful to inject a lite version of Nano Defender.
The problem is I don't want Nano to be naturally slower than uBO, need to evaluate the trade-off in depth.
Upstream: gorhill#3305
i don't see a button to i can add a filter list
https://github.com/MajkiIT/polish-ads-filter/blob/master/polish-adblock-filters/adblock.txt
Nano Adblocker 1.0.0.9
Nano Defender 13.0
My ua from
http://www.whatsmyua.info/
Mozilla/5.0 (Linux; Android 5.0.2; A0001 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 YaBrowser/17.10.2.145.00 Mobile Safari/537.36
Use external messaging (?) to automatically enable and disable integration filter.
storage.js
line 198 seems to be related, like this? nano.saveSelectedFilterLists([ key ], true);
To force an immediate update:
µb.scheduleAssetUpdater(0);
µb.assets.updateStart({ delay: µb.hiddenSettings.manualUpdateAssetFetchPeriod || 500 });
Maybe wrap this as nano.forceUpdateAssetNow
?
Detect environment and properly set line ending.
Any feedback on this? #33 (comment)
The current dashboard is ugly and glitchy, has hard-to-access buttons, and is not mobile(Yandex)-friendly. (There could be other complications when dealing with mobile browsers, but like all Material Design libraries are responsive)
Should revamp it with clean, responsive, and modern Material Design.
Also:
Make sure browser back button works
Change last section of third party filters pannel to "For your locale" and "Other locales" Maybe a link to Nano Filter Store?
Rework Dashboard
Update credits in About page
uBO's Assets Viewer dumps performance right out the window by forcing a massive layout change which takes about 9 seconds (on EasyList) That is about 45 times slower than Nano Filter IDE which takes only 0.2 seconds for first paint, need to optimize it.
3rd party filters keep getting reset every time there is an update.. The only filter that doesn't get reset/unchecked is "Nano Defender Integration"
Well seeing as how my 3rd party filters keep getting reset I guess none...
! Add exception to EasyList rule to let YouTube track video progress
@@||s.youtube.com/api/stats/watchtime*
! Block YouTube Gaming Event Promo
youtube.com##div[id^="gaming-event-promo-overlay"]
! Block YouTube end cards
##.ytp-ce-video
! 1/1/2017, 3:44:29 AM http://www.deviantart.com/notifications/#view=watch
www.deviantart.com##.active.gogo-upsell
! 3/16/2017, 8:55:21 PM https://www.reddit.com/
www.reddit.com##.recommended-link
! 11/15/2017, 6:09:05 PM https://www.reddit.com/
||www.reddit.com/chat/minimize$subdocument
! 7/28/2017, 7:25:55 AM https://www.reddit.com/user/Static_Love/saved
www.reddit.com##.profilebetabar.infobar
! 7/23/2017, 2:01:00 AM https://www.iptorrents.com/t
www.iptorrents.com##.cfapps-welcome-bar
! 12/14/2017, 3:42:22 AM https://metagamerscore.com
metagamerscore.com##.ad_wide_ss
metagamerscore.com###aff_box > center
It takes an eternity to get the code built, got to replace the current build script with a real Makefile, or something that's actually efficient.
Use beforeunload
event to warn user about unsaved changes.
Upstream: gorhill#3271
Show warning if:
Common mistakes:
||example.com^$generichide
- Forgot @@
or important
@@
.generhichide
but not important
and is not an exception filter, then dispatch a warning./example-path/
- Forgot trailing *
/example-path/im
- gorhill#3372-
, _
, and .
, then dispatch a warning.|example.com^
- Missed one |
||example.com
- Forgot ^
example.communicate.example.org
.^
nor :
nor /
, dispatch a warning.example.blogspot.*##element
- Wildcard matching half of public suffixShow warning if:
Currently, back button cannot return to the extension page (dashboard will be opened in a new tab until this gets fixed). Also back button is buggy after switching "sub-tabs" of the dashboard.
many filter list block things you do not want
example. my anti donate filter list
https://github.com/MajkiIT/polish-ads-filter/blob/master/anti-donate-filters/adblock_anty-dotacje.txt
somebody don't want to block the bitcoin section in the filter list
what he can do
this someone must create own list or remove the filter list
this solution what i suggest would solve this problem
example. i click the green + button in bitcoin section, and filter has be disabled
This enable us to accept large amount of filters for each locale without making everything bloated beyond reason. Of course "other filters" will be collapsed by default
However, we also need a way to instruct asset parser to not auto-enable some of them, like cookie notice and social related filters.
Currently it only shows one generic message.
I looked through the diffs between this extension and uBlock Origin to see whether the advanced setting userResourcesLocation
would do anything, or would just be overridden by the built-in resources in Nano Adblocker; it seems as if the former is true (that if that advanced setting points to a URL, then Nano Adblocker loads the uBlock Origin resources, the additional Nano Adblocker resources, and finally the resources from the custom location), but I would like confirmation that this behavior is intended.
(Is this really required when the question is just about how something else entirely works?)
the Cryptocurrency (Bitcoin) Mining Protection List, is one of the optional lists disponible for Adblock.
looks interesting for incorporate at Nano filters
Update: Initial implementation finished. Please open new issues for other problems.
For Chromium-based Edge: https://www.microsoft.com/en-us/microsoft-edge/insider-addons/detail/epbkapkgcmdmfpogenoebpdeibmfinpf
New thread: #253
Nano Adblocker is published: https://www.microsoft.com/store/productId/9NSXDX2TDB3V
Nano Defender is in review since May 2018...
Edge does not support listening to web_accessible_resources
requests...
Edge restores (un-maximize) when browser.tabs.reload
or browser.tabs.select
is called.
Opening Logger in InPrivate mode breaks cosmetic filtering.
CSP reports are too easily exploited to track user, should block by default.
uBO handles it inside hostname switchboard, which is kind of hard to set a default. Maybe hook into storage handler and put in the default if the entry does not exist (Chrome returns undefined
)?
I think is interesting change from Nano Adblocker to simply Nano Blocker, because Nano in my view is more than a adblocker is a general purpose blocker.
Use a Node script to pre-process all locale files, replace name, trim them down (remove dummy entry and remove description) and merge in new strings of Nano.
to by build the community around the project NanoAdblocker
Example i have a specific channel on youtube, and i don't want blocks ads on this channel.
or i be want unblock a ad in ad
that is a most simple solution to users
These features should be helpful:
Adguard's $empty
should "emulate a blank response", which means a noop redirect with the proper type. Currently it is treated like normal network filter. Either stop parsing it or fix it.
Adguard's $mp4
should be mapped to $media,redirect=nano-noopmp4-1s
. Need to add the resource first.
Chrome has an unminify button in the console so we can minify script snippets when loading them without creating drawbacks, it will make injection faster too. A naive trim-and-join approach would do, carrying a full minifier will use more resource than it saves.
Also, ChildNode.remove()
is supported everywhere, should use that instead of current cleanup logic.
to reproduct
https://raw.githubusercontent.com/mat41997/polish-ads-filter/patch-8/inside-filters/adblock_wewnetrzne.txt
my filters
https://gist.github.com/mat41997/809ef17633ba86197db6df03d6790f16
Nano Adblocker 1.0.0.7
Nano Defender 13.0
Chrome 63.0.3239.84
Win10
i don't know how do i can give more information
Investigate the idea of white listing for a limited amount of time or until browser close.
How should cache be handled?
Upstream: gorhill#3178
Two links for advanced users are broken, since it will affect pretty much no one, I will wait for next release to fix them.
I dont know if it is possible to access other browser extensions in away that you could remotely activate userscripts from greasemonkey, tampermonkey or violentmonkey but if possible it would open many opportunities. this would make it much easier to maintain and distribute scriptlets and it would connect two large developer communities. i hope this is not something that got prohobited with firefox 57.
Use badfilter
for network filters and #@#
for others.
Add Nano's scriptlets:
My filters
is not checked, linting result gets bugged.i don't can instal nano adblock on yandex browser in ( android 5.0 )
example. nano defender and ublock origin 1.14.20 has works normaly on yandex browser
see in reviews
https://chrome.google.com/webstore/detail/nano-adblocker/gabbbocakeomblphkmmnoamkioajlkfo/reviews
to reproduct
filters
this is dosen't matter
https://gist.github.com/mat41997/809ef17633ba86197db6df03d6790f16
This is really handy, half working is better than not working, should make one fast.
I got an email saying it does not work at all, eh... wat?
Filters are all over the place, need to clean them up and always ship with latest filters.
Also need to shorten core assets update delay.
Also set up another scriptlet / filter source (Nano filters).
Warning: Someone submitted an unofficial build of the extension to the store, make sure to download the real one here: https://addons.mozilla.org/en-US/firefox/addon/real-nano-adblocker/
https://addons.mozilla.org/en-US/firefox/addon/nano-adblocker/
From the same person as the unofficial Nano Defender.
It's a bit painful to debug stuff right now. This is more for myself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.