Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support anti-DPI feature for Korea Telecom #1789

Closed
piquark6046 opened this issue Jul 31, 2023 · 90 comments
Closed

Support anti-DPI feature for Korea Telecom #1789

piquark6046 opened this issue Jul 31, 2023 · 90 comments

Comments

@piquark6046
Copy link
Member

piquark6046 commented Jul 31, 2023

In 2019, South Korean government announced that they use SNI snooping to censor HTTPS websites 12.

Currently, AdGuard can neutralize DPI systems of SK Telecom and LG U+.
But, DPI system of Korea Telecom, one of major telecommunication companies of South Korea, cannot be neutralized with AdGuard.

In public, Unicorn HTTPS, an anti-DPI program made by Unicornsoft Co Ltd 3, is widely used for neutralizing the system if a visitor in South Korea doesn't want to use a VPN to neutralize.

Footnotes

  1. https://www.forbes.com/sites/davidvolodzko/2019/02/25/is-south-korea-sliding-toward-digital-dictatorship/#62bc1ea2648e

  2. https://en.wikipedia.org/wiki/Internet_censorship_in_South_Korea

  3. Also, they are developer of Unicorn Pro adblocker.

@sfionov
Copy link
Member

sfionov commented Jul 31, 2023

@piquark6046 Can you try to play with advanced Protect from DPI parameters such as "split HTTP fragment size" and "split ClientHello fragment size"? 1 byte is default - packet is split to 1 byte and a tail. But another values can be used also (2, 40, etc.)

@piquark6046
Copy link
Member Author

piquark6046 commented Jul 31, 2023

In fact, I already tested at June 14 (KST) with AdGuard for Android 4.0 stable.
I cannot access https://www.womenonweb.org via my school network using KT with the following configuration:

  • HTTP space juggling + ClientHello fragment 1 + HTTP request fragment 1
  • HTTP space juggling + ClientHello fragment 16 + HTTP request fragment 16
  • ClientHello fragment 16 + HTTP request fragment 16
  • ClientHello fragment 1 + HTTP request fragment 1

The number 16 is blurred in my memory.

@ameshkov
Copy link
Member

ameshkov commented Aug 2, 2023

@sfionov I'll order a residential proxy with KST so that we could test it on our side.

UPD: done, I've passed the proxy to @sfionov. Can confirm the issue with womenonweb with that proxy.

@piquark6046
Copy link
Member Author

piquark6046 commented Aug 2, 2023

Also, referring the following websites blocked in South Korea can be helpful:

  • PetuBucket ( https://www.petbucket.com/ )
  • Many pron websites (examples)
    • https://hitomi.la/
    • https://www.pornhub.com/
    • https://xvideos.com/
    • https://www.fakku.net/

https://ko.wikipedia.org/wiki/%EB%8C%80%ED%95%9C%EB%AF%BC%EA%B5%AD%EC%97%90%EC%84%9C_%EC%B0%A8%EB%8B%A8%EB%90%9C_%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8_%EB%AA%A9%EB%A1%9D
https://namu.wiki/w/%ED%8B%80:%EC%84%B1%EC%9D%B8%20%EC%82%AC%EC%9D%B4%ED%8A%B8

@piquark6046
Copy link
Member Author

Please reconsider priority of this issue.
This issue can be a fork of choosing between Unicorn Pro adblocker or AdGuard.

@sfionov
Copy link
Member

sfionov commented Aug 15, 2023

@piquark6046 We found a solution and it will be implemented in CoreLibs version currently in development

@piquark6046
Copy link
Member Author

The issue is being watched by someone who wants to switch from Unicorn Pro adblocker to AdGuard if the issue is resolved:

@hsp1020
Copy link

hsp1020 commented Aug 24, 2023

I am korean KT user. I look forward to solving this problem. Due to this issue I have deleted AdGuard and am using Unicorn Pro. When this problem is solved, I'll switch back to AdGuard

@piquark6046
Copy link
Member Author

@hsp1020 Do you want to experience like Unicorn Pro adblocker with AdGuard?
If so, can you describe it?

@hsp1020
Copy link

hsp1020 commented Aug 25, 2023

@hsp1020 Do you want to experience like Unicorn Pro adblocker with AdGuard? If so, can you describe it?

What exactly should I do?

@piquark6046
Copy link
Member Author

@hsp1020
The question is what the advantage and disadvantage between them when they are compared.

@hsp1020
Copy link

hsp1020 commented Aug 25, 2023

@hsp1020 The question is what the advantage and disadvantage between them when they are compared.

@piquark6046
Yes, i can compare the two apps to explain their relative advantage and disadvantage.

The advantages of Unicorn Pro over AdGuard are 1.Support anti-DPI feature for Korea Telecom (this issue), 2.Web browser Assistant support for iOS/Android, 3.Optimized for Korean websites and apps, and faster. Especially in Korea, more than 50% of users use Korea Telecom. However, because of this issue, many korean users are using Unicorn pro instead of Adguard.

Advantages of AdGuard over Unicorn Pro are 1.DNS filter selectable, 2.There are various types of built-in filters. 3.Block more ads on websites outside of Korea 4.Tracking protection (stealth mode) is more powerful. the default functionality is more power

@piquark6046
Copy link
Member Author

3.Optimized for Korean websites and apps, and faster. Especially in Korea, more than 50% of users use Korea Telecom. However, because of this issue, many korean users are using Unicorn pro instead of Adguard.

Have you ever tested with only List-KR filter excluding other filters?
And, do you hear about https://github.com/List-KR/filter-customizer that is in development?

@hsp1020
Copy link

hsp1020 commented Aug 25, 2023

@piquark6046

Yes, I have tested only with List-KR filters except for other filters. However, Unicorn pro can use the list-KR filter just like AdGuard. The speed difference on the Korean site is estimated to be the difference between the base filters embedded in the two apps. And the biggest reason why Koreans use Unicorn Pro instead of AdGuard is whether it is Support anti-DPI feature for Korea Telecom.

@piquark6046
Copy link
Member Author

piquark6046 commented Aug 25, 2023

However, Unicorn Pro can also use the list-kt filter.

No. Unicorn Pro adblocker cannot use List-KR filter right now even if the filter can be registered in app.
Unicorn Pro does not support scriptlet, redirection resources, etc that resolve many advertisements and almost anti-adblock script.
Even if the app supports them, I don't have a plan to support Unicorn Pro adblocker as one of supported adblockers in List-KR filter.

@hsp1020
Copy link

hsp1020 commented Aug 25, 2023

@piquark6046

I was wrong about that part. I thought it was working because I could add it to the Unicorn pro filter list. However, for Koreans, the most important part when choosing AdGuard and Unicorn Pro is not whether the list-KR filter is supported, but whether Korea Telecom supports anti-DPI functions. If this issue is not resolved, many Koreans will use Unicorn Pro. This is because even if list-KR does not support Unicorn pro, most advertisements on Korean sites are blocked only by Unicorn pro base filters.

@piquark6046
Copy link
Member Author

This is because even if list-KR does not support Unicorn pro, most advertisements on Korean sites are blocked only by Unicorn pro base filters.

There is common advertisement servers that are used in Korean language websites and other language websites.
For example, Google Ads is used in almost websites regardless of language of a website.

@hsp1020
Copy link

hsp1020 commented Aug 25, 2023

@piquark6046

Unicorn Pro also has a dedicated Korean filter that is set by default. This allows you to block advertisements in Korean at a level similar to list-KR. Therefore, whether to apply for list-KR is not an important part for Koreans. Therefore, AdGuard developers need to support anti-DPI features for Korea Telecom as soon as possible.

@piquark6046
Copy link
Member Author

Unicorn Pro also has a dedicated Korean filter that is set by default. As a result, advertisements in Korean can be blocked at a similar level to list-KR. Therefore, whether to support for list-KR is not an important part for Koreans.

List-KR filter can block advertisements on copyright-abusing torrent and streaming websites as this is mentioned in https://gall.dcinside.com/mgallery/board/view/?id=galaxy&no=998970.
Also, List-KR filter can block Naver PowerLink advertisements on m.humoruniv.com using scriptlets without changing the related rules regularly.

List-KR filter uses scriptlet to mitigate DNS filtering exception.

@hsp1020
Copy link

hsp1020 commented Aug 25, 2023

@piquark6046
list-KR filters may perform better than Unicorn pro Korea filters. However, there are many sites that are not accessible in Korea unless Adguard supports Anti-DPI function for Korean Telecom. (Most of the torrents and streaming websites you mentioned are also not accessible.) This reduces the advantages of list-KR.

@uaevuon
Copy link

uaevuon commented Mar 14, 2024

#1789 (comment)

How about D'LIVE?

Can you tell me what is your ASN name? Please check at https://ipinfo.io/.

asn: "AS10036",
name: "DLIVE",
domain: "dlive.kr"

@piquark6046
Copy link
Member Author

@uaevuon
Does #1789 (comment) not work?

@uaevuon
Copy link

uaevuon commented Mar 14, 2024

@uaevuon Does #1789 (comment) not work?

I've never used Adguard on Windows, so just installed and tested it.
Works on D'LIVE.
Any ETA for android version?

@Kinomerc
Copy link

it works at kt network
check your [General Settings] - [Advanced Setting] - [Korea Telecom DPI Protection] is off

Did you found Korea Telecom DPI Protection option on Android? Other users have also reported finding the option on Windows and MAC platforms, but not on Android. I'll try uninstalling and reinstalling the app first.

Screenshot_20240315_211125_AdGuard

NO
Adguard for Android has no option about anti-DPI for Korea Telecom
I only checked at Adguard for Windows and wrote
It's My mistake

@3k2jd0j2k
Copy link

it works at kt network
check your [General Settings] - [Advanced Setting] - [Korea Telecom DPI Protection] is off

Did you found Korea Telecom DPI Protection option on Android? Other users have also reported finding the option on Windows and MAC platforms, but not on Android. I'll try uninstalling and reinstalling the app first.

@scor2 We implemented a new method in CL1.14 but it may take some time for new setting to show up in UI in nightlies. I'll say when it will happen.

android user waited for 2weeks...check plz

@piquark6046
Copy link
Member Author

piquark6046 commented Mar 26, 2024

@3k2jd0j2k

"It is in progress by design team, it was also renamed to not to mention trademarks"

@ameshkov
Copy link
Member

Sorry for the delay, it's coming soon I promise.

The predicament is rather simple: we initially called this feature Korea Telecom DPI Protection while in fact it is not specified to Korea, it's just another rather popular method of anti-DPI protection: increasing the first packet size so that the hostname information was shifted to the second packet.

@ameshkov
Copy link
Member

@sfionov new issue here?

@sfionov
Copy link
Member

sfionov commented Apr 12, 2024

@ameshkov No, just leaving it open until it is deployed to every platform

@Kinomerc
Copy link

Screenshot_20240418_230435_AdGuard
is this new trademark you have made for 2 weeks? or still in progress?

@sfionov
Copy link
Member

sfionov commented Apr 18, 2024

@Kinomerc You guessed right, this is exact option that should work for Korean providers.

It is already in the latest nightly on Android, and the latest betas on Windows and Mac.

@ScathachSkadi
Copy link

Thanks for making this happen. I had both Unicorn pro and Adguard and I completely ditched Unicorn now. Working fine so far on MacOS normal release and Android Nightly.

@uaevuon

This comment was marked as off-topic.

@zubrRB
Copy link

zubrRB commented Apr 19, 2024

Release AdGuard v7.17 for Windows.

7 17

@sfionov
Copy link
Member

sfionov commented Apr 23, 2024

There is not very good news: Google has started to rollout Chrome 124 which have large ClientHello too. At some time, ISP may tune its DPI to deal with larger packets, then other solution will be needed.

@Taewan-P
Copy link

From what version is this feature supported? I just checked out the 4.4 Release of Android with this issue linked in release notes but I don't see any of the settings inside the app.

@sfionov
Copy link
Member

sfionov commented May 21, 2024

@Taewan-P Protection -> Tracking protection -> Custom -> Protect against DPI -> Increase first packet size

@Taewan-P
Copy link

@sfionov Thank you for the kind reply. It was hidden under Custom 😅

@ScathachSkadi
Copy link

On the latest Android nightly, the feature doesn't seem to work on WiFi. On Cellular data it works, but not on WiFi. Both Korea Telecom of course.

@piquark6046
Copy link
Member Author

@ScathachSkadi Please try its stable channel again.

@ScathachSkadi
Copy link

@piquark6046 I can confirm stable works.

@juicycool92
Copy link

juicycool92 commented Jul 9, 2024

@uaevuon Does #1789 (comment) not work?

i did work on latest stable build on mac and windows. ( July 9, 2024 )
each platforms options labels are differences but yes, its worked!

@juicycool92
Copy link

Is there any plan for support iOS version too? I checked testflight version but options are not implemented on iOS yet i guess.

@Kinomerc
Copy link

Kinomerc commented Sep 29, 2024

iOS 버전도 지원할 계획이 있나요? 테스트플라이트 버전을 확인했지만 아직 iOS에서 옵션이 구현되지 않은 것 같아요.
the feature is seen as a corelib feature.
As you can see in update log, unless corelib is supported by ios, i think it seems unlikely to be implemented

@juicycool92
Copy link

iOS 버전도 지원할 계획이 있나요? 테스트플라이트 버전을 확인했지만 아직 iOS에서 옵션이 구현되지 않은 것 같아요.
the feature is seen as a corelib feature.
As you can see in update log, unless corelib is supported by ios, i think it seems unlikely to be implemented

Thankyou for reply!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests