shadowsocks / shadowsocks-android

A shadowsocks client for Android
Other
35.23k stars 11.57k forks source link

DNS resolve problem on China Telecom. Failed to connect to cp.cloudflare.com/127.0.0.1:443 #2798

Open shell12345 opened 3 years ago

shell12345 commented 3 years ago

Describe the bug DNS-related bugs. I use China Telecom (wifi or China mobile is fine) I get this error Failed to connect to cp.cloudflare.com/127.0.0.1:443. I resolve DNS on the remote server on bypass china mode ( all route is also fine). I notice the China Telecom will send "127.0.0.1" if request a sensitive domain name. So I think it is a bug that ss send DNS requests to the internet provider. Pls, fix it. A comprise way to solve this problem is to enable private dns. Then, all DNS requests are sent to private DNS, like dns.google. But I did not find a single one to work smoothly under my network (latency or can not connect). related issue #2760.

Smartphone (please complete the following information):

Configuration Put an x inside the [ ] that applies.

Additional context Add any other context about the problem here.

shell12345 commented 3 years ago

I think DNS resolve problems last for a long time. I read an issue that said ss will leak DNS to the internet provider, only all route mode is fine. Now, this issue may be more serious, an internet provider like China Telecom will send 127.0.0.1 to local when requests a sensitive domain. So, any advice? Private DNS is just comprised way.

Mygod commented 3 years ago

Use bypass China instead?

shell12345 commented 3 years ago

Use bypass China instead?

Thanks for the reply. Two modes works:

  1. all route.
  2. bypass China. Others encounter the error Failed to connect to cp.cloudflare.com/127.0.0.1:443.

So why bypass china and local failed?

Mygod commented 3 years ago

127.0.0.1 is a LAN address and therefore matches the bypass LAN rule.

aohanhongzhi commented 3 years ago

The same happened to me