AdguardTeam / AdguardFilters

AdGuard Content Blocking Filters
https://adguard.com/
GNU General Public License v3.0
3.18k stars 631 forks source link

www.tiktok.com #180614

Closed adguard-bot closed 4 months ago

adguard-bot commented 4 months ago

Issue URL (Ads)

https://www.tiktok.com/foryou

Comment

sponsored ads video

Screenshots

Screenshot 1 ![Screenshot 1](https://cdn.adguard.info/sitereports/nycd6wke12scwcooo4swkgwso0g8sgch6iqwtru1t4.png?nc=1)

System configuration

Information Value
AdGuard product: AdGuard Browser Extension v4.3.53
System version: Windows 10
Browser: Opera
Stealth mode: disabled
Filters: Ad Blocking:
AdGuard Base

Privacy:
AdGuard Tracking Protection,
EasyPrivacy

Social Widgets:
AdGuard Social Media

Annoyances:
AdGuard Annoyances
BlazDT commented 4 months ago

Swiped about 20 times and no ad video shown. Please check @AdguardTeam/filters-maintainers

zloyden commented 4 months ago

Also not reproduced on my end.

abidjauhar17 commented 4 months ago

@BlazDT @zloyden this I got after 7 videos

Details

![image](https://github.com/AdguardTeam/AdguardFilters/assets/37255346/022f3598-6fc4-48d0-a148-e841303a3a65)

I recorded the HAR (I don't know if this is correct or not) Download it here first (I uploaded it to an online site on the internet because GitHub can't upload files more than 25 MB) https://filebin.net/q7t023gx8gdqh47o/www.tiktok.com.zip

D4niloMR commented 4 months ago

@abidjauhar17 Could you test this filter in uBlock Origin?

www.tiktok.com##+js(json-prune-fetch-response, itemList.[-].ad_info.ad_id, , propsToMatch, url:/api/recommend/item_list/)

I couldn't think a json-prune filter for AdGuard without [-].

abidjauhar17 commented 4 months ago

@D4niloMR but I'm not a uBO user I am an Adguard user

I tried to convert the rule using Adguard scriptlets to be like this

www.tiktok.com#%#//scriptlet('ubo-json-prune-fetch-response.js', 'itemList.[-].ad_info.ad_id', '', 'propsToMatch', 'url:/api/recommend/item_list/'))

and I haven't found any more advertising videos since installing the rule I don't know if there is anything that needs to be changed to the rule so that it is more compatible with Adguard, but my abilities are beyond that

D4niloMR commented 4 months ago

Yes, I know, and it would be helpful, because we received a report of TikTok ads too but none of us can reproduce it. It is ok if you don't want to. By the way, I don't know if this converted filter above is valid.

abidjauhar17 commented 4 months ago

Yes, I know, and it would be helpful, because we received a report of TikTok ads too but none of us can reproduce it. It is ok if you don't want to. By the way, I don't know if this converted filter above is valid.

yes that's correct. I haven't found any more ads when scrolling on TikTok after installing that rule whether the rule still needs to be researched further or not, what is certain is that I am sure this rule will help other people in the future by including it in the Adguard filter

zloyden commented 4 months ago

Hm, I can't reproduce it on my end no matter how much videos I've watched. However, I see the same ad_info.ad_id in your har. So, the rule by @D4niloMR may work. I think it should be fine, especially since you've confirmed it.

and I haven't found any more advertising videos since installing the rule

tiktok.com#%#//scriptlet('json-prune-fetch-response', 'itemList.*.ad_info.ad_id', '', 'api/recommend/item_list')
zloyden commented 4 months ago

@AdamWr @BlazDT could you also check this?

AdamWr commented 4 months ago

I don't see any video ads (at least nothing what would be marked as an advertisement).

abidjauhar17 commented 4 months ago

@zloyden @AdamWr Have you also tried it with IP from Indonesia?

zloyden commented 4 months ago

Yep, I've also checked it with Indonesian IP - the same.

zloyden commented 4 months ago

Btw, the mentioned rule is in AdGuard Experimental. Have you checked it?

abidjauhar17 commented 4 months ago

Btw, the mentioned rule is in AdGuard Experimental. Have you checked it?

yup, I've tested it and the results are the same as I said, with this rule I don't find ads even after scrolling dozens of times

zloyden commented 4 months ago

I've moved the rule to AdGuard Base, thanks for checking this.

abidjauhar17 commented 4 months ago

I've moved the rule to AdGuard Base, thanks for checking this.

yeah. hope this is the correct solution

adguard-bot commented 4 months ago

Issue URL (Incorrect Blocking)

https://www.tiktok.com/live

Comment

Scriplet blocked the live stream.

tiktok.com##+js(json-prune-fetch-response, itemList.*.ad_info.ad_id, , api/recommend/item_list)

Screenshots

Screenshot 1 ![Screenshot 1](https://cdn.adguard.info/sitereports/7l3erqr99yg48sk8ws4sgkwcsgsg0ccnemhrsh8p34.png?nc=1)
Screenshot 1 with AdGuard disabled ![Screenshot 1](https://cdn.adguard.info/sitereports/f7b0yrb5e08o4oosckssg048koswgosiwk3iq2uufk.png?nc=1)

System configuration

Information Value
Platform: uBO 1.58.0
System version: Windows 10
Browser: Chrome
Filters: Ad Blocking:
AdGuard Base,
EasyList

Privacy:
EasyPrivacy

Annoyances:
AdGuard Cookie Notices
piquark6046 commented 4 months ago

https://github.com/AdguardTeam/AdguardFilters/issues/180614#issuecomment-2157307672 CC: @gorhill

gorhill commented 4 months ago

@piquark6046

uBO's json-prune-fetch-response syntax requires itemList.*.ad_info.ad_id, , propToMatch, api/recommend/item_list. uBO implementation came first, hence why it does not follow AdGuard's implementation.