YousList icon indicating copy to clipboard operation
YousList copied to clipboard

[한국 전용] Twitch P2P 프라이버시 관련

Open seia-soto opened this issue 1 year ago • 29 comments

최근 Twitch에서는 한국에서의 네트워크 비용 절감을 위해 P2P를 사용하여 영상 소스를 사용자에게 전달하고 있습니다. 광고랑 연관되어 있진 않으나 프라이버시 문제(IP주소 노출)가 발생할 수 있으니 경우에 따라 차단바랍니다.

  • Mesh Delivery(LUMEN 제공) 서비스 차단: ||backend.dna-delivery.com$all,domain=twitch.tv
  • 기능 차단: ||static.twitchcdn.net/assets/streamroot.streamrooter-*.js$script,domain=www.twitch.tv

Twitch 측 정보: https://help.twitch.tv/s/article/p2p-faq

{"trackerUrl":"https://backend.dna-delivery.com/","signalingUrl":"wss://backend.dna-delivery.com/","distributorUrl":"https://backend.dna-delivery.com/","subnetMatcherUrl":"https://backend.dna-delivery.com/","klaraUrl":"https://backend.dna-delivery.com/"}

기타

이제 모든 버전에서 P2P 기능이 활성화될 수 있습니다.

도메인 차단 안정성

STUN 서버 등 공개적인 릴레이 서버들은 고객의 네트워크 환경 보완을 위해 만들어져 있습니다. 그리고 퍼블릭 서버의 수가 상당합니다. 이를 막는데에는 타 서비스 구동에 있어서 문제가 있는지 확인해주셔야 합니다.

seia-soto avatar Jul 29 '22 12:07 seia-soto

페이지가 삭제되어 첨부합니다:

한국어: https://archive.ph/MVn05 영어: https://archive.ph/nZb7o

seia-soto avatar Jul 29 '22 17:07 seia-soto

@yous Do you want to block it by adding ||backend.dna-delivery.com$all,domain=twitch.tv into yousList? I guess that you will not add it into yousList due to the policy of yousList.


List-KR does not block it because it is not an advertisement. https://listauthorschat.slack.com/archives/C010PK19W78/p1659095209106099

piquark6046 avatar Jul 31 '22 10:07 piquark6046

I can see the FAQ page now. Looks like streams which are 720p or lower doesn't use P2P. If this feature causes significant performance issues (like mining scripts) or serious privacy issues, I'll block this if the blocking doesn't affect other features.

I can't see the slack message. Maybe you can quote it explicitly.

yous avatar Jul 31 '22 11:07 yous

I'll block this if the blocking doesn't affect other features.

But, according to policy of youslist, youslist blocks only advertisement.

piquark6046 avatar Jul 31 '22 12:07 piquark6046

Additional note: the domain is already listed in uBlock Filters — Resource Abuse.

https://github.com/uBlockOrigin/uAssets/blob/master/filters/resource-abuse.txt#L108

seia-soto avatar Jul 31 '22 12:07 seia-soto

https://github.com/yous/YousList/issues/232#issuecomment-1200414524 But, AdGuard filters, YousList and List-KR do not block any resource abuse. Of course, an user can block it by enabling WebRTC protection in stealth mode of AdGuard browser extension and installable program.

piquark6046 avatar Jul 31 '22 12:07 piquark6046

I agree to you in view of exactly ads. But if there is no YousList, most users can't block trackers correctly in Korea as the Korean adblock market is already decided only to add YousList and EasyList in general because of compatibility issue. So, I believe adding to YousList is the way to care and correct most users. This is why I always create PR to suggest new rule not belong to ad category to YousList. Sure, the case is totally under Yous, I added "by case"(original: 경우에 따라) to the issue body to leave the possibility of rejection.

seia-soto avatar Jul 31 '22 12:07 seia-soto

Korean adblock market

Can you provide some example?

piquark6046 avatar Jul 31 '22 13:07 piquark6046

We don't need the market share table or similar because it depends on how many platform will support each list. For example, see Naver Whale or many ad blocking featured browsers, will List-KR support them? I can say no without any doubt. Lay people without technical stack still need compatibility. It is not easy to change them without great advantages or reward.

seia-soto avatar Jul 31 '22 13:07 seia-soto

Additional note: the domain is already listed in uBlock Filters — Resource Abuse.

https://github.com/uBlockOrigin/uAssets/blob/master/filters/resource-abuse.txt#L108

Seems that twitch.tv is not yet included as they enable this feature only in Korea. Seeing the linked issue https://github.com/uBlockOrigin/uAssets/issues/6433, backend.dna-delivery.com peaks network upload usage, I wonder if twitch.tv would use that much?

yous avatar Aug 01 '22 07:08 yous

@yous Twitch P2P feature will share the media mix payload up to 10 people at the time. This means when you stream in FHD quality, assuming the bitrate of the video is 6400kbps, you'll communicate via relay server up to 74000kbps (10 up + 1 down). The maximum limit of Twitch video bitrate is 8000kbps and I see there are three to eight peers connected at the time in general.

seia-soto avatar Aug 01 '22 07:08 seia-soto

To be fair, the P2P feature currently seeds its content ~to up to only two peers~ and can be opted out by watching in 720p or lower. Furthermore, the resource usage configuration seems reasonable. I wouldn't call it resource-intensive at the moment:

{
  "peer-agent": {
    "config": {
      "LIVE": {
        "TOP_SEEDER_TARGET_VS_PEER_COUNT": [2, 12]
      },
      "PEER_POOL_LIMIT": 10,
      "RESOURCE_ADAPTATION_PEER_POOL_INCREASE": 1,
      "RESOURCE_ADAPTATION_PEER_POOL_INIT": 10,
      "RESOURCE_ADAPTATION_PEER_POOL_TICK_INTERVAL": 60000,
      "RESOURCE_USAGE_BUFFERING_WITH_BUFFER_RATIO_THRESHOLD": 0.4,
      "RESOURCE_USAGE_DROPPED_FRAME_PER_SEC_DEAD_ZONE": 20,
      "RESOURCE_USAGE_DROPPED_FRAME_PER_SEC_THRESHOLD": 20
    }
  }
}

jebibot avatar Aug 01 '22 17:08 jebibot

To be fair, the P2P feature currently seeds its content to up to only two peers and can be opted out by watching in 720p or lower. Furthermore, the resource usage configuration seems reasonable. I wouldn't call it resource-intensive at the moment:

@jebibot However, according to policy of uBlock Origin filters list, any resource-abuse scripts must be opt-in.

piquark6046 avatar Aug 01 '22 18:08 piquark6046

P2P opt-in

It's opt-in, at least for now. Hiding risks behind the "Learn More" link, objectionable, but I don't think it's an abuse.

jebibot avatar Aug 01 '22 18:08 jebibot

@jebibot Did you check network history of your browser?

piquark6046 avatar Aug 01 '22 18:08 piquark6046

@piquark6046 Yes, I can confirm that it doesn't make request to backend.dna-delivery.com or initiate a WebRTC connection until the user selects 1080p.

jebibot avatar Aug 01 '22 19:08 jebibot

@jebibot Does Twitch take high resolution (FHD or higher) of a live streaming as a hostage? Personally, I can say yes like AfreeaTV.

Screenshot

Screenshot from 2022-08-01 19-38-53

Also, I found some community post contains its users' complaint.

  • https://tgd.kr/s/nokduro/65343821?page=1
  • https://www.clien.net/service/board/news/17443797
  • https://meeco.kr/free/35712951

piquark6046 avatar Aug 01 '22 20:08 piquark6046

Of course, a visitor can allow it if they think that Twitch is being damaged by Korean ISP (e.g. KT, SKT and LG U+) unfollowing network neutrality by pasting the following rules into user rules ( My filters ):

AdGuard
@@||backend.dna-delivery.com$all,domain=twitch.tv
twitch.tv#@%#//scriptlet("nowebrtc")
uBlock Origin
@@||backend.dna-delivery.com$all,domain=twitch.tv
twitch.tv#@#+js(nowebrtc)

In contrast, A visitor can pasting the following rules into user rules ( My filters ) if they want to block it:

AdGuard
||backend.dna-delivery.com$all,domain=twitch.tv
twitch.tv#%#//scriptlet("nowebrtc")
uBlock Origin
||backend.dna-delivery.com$all,domain=twitch.tv
twitch.tv##+js(nowebrtc)

piquark6046 avatar Aug 01 '22 20:08 piquark6046

@jebibot Even your attachment shows that the peer can be increase up to 10 people at the time. Also, it's reasonable to say resource-intensive since enabling P2P feature will consume more bandwidth than normal condition.

About viewing the case as opt-in or opt-out, I rather prefer saying it's not both it's opt-in or opt-out. Because, most of streamers lows its bitrate to enhance the time to deliver mix on Twitch, and this makes users to choose FHD forcibly to watch in clear resolution.

Not directly related to the topic, the real problem is in internet service providers in Korea. They never respect the rule of network all of the world believes.

seia-soto avatar Aug 02 '22 07:08 seia-soto

Update on filter: ||static.twitchcdn.net/assets/streamroot.streamrooter-*.js$script,domain=www.twitch.tv will disable the feature completely.

seia-soto avatar Aug 02 '22 07:08 seia-soto

@seia-soto There seems to be some capping mechanism for the upload bandwidth, not to exceed twice the download rate. So the bandwidth usage is at most triple. I initially though it was LIVE.TOP_SEEDER_TARGET_VS_PEER_COUNT[0], but it turns out it isn't and I'll investigate more.

jebibot avatar Aug 02 '22 13:08 jebibot

State updated: Twitch seems like to expand AB test exposure rate or make the feature public. Now the feature is available in all backend version.

seia-soto avatar Aug 02 '22 17:08 seia-soto

I checked a moment ago. However, I cannot find any option in Twitch live player settings, https://static.twitchcdn.net/assets/streamroot.streamrooter-... and backend.dna-delivery.com traffic with 1.12.0-twitch.1-rc.2.

piquark6046 avatar Aug 02 '22 17:08 piquark6046

Twitch changed the A/B ratio to 50/50.

jebibot avatar Aug 03 '22 02:08 jebibot

@jebibot Is there any related article?

piquark6046 avatar Aug 03 '22 08:08 piquark6046

@piquark6046 The experiment group assignment weight is defined in window.__twilightSettings.experiments["d70017a1-a0bf-455b-9d1f-c41def5a8bd3"].groups via https://static.twitchcdn.net/config/settings.*.js.

jebibot avatar Aug 03 '22 09:08 jebibot

https://github.com/yous/YousList/issues/232#issuecomment-1201707967 and https://github.com/yous/YousList/issues/232#issuecomment-1202130035 were mentioned at

  • https://www.flayus.com/dsk/98843305
  • https://tgd.kr/s/nokduro/65508463

PS. Twitch advertisement can be blocked by installing AdGuard Extra. NamuLink can block NamuWiki PowerLink advertisement. microShield can block Ad-Shield advertisement.

piquark6046 avatar Aug 06 '22 10:08 piquark6046

@jebibot What is these? https://chrome.google.com/webstore/detail/ttv-p2p-disabler/mfehcpnbpeelohopacegmbklkdhlblmn https://www.twitchgg.tv/ https://github.com/jebibot/twitchgg-chat

piquark6046 avatar Aug 22 '22 18:08 piquark6046

I think this can be closed as most users have a right to choose the feature by blocking asset or domain name manually.

seia-soto avatar Sep 22 '22 01:09 seia-soto

Twitch will limit some streams to 720p in Korea. https://blog.twitch.tv/ko-kr/2022/09/28/%ED%95%9C%EA%B5%AD-twitch-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8/

yous avatar Sep 29 '22 03:09 yous