PoomSmart / LetMeBlock

Make mDNSResponder care more about /etc/hosts
MIT License
63 stars 12 forks source link

Not working on 13.5 and unc0ver #13

Closed bagbyte closed 2 years ago

bagbyte commented 4 years ago

I’m using an iPhone X running iOS 13.5 and LetMeBlock 0.0.7.1

My changes to /etc/hosts are not taken in account, I’ve tried to execute the killall commands after the changes, but still not working, I’ve also tried to uninstall and rest all LetMeBlock, respring again the killall commands, but still not working

I've managed to gather the logs of mDNSResponder process when I request the website which should be blocked on Safari:

Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R11] DNSServiceCreateDelegateConnection START PID[16312](<private>)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R11] DNSServiceCreateDelegateConnection START PID[16312](MobileSafari)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12] DNSServiceGetAddrInfo(C000D000, 0, 0, <private>) START PID[16312](MobileSafari)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q33210] GetServerForQuestion: 0x10500ee00 DNS server (0x102716970) <private>:53 (Penalty Time Left 0) (Scope None:0x0:-1) for <private> (AAAA)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q4581] GetServerForQuestion: 0x103820a00 DNS server (0x102716970) <private>:53 (Penalty Time Left 0) (Scope None:0x0:-1) for <private> (Addr)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q4581] DNSServiceGetAddrInfo(<private>, Addr) RESULT ADD interface -1: (mortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R11] DNSServiceCreateDelegateConnection START PID[16312](<private>)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q33210] Sent UDP DNS Message 35 bytes from <private>:54987 to <private>:53 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q33210] DNS Query (35) (flags 0100) RCODE: NoErr (0) RD:<private> 0/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R11] DNSServiceCreateDelegateConnection START PID[16312](MobileSafari)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12] DNSServiceGetAddrInfo(C000D000, 0, 0, <private>) START PID[16312](MobileSafari)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q33210] GetServerForQuestion: 0x10500ee00 DNS server (0x102716970) <private>:53 (Penalty Time Left 0) (Scope None:0x0:-1) for <private> (AAAA)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q4581] GetServerForQuestion: 0x103820a00 DNS server (0x102716970) <private>:53 (Penalty Time Left 0) (Scope None:0x0:-1) for <private> (Addr)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q4581] DNSServiceGetAddrInfo(<private>, Addr) RESULT ADD interface -1: (mortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q33210] Sent UDP DNS Message 35 bytes from <private>:54987 to <private>:53 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q33210] DNS Query (35) (flags 0100) RCODE: NoErr (0) RD:<private> 0/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q33210] Received UDP DNS Message 119 bytes from <private>:53 to <private>:54987 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q33210] DNS Response (119) (flags 8180) RCODE: NoErr (0) RD RA:<private> 3/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q33210] DNSServiceGetAddrInfo(<private>, AAAA) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q33210] DNSServiceGetAddrInfo(<private>, AAAA) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q33210] DNSServiceGetAddrInfo(<private>, AAAA) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R11] DNSServiceCreateConnection STOP PID[16312](MobileSafari)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12] DNSServiceGetAddrInfo(<private>) STOP PID[16312](MobileSafari)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q33210] Received UDP DNS Message 119 bytes from <private>:53 to <private>:54987 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q33210] DNS Response (119) (flags 8180) RCODE: NoErr (0) RD RA:<private> 3/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q33210] DNSServiceGetAddrInfo(<private>, AAAA) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q33210] DNSServiceGetAddrInfo(<private>, AAAA) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12->Q33210] DNSServiceGetAddrInfo(<private>, AAAA) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R11] DNSServiceCreateConnection STOP PID[16312](MobileSafari)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R12] DNSServiceGetAddrInfo(<private>) STOP PID[16312](MobileSafari)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R13] DNSServiceCreateConnection START PID[2881](com.apple.Safar)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14] DNSServiceGetAddrInfo(C808D000, 0, 0, <private>) START PID[2881](com.apple.Safar)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R13] DNSServiceCreateConnection START PID[2881](com.apple.Safar)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14->Q26748] GetServerForQuestion: 0x10500ee00 DNS server (0x102716970) <private>:53 (Penalty Time Left 0) (Scope None:0x0:-1) for <private> (AAAA)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14] DNSServiceGetAddrInfo(C808D000, 0, 0, <private>) START PID[2881](com.apple.Safar)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14->Q26748] GetServerForQuestion: 0x10500ee00 DNS server (0x102716970) <private>:53 (Penalty Time Left 0) (Scope None:0x0:-1) for <private> (AAAA)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14->Q52506] GetServerForQuestion: 0x105010400 DNS server (0x102716970) <private>:53 (Penalty Time Left 0) (Scope None:0x0:-1) for <private> (Addr)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14->Q52506] GetServerForQuestion: 0x105010400 DNS server (0x102716970) <private>:53 (Penalty Time Left 0) (Scope None:0x0:-1) for <private> (Addr)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q26748] Sent UDP DNS Message 45 bytes from <private>:57912 to <private>:53 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q26748] Sent UDP DNS Message 45 bytes from <private>:57912 to <private>:53 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q26748] DNS Query (45) (flags 0100) RCODE: NoErr (0) RD:<private> 0/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q26748] DNS Query (45) (flags 0100) RCODE: NoErr (0) RD:<private> 0/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q52506] Sent UDP DNS Message 45 bytes from <private>:60681 to <private>:53 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q52506] Sent UDP DNS Message 45 bytes from <private>:60681 to <private>:53 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q52506] DNS Query (45) (flags 0100) RCODE: NoErr (0) RD:<private> 0/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q52506] DNS Query (45) (flags 0100) RCODE: NoErr (0) RD:<private> 0/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q26748] Received UDP DNS Message 73 bytes from <private>:53 to <private>:57912 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q26748] DNS Response (73) (flags 8180) RCODE: NoErr (0) RD RA:<private> 1/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14->Q26748] DNSServiceGetAddrInfo(<private>, AAAA) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q52506] Received UDP DNS Message 61 bytes from <private>:53 to <private>:60681 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q52506] DNS Response (61) (flags 8180) RCODE: NoErr (0) RD RA:<private> 1/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14->Q52506] DNSServiceGetAddrInfo(<private>, Addr) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q26748] Received UDP DNS Message 73 bytes from <private>:53 to <private>:57912 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R13] DNSServiceCreateConnection STOP PID[2881](com.apple.Safar)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q26748] DNS Response (73) (flags 8180) RCODE: NoErr (0) RD RA:<private> 1/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14] DNSServiceGetAddrInfo(<private>) STOP PID[2881](com.apple.Safar)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14->Q26748] DNSServiceGetAddrInfo(<private>, AAAA) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q52506] Received UDP DNS Message 61 bytes from <private>:53 to <private>:60681 via en0 (0x8)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [Q52506] DNS Response (61) (flags 8180) RCODE: NoErr (0) RD RA:<private> 1/0/0 <private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14->Q52506] DNSServiceGetAddrInfo(<private>, Addr) RESULT ADD interface 0: (immortal)<private>
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R13] DNSServiceCreateConnection STOP PID[2881](com.apple.Safar)
Jun  2 15:12:36 iPhone-X mDNSResponder(com.apple.mDNSResponder.Default)[17288] <Notice>: [R14] DNSServiceGetAddrInfo(<private>) STOP PID[2881](com.apple.Safar)
trapke commented 4 years ago

I have a similar problem on iPhone 8 iOS 13.5 and iPhone X iOS 13.5, both checkra1ned. My hosts entries are only respected by Safari but not by other apps. I've installed mDNSResponder from Sam Bingner's repo and LetMeBlock 0.0.7.1 from you and also reinstalled LMB several times. I've also restarted the devices after making changes to the hosts file and rejailbreaked it again. My hosts file includes ipv4 as well as ipv6 entries (127.0.0.1 / ::1) and every domain is listed twice. Once with www. and once without. Strangely enough, the block is not system-wide. My hosts file doesn't exceed the 1MB limit, in fact it's 4KB big and has already not worked with even fewer entries. It would be cool if you could look at it or give some tips! Thanks in advance.

Edit: After thinking about it further and reading Tweak.xm I came to the possible conclusion that UHB has to be installed. Is this the case? Do I need UHB for it?

PoomSmart commented 4 years ago

Bizarre. You can see from hooking of fopen and open that it will fall back to the default host file if UHB’s host file is not found.

PoomSmart commented 4 years ago

I will see if iOS 13.5 has yet another weird blocker.

trapke commented 4 years ago

Thank you! I did some more testing yesterday and can rule out that it is due to a wrong file encoding or Windows linebreaks (\r\n). I also replaced all spaces between IP and hostname with a tab as I read that this helped some people. The funny thing is that I currently do not have mDNSResponder from sbingner installed and the domains are still blocked in Safari. This did not work before, I had to install mDNSResponder manually although launchctl showed that it was already included. After I installed and uninstalled mDNSResponder a few times, it now works without this daemon from Cydia in Safari.

If you need further assistance with testing, please let me know.

PoomSmart commented 4 years ago

@trapke It is working for you now?

trapke commented 4 years ago

@PoomSmart I'm afraid not. I tested further and replaced all 127.0.0.1 entries with 0.0.0.0, but that didn't bring any success either. When I ping the hosts, the connection cannot be established. However, it still works in apps and tweaks.

PoomSmart commented 3 years ago

@trapke What's the issue now?

PoomSmart commented 2 years ago

Closed due to inactivity.

jebediah2 commented 1 year ago

@PoomSmart I'm afraid not. I tested further and replaced all 127.0.0.1 entries with 0.0.0.0, but that didn't bring any success either. When I ping the hosts, the connection cannot be established. However, it still works in apps and tweaks.

@trapke Can you share how you solved it?