adguardteam / adguardforios Goto Github PK
View Code? Open in Web Editor NEWThe most advanced ad blocker for iOS
Home Page: https://adguard.com/
License: GNU General Public License v3.0
The most advanced ad blocker for iOS
Home Page: https://adguard.com/
License: GNU General Public License v3.0
Report from a beta tester:
- UI: Actually, I needed to watch the Quick Tour twice to find out that I can tap on a filter to get Details to it. I think there should be a visual hint for that. At first, a chevron on the right end of each filter came to my mind, but I can't remember if I've ever seen a combination of an on/off-toggle with a chevron. Then the blue (i) came to my mind (like at the wifi settings), but actually I don't like the look of that symbol. May be a simple text below the search bar: "tap on a filter to get more information"?
Occasionally see this line in the log.
Really often in this log:
QYQ-791-81046
Here is how Firebug mobile works:
https://getfirebug.com/firebuglite_mobile
What do I suggest:
@Stillness-2 seems legit?
Now, when user sends bug report to support, app collects current state data, for example:
Application version: 1.0.3.23.DEBUG
Application lifetime: 2015-10-23 10:26:37 +0000
Device: iPad
Platform: iPhone OS
OS: 9.1
ID: 47082D0B-DA29-4CD0-BE51-2FF94A7B0DCC
Locale: en
Region: us
Filters subscriptions:
ID=0 Name="User filter" Version=1.0.0.0 Enabled=YES
ID=2 Name="English filter" Version=1.0.71 Enabled=YES
ID=3 Name="Spyware filter" Version=1.0.3.75 Enabled=YES
ID=4 Name="Social media filter" Version=1.0.7.28 Enabled=YES
ID=5 Name="Experimental filter" Version=1.0.23.14 Enabled=NO
ID=10 Name="Filter for useful ads" Version=1.0.0.78 Enabled=NO
ID=1 Name="Russian filter" Version=1.0.28.9 Enabled=NO
ID=6 Name="German filter" Version=1.0.21.53 Enabled=NO
ID=7 Name="Japanese filter" Version=1.0.92.87 Enabled=NO
ID=9 Name="Spanish/Portuguese filter" Version=1.0.86.8 Enabled=NO
ID=12 Name="Mobile Safari filter" Version=1.0.0.5 Enabled=NO
ID: 47082D0B-DA29-4CD0-BE51-2FF94A7B0DCC
- this is identifierForVendor: "An alphanumeric string that uniquely identifies a device to the app’s vendor.", which is sent, also, when filter update request is performed.
Replace it with something short like "Adguard - Adblock for iOS:"
Add option to subscribe for a filter by URL.
Requester here DHH-171-66322
More than this. If user does not wait for 15-20 seconds inside the app - content blocker won't be applied at all.
We could probably show some "progress loader" on the first app start (until content blocker is loaded normally)?
#44
If this option is enabled, pass "optimize" option to the rules converter.
We also need a help text somewhere describing what that setting means.
Third-party components:
StaticDataTableViewController - https://github.com/peterpaulis/StaticDataTableViewController
GZIP - https://github.com/nicklockwood/GZIP
Ask @Stillness-2 for more info.
https://issues.adblockplus.org/ticket/2208
Look at these filters:
https://adblockplus.org/subscriptions
You should first compare the subscription URL you've got with the subscription URLs of the filters you have. If it matches any you should enable this filter in AG.
If no match found we should offer user to import the rules to his "User Filter"
For instance we may open a test webpage there and check if ads are blocked
The rule itself:
@@/^https?\:\/\/(?!(qs\.ivwbox\.de|qs\.ioam.de|platform\.twitter\.com|connect\.facebook\.net|de\.ioam\.de|pubads\.g\.doubleclick\.net|stats\.wordpress\.com|www\.google-analytics\.com|www\.googletagservices\.com|apis\.google\.com|script\.ioam\.de)\/)/$script,third-party,domain=gamona.de
For some reason this rule is converted with |
mark which is not supported by Safari regular expressions subset.
Here is the conversion result:
[
{
"trigger": {
"url-filter": "^https?\\:\\/\\/(?!(qs\\.ivwbox\\.de|qs\\.ioam.de|platform\\.twitter\\.com|connect\\.facebook\\.net|de\\.ioam\\.de|pubads\\.g\\.doubleclick\\.net|stats\\.wordpress\\.com|www\\.google-analytics\\.com|www\\.googletagservices\\.com|apis\\.google\\.com|script\\.ioam\\.de)\\/)",
"resource-type": [
"script"
],
"load-type": [
"third-party"
],
"if-domain": [
"*gamona.de"
]
},
"action": {
"type": "ignore-previous-rules"
}
}
]
This option will be used in iOS only.
If it is set to true - ignore all generic element hiding rules. Leave site-specific only.
Watch how to manage Adguard from Safari
That's simple, if $cookie modifier is present, we do not block the request, just suppressing "Cookie" and "Set-Cookie".
http://adguard.com/en/filterrules.html
Don't forget about AG for Android restrictions.
Like no support of [parent-elements]
modifier and such.
Add information about wildcard
modifier also.
no work Ipad 9.1.3
It is not possible to download
Your application is incompatible with your device
Users are complaining on v1.0.1.
Maybe the problem is in the url-filter trigger, we've replaced .* with ^http://*
Add to buttons to Safari extension popup:
Tapping on any of these buttons opens mail app (just like we do for "Send Bug Report").
The difference is the email subject and content.
"Subject" is equal to the button text. Something like [Adguard for iOS] Report Missed Ad
Mail content contains link to the webpage.
Deleting whitelist rule does not trigger conversion.
Steps to reproduce
Expected result:
URL is pasted
Result:
None
We should transform URL to domain name
Ticket ID: VKR-640-41432
From #11
One more thing: Turning it on and off quickly wouldn't work that way nevertheless, since the app (or the OS) needs too much time to load the changed set of filters. It would not be possible to work through the filters list as fast as you read the filter names and swipe them to toggle just how you need them.
So - with that in mind, it might be nice to have an edit mode. Like: have an "edit"-Button in the upper right (making that feature obvious), tap it, have all the > signs replaced with a toggle, work fast through the filter list toggling them as needed, tap "done", and wait until the new filter set is loaded.
That way, you can first concentrate on customizing the filter list without constantly being interrupted by the app loading filters, and give the app time to load the filters when you are done.
Look at iCloud settings, how icloud account name is printed under "iCloud".
May be we need to check version number of the filters synchronously, but download of the filter rules to do asynchronously, in system background download task (NSURLSession).
Must be blocked by /mod_ad/*
rule.
Works on desktop Safari, but for some reason it does not work on iOS.
Examples:
http://attach2.mobile01.com/image/mod_ad/mobile01-36b57f5bf0bfb3229ecd579a41ad4f83.htm?ad_url=http%3A%2F%2Fwww.mobile01.com%2Fadredir.php%3Fid%3D59043&clickTAG=http%3A%2F%2Fwww.mobile01.com%2Fadredir.php%3Fid%3D59043
http://attach2.mobile01.com/image/mod_ad/mobile01-245219aaeb3d2d85d2d68fee85e7a650.jpg
Otherwise parts of Adguard interface are displayed in that language, no matter what is chosen as default language for the device (for example, filters in filter list).
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.