AdguardTeam / AdguardFilters

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

www.playstation.com #124917

Closed adguard-bot closed 2 years ago

adguard-bot commented 2 years ago

Issue URL (Incorrect Blocking)

https://www.playstation.com/en-tr/

Comment

Username: @rakleed

Profile icon in top right corner → Payment Management

Screenshots

Screenshot 1 ![Screenshot 1](https://reports-img.adguard.com/iameACd.png)
Screenshot 2 ![Screenshot 2](https://reports-img.adguard.com/llg1nx2.png)

System configuration

Information value
AdGuard product: AdGuard for Mac v2.8.1.1140 release
Browser: Chrome
Stealth mode options: Hide your search queries,
Remove X-Client-Data header from HTTP requests,
Strip URLs from tracking parameters,
Block third-party Authorization header,
Disable cache for third-party requests,
Hide your Referrer from third-parties (),
Hide your User-Agent ()
DNS filtering: server: https://dns.cloudflare.com/dns-query
Filters: Ad Blocking:
AdGuard Base

Privacy:
AdGuard Tracking Protection,
AdGuard URL Tracking

Social Widgets:
AdGuard Social Media

Annoyances:
AdGuard Annoyances

Language-specific:
AdGuard Russian
Userscripts: AdGuard Extra (url: https://userscripts.adtidy.org/release/adguard-extra/1.0/adguard-extra.user.js)
Referrer: https://www.playstation.com/country-selector/index.html
Alex-302 commented 2 years ago

У меня не работает авторизация на этом сайте. Что ломает страницу?

rakleed commented 2 years ago

@Alex-302 а зачем issue то закрывать? Проблема из-за Stealth Mode, а именно из-за Hide Referer from third-parties

Alex-302 commented 2 years ago

Потому что проверить невозможно. Могу предложить только испключать запросы с модификатором $stealth, когда включено только скрытие реферера. @@url$stealth

rakleed commented 2 years ago

@Alex-302 вообще можно через турецкий VPN зарегистрировать аккаунт в турецком PS Store.

Я попытался посмотреть через журнал фильтрации, какие запросы модифицируются, но при попытке открыть запрос https://transact.playstation.com/... у меня просто AdGuard зависал. Но через инструменты разработчика в Chrome я смог найти этот запрос:

https://transact.playstation.com/?clientId=*****&layout=flex&hostAppType=digital&reportSuite=snestorescee-uat&platformId=CHIHIRO&disableWindows=false&schemaOverride=valkyrie-storefront&authConfig=session (только сам clientId на всякий случай заменил звёздочками)

Я добавил такое правило: @@transact.playstation.com^$stealth и оно работает. И как я понимаю, в данном случае его не получится сделать менее общим.

Alex-302 commented 2 years ago

А какой опцией ломается?

rakleed commented 2 years ago

@Alex-302

@Alex-302 а зачем issue то закрывать? Проблема из-за Stealth Mode, а именно из-за Hide Referer from third-parties

adguard-bot commented 2 years ago

Issue URL (Incorrect Blocking)

https://www.playstation.com/en-us/support/contact-us/?category=subscriptions&subCategory=psplus

Comment

Username: @rakleed

AdGuard blocks live chat

Screenshots

Screenshot 1 ![Screenshot 1](https://reports-img.adguard.com/R2NSbHE.png)
Screenshot 2 ![Screenshot 2](https://reports-img.adguard.com/VRtTRdo.png)

System configuration

Information value
AdGuard product: AdGuard for Mac v2.8.1.1140 release
Browser: Chrome
Stealth mode options: Hide your search queries,
Remove X-Client-Data header from HTTP requests,
Strip URLs from tracking parameters,
Block third-party Authorization header,
Disable cache for third-party requests,
Hide your Referrer from third-parties (),
Hide your User-Agent ()
DNS filtering: server: https://dns.cloudflare.com/dns-query
Filters: Ad Blocking:
AdGuard Base

Privacy:
AdGuard Tracking Protection,
AdGuard URL Tracking

Social Widgets:
AdGuard Social Media

Annoyances:
AdGuard Annoyances

Language-specific:
AdGuard Russian
Userscripts: AdGuard Extra (url: https://userscripts.adtidy.org/release/adguard-extra/1.0/adguard-extra.user.js)
Alex-302 commented 2 years ago

@rakleed Если нужны эти чаты - выключи текущий фильтр раздражителей и добавь/включи только нужные его части(разделён на 5 фильтров).

rakleed commented 2 years ago

@Alex-302 а что насчёт https://github.com/AdguardTeam/AdguardFilters/issues/124917#issuecomment-1195528742? В коммите https://github.com/AdguardTeam/AdguardFilters/commit/d936b21cae63dccb3ea5b5e464e10fab03641751 вы добавили правило только для GeForce Now.

На некоторых сайтах эти чаты и правда раздражают, особенно когда ещё от них какой-то попап выскакивает, поэтому я всё же оставляю включенным этот фильтр полностью.

Alex-302 commented 2 years ago

правило только для GeForce Now.

Проблема повторяется?

rakleed commented 2 years ago

@Alex-302 с включённой опцией Hide Referer from third-parties платежная информация не открывается. При добавлении этого правила проблема решается:

@@transact.playstation.com^$stealth

Alex-302 commented 2 years ago

Какие там точные адреса? Можно без параметров.

rakleed commented 2 years ago

@Alex-302 я же в https://github.com/AdguardTeam/AdguardFilters/issues/124917#issuecomment-1195528742 описал это подробно.

Alex-302 commented 2 years ago

То отдельная задача)

Alex-302 commented 2 years ago

Ломает же только Block third-party Authorization header? Могу добавить, но нужно точно знать, какая опция сломала. @@||transact.playstation.com^$stealth

rakleed commented 2 years ago

@Alex-302 давайте ещё раз. Я написал о проблеме, что при открытии платёжной информации отображается пустая страница (https://github.com/AdguardTeam/AdguardFilters/issues/124917#issue-1311026834), затем я выяснил, что это из-за опции Hide Referer from third-parties (https://github.com/AdguardTeam/AdguardFilters/issues/124917#issuecomment-1194474941), и что при добавлении правила @@transact.playstation.com^$stealth проблема решается (https://github.com/AdguardTeam/AdguardFilters/issues/124917#issuecomment-1195528742).

Ну и я ещё попытался понять, почему вы упомянули про Block third-party Authorization header, и похоже с включённой этой опцией просто невозможно войти в аккаунт (после ввода логина и пароля появляется ошибка "An error has occurred."). Поэтому после множества тестов я пришёл к выводу, что добавление @@api.playstation.com^$stealth и @@playstation.com/api^$stealth решает проблему, или можно оставить одно правило — @@playstation.com^$stealth.

И затем из-за той же опции Block third-party Authorization header, после входа в аккаунт, страница с настройками профиля (https://id.sonyentertainmentnetwork.com/id/management_ca/?gated=true&pr_referer=cam&entry=psn_profile) просто бесконечно перезагружается. Поэтому также стоит добавить правило @@playstation.net^$stealth.

Вот весь список:

@@transact.playstation.com^$stealth
@@api.playstation.com^$stealth
@@playstation.com/api^$stealth
@@playstation.net^$stealth

или

@@transact.playstation.com^$stealth
@@playstation.com^$stealth
@@playstation.net^$stealth
Alex-302 commented 2 years ago

transact.playstation.com не нужно исключать что ли?

rakleed commented 2 years ago

@Alex-302 нужно. Просто он исключается из-за другой опции.

Alex-302 commented 2 years ago

Мне нужны пары "адрес + ломающая опция") Потом будем переделывать с общих исключений, на отключение ломающих опций правилом.

rakleed commented 2 years ago

@Alex-302


Hide Referer from third-parties:

@@transact.playstation.com^$stealth


Block third-party Authorization header:

@@api.playstation.com^$stealth
@@playstation.com/api^$stealth
@@playstation.net^$stealth

или

@@playstation.com^$stealth
@@playstation.net^$stealth
Alex-302 commented 2 years ago

Для transact.playstation.com добавил. Для этих нужны полные адреса, т.к. я вижу, что домены используются для телеметрии(которая заблокирована. Как тут стелсовые исключения могли помочь?)

@@||api.playstation.com^$stealth
@@||playstation.com/api^$stealth
@@||playstation.net^$stealth
Alex-302 commented 2 years ago

@rakleed

rakleed commented 2 years ago

@Alex-302 данные запрос в Журнале фильтрации отображаются как Modified Metadata.

Вот адрес запроса, из-за модификации которого не работает нормально логин:

https://web.np.playstation.com/api/settings/v2/users/me/settings?settings=PersonalizedRecommendations,PersonalizedAds

Затем при открытии Account Settings из-за модификации этого запроса появляется ошибка:

https://accounts.api.playstation.com/api/v1/accounts/me/communication

При попытке открыть настройки Profile в разделе PlayStation Network начинается бесконечная перезагрузка страницы из-за модификации этого запроса:

https://web.np.playstation.com/api/basicProfile/v1/profile/users/me

Но после его добавления в исключения страница всё ещё перезагружалась бесконечно, но появились новые запросы:

https://web.np.playstation.com/api/communicationRestrictionStatus/v3/users/me/communication/restriction/status
https://accounts.api.playstation.com/api/v2/verifiedAccounts/me
и другие...

Поэтому я добавил такие исключения, чтобы мне было проще:

@@web.np.playstation.com/api^$stealth
@@accounts.api.playstation.com/api^$stealth

И стал искать дальше, что ещё взывает перезагрузку страницы. И выяснил, что проблема из-за этих двух запросов:

https://asm.np.community.playstation.net/asm/v1/apps/me/baseUrls/userProfile
https://tr-prof.np.community.playstation.net/userProfile/v1/users/me/profile2?fields=avatarUrls

Затем при нажатии Edit напротив Online ID я получал ошибку из-за модификации этого запроса:

https://ias.api.playstation.com/v2/accounts/me/onlineIdChange/eligibility

Затем при открытии Privacy Settings я получал ошибку из-за модификации этих запросов:

https://privacysettings.api.playstation.com/v1/users/me/settings/LoyaltyDigitalCollectible?t=1660591974384
https://privacysettings.api.playstation.com/v1/users/me/settings/PlayerTagActivityPrivacy?t=1660592126476
и скорее всего других...

Поэтому добавил более общее исключение, которое исправило это проблему:

@@privacysettings.api.playstation.com/v1/users/me/settings^$stealth

Затем не получалось открыть Device Managment из-за модификации этого запроса:

https://dms.api.playstation.com/api/v1/devices/accounts/me

И когда я отключил Block third-party Authorization header, ни одна из проблем не воспроизвелась.

Также при переходе между страницами меня просили ввести пароль иногда, но я не знаю, связано ли это с AdGuard, или просто из-за того что много запросов с одного IP-адреса или просто так сайт настроен, но это проверять у меня уже нет желания.

В итоге можно добавить такие правила, чтобы их было немного, но они были довольно точными:

@@api.playstation.com^$stealth
@@web.np.playstation.com/api^$stealth
@@np.community.playstation.net^$stealth
Alex-302 commented 2 years ago

Эти три правила нужны только если применяется Block third-party Authorization header? С другими опциями, включая блокировку реферера, проблем нет, когда опция выше отключена и нет тех исключений?

rakleed commented 2 years ago

@Alex-302 да и да.

Alex-302 commented 2 years ago

ок, добавил.