PoomSmart / LetMeBlock

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

LetMeBlock 0.7.2-0.7.4 mDNSResponderHelper issue #15

Closed git-anish closed 3 years ago

git-anish commented 3 years ago

Hey,

On the Procursus bootstrap with libhooker installed for some reason mDNSResponderHelper misbehaves when LetMeBlock is installed.

This doesn't occur if LMB is installed after booting into the JB. Only if LMB is installed prior to rebooting/rejailbreaking

killall -9 mDNSResponder; killall -9 mDNSResponderHelper or reinstalling LMB after the reboot has helped so far.

Tested on multiple devices running Odysseyra1n (Procursus bootstrap/libhooker) - (iOS 13.5 - 13.6.1) - (LMB 0.7.2 - 0.7.4)

git-anish commented 3 years ago

Hey @PoomSmart, I updated to 0.0.7.5 but I don't think thats solved this particular issue.

I've reset network settings, reinstalled letmeblock without any hosts files installed and the things I mentioned above are still occurring.

Should I just make a tweak that restarts mDNSResponder & mDNSResponderHelper on reboot?

I should mention that I have to killall -9 mDNSResponder; killall -9 mDNSResponderHelper at least 2-3 times as root after reboot.

PoomSmart commented 3 years ago

Makes sense. You can try.

git-anish commented 3 years ago

Hey,

I've created mDNSrestart from a mDNSFlush fork and will be releasing it, if anyone else reports this issue you might want to consider incorporating this into LetMeBlock!

PoomSmart commented 3 years ago

Which is better in your opinion? Making your tweak LMB’s dependency or incorporating your tweak into LMB?

git-anish commented 3 years ago

So I've gone ahead and released this on my repo: https://repo.anishs.xyz/

I'm hoping to have it up on Packix this week

I've added LetMeBlock as a dependency. In my testing the script has fixed the issue, I'm going to release this on reddit/discord and get some data on people using it.

So far I'm only running the script once on boot. If people mention that it isn't working then I'm thinking of implementing a while loop in the script to repeat the script until both processes are found and killed at least once.

If you'd like you can implement this as a dependency for now, and if there's no reports of issues still from anyone then you can go ahead and incorporate it within LetMeBlock.

Basically I think there might be some more experimentation to do so I would wait - thoughts?

Diatrus commented 3 years ago

@git-anish so this issue is only present with ora1n? I'm awfully curious why.

git-anish commented 3 years ago

@git-anish so this issue is only present with ora1n? I'm awfully curious why.

@Diatrus I've replicated this in Ora1n from iOS 13.5.1 - 13.7 on multiple devices.

At first I thought it was my setup but then I did a brand new set up, jailbroke using Ora1n, installed LMB without installing anything other than the default dependencies, and I was able to successfully replicate the issue. Thats when I posted here for some advice but after reading LMB's readme I saw that I should manually restart mDNSResponder & mDNSResponderHelper to troubleshoot, hence the tweak mDNSrestart.

@ceadd also replicated this here https://github.com/PoomSmart/LetMeBlock/issues/17 and there are a few other users on reddit that have confirmed this issue happened to them. I think we don't see more reports because Ora1n isn't user broadly and because complete reboots are kind of rare in today's jailbreaks.

I wasn't able to replicate this on Checkra1n, & Unc0ver. I haven't used Odyssey.

ceadd commented 3 years ago

Replicated on odyra1n 13.3, 13.5.1 and 13.7, also now on 11.3.1 unc0ver. Tested on 12.4 Unc0ver and 12.4.4 checkra1n, no issue. On 11.3.1 killing mDNSResponderHelper doesn’t fix the issue like other version, must uninstall and reinstall letmeblock each time. This also mean mDNSRestart doesn’t work on 11.3.1 @Diatrus I noticed procursus repo doesn’t have mDNSResponder binary, bindger does have a copy on his repo. Might be a way to debug the issue? Something I’ll check out when I have more time. Hi poomsmart (wave) Hi Anish (wave) 🍻

git-anish commented 3 years ago

Hey @PoomSmart @ceadd I've gone ahead and released mDNSrestart on Packix now, its been a few weeks and I haven't heard about anyone having issues with the tweak. I have heard everyone who's had this issue has had it solved using mDNSrestart.

I've set the minimum iOS version to be 12.0 in the interest of making sure it works for anyone that installs it.

I think it would be fine if this is set as a dependency for LetMeBlock, I know @ceadd has set it as a dependency for BlockYouX without any issues reported.

I'll look out for any changes to Ora1n @Diatrus and see if this tweak is deprecated at some point.

PoomSmart commented 3 years ago

Dependency added in 0.0.7.6

git-anish commented 3 years ago

hey, is there an issue with my tweak when being added as a dependency?

PoomSmart commented 3 years ago

@git-anish Alright, correction: LMB cannot have mDNSrestart as a dependency because mDNSrestart already has LMB as a dependency. Dependencies cycle; most package managers won’t handle this correctly unless you already have LMB installed.

LMB should deploy the behaviors of mDNSrestart, i.e. combine it. Could you help create a PR for that?