Ehviewer-Overhauled / Ehviewer

EhViewer overhauled with Material Design 3, Jetpack Compose and more
GNU General Public License v3.0
5.2k stars 234 forks source link

Original version is more resilient to network filters #1228

Closed mirh closed 1 year ago

mirh commented 1 year ago

复现步骤 / Step to reproduce

  1. Sit behind an ISP that blocks the incoming traffic from the ex servers
  2. Try to load anything

预期行为 / Expected behaviour

Ideally, everything should just work, but of course the app can just do so much when the network isn't cooperative.

Once upon a time I was simply getting a "network error" message and nothing else, though since a few months the situation improved significantly. The gallery list finally started to work, at least the preview for the first picture (i.e. the one which is also the cover) does load, and everything is kinda how you'd expect it to be once you open the actual individual images. This is only with the original ehviewer though.

实际行为 / Actual Behaviour

In fehviewer, overhauled and inverter (I also tried 1.7.24.1 btw) every single preview is broken. The bare minimum of an expectation would be getting at least the first one to load, but in the best case scenario my hope would be that we could figure a workaround for all the others too.

应用日志 / App logs

There doesn't appear to be anything network-specific in them.

备注 / Addition details

The original EhViewer, the fork by dujiaoxi404 and SXJ all works fine-ish in this regard.

EhViewer 版本号 / EhViewer version code

1.8.8.3

EhViewer CI 版本 / EhViewer CI Version

afbe0a4

Android 系统版本 / Android version

9

设备型号 / Device model

XZ2

自查步骤 / Verify steps

txyyh commented 1 year ago

Feature removed https://github.com/Ehviewer-Overhauled/Ehviewer/commit/2d20da70b8922e0b9988b007c31d970217691cb3

FooIbar commented 1 year ago

Feature removed 2d20da7

Not related to that. The original version doesn't even have that feature.

Though this app is not designed to solve network issues. If you're unable to load images in web browser, you can't do it in app either. Try finding a generic solution for your network, like a VPN or sth.

mirh commented 1 year ago

Indeed, this is has nothing to do with DNS or domain fronting (in fact, the later actually causes everything not to work). Thing is, there has probably been some very stupid change during the years that made a difference. I would try to further help with bisecting but you don't offer releases older than 2022.

txyyh commented 1 year ago

I think your ISP just enhanced their network filters in the past

And, Foolbar said above, this app won't solve network issues. Find other solutions instead.

mirh commented 1 year ago

The app is doing something to make them worse, and I wanted to understand what. It may even be that was a regression "worth having" then, but it's kind of difficult to argue without a clue.

FWIW after a very lazy wireshark run I found out that while the OG version establishes and uses a connection with ehgt.org (81.171.10.48) after the initial handshake, EH-OH always seems to stick with the normal 188.114.96.7 server.

FooIbar commented 1 year ago

The app is doing something to make them worse, and I wanted to understand what. It may even be that was a regression "worth having" then, but it's kind of difficult to argue without a clue.

FWIW after a very lazy wireshark run I found out that while the OG version establishes and uses a connection with ehgt.org (81.171.10.48) after the initial handshake, EH-OH always seems to stick with the normal 188.114.96.7 server.

Seems something went wrong with your DNS. 188.114.96.7 is not one of ehgt.org's IPs.

The OG version uses 81.171.10.48 cus you have built-in hosts enabled. https://github.com/seven332/EhViewer/blob/ba6d41b91f53b0835f73fb2903b5c4ff1259786c/app/src/main/java/com/hippo/ehviewer/client/EhDns.java#L45C21

mirh commented 1 year ago

AFAICT my dns is the evergreen 8.8.8.8, and 188.114.96.7 is the main address for exhentai, not ehgt (even though it's not stated on the page.. probably it's just out of date).

But while the old version switches to the later after a few packets are exhanged (at least to show the previews) OH always seems to stick to the former. Which is not wrong per se (I mean, how else could I even establish a connection with the website otherwise?) except I just found out that content is served from completely different servers.

I don't have built-in hosts enabled anywhere btw, and if I turn them on here everything stops to work. EDIT: lol, I think I probably found the cause https://github.com/seven332/EhViewer/blob/ba6d41b91f53b0835f73fb2903b5c4ff1259786c/app/src/main/java/com/hippo/ehviewer/client/EhUrl.java#L207L215 If you could just add a switch to do the same for every picture, I'd be really happy.

FooIbar commented 1 year ago

AFAICT my dns is the evergreen 8.8.8.8, and 188.114.96.7 is the main address for exhentai, not ehgt (even though it's not stated on the page.. probably it's just out of date).

But while the old version switches to the later after a few packets are exhanged (at least to show the previews) OH always seems to stick to the former. Which is not wrong per se (I mean, how else could I even establish a connection with the website otherwise?) except I just found out that content is served from completely different servers.

I don't have built-in hosts enabled anywhere btw, and if I turn them on here everything stops to work. EDIT: lol, I think I probably found the cause https://github.com/seven332/EhViewer/blob/ba6d41b91f53b0835f73fb2903b5c4ff1259786c/app/src/main/java/com/hippo/ehviewer/client/EhUrl.java#L207L215 If you could just add a switch to do the same for every picture, I'd be really happy.

Ah, I see. So you're using exhentai, thus the thumb server would be s.exhentai.org, not ehgt.org We do have provided an option to force using e-hentai's thumb server b5b096a, but it's not released yet.

I'm not sure when next stable release would come, it's up to @asuka-mio You can download the latest dev build from actions if you can't wait, though the dev version may be unstable / have breaking changes.

mirh commented 1 year ago

Damn, I can't believe I finally took the bother to look into the issue exactly one week after it had been solved... Fixed by #1199.