FooIbar/EhViewer

点击刷新时将图片视为加载失败

Closed this issue · 13 comments

需求 / Requirement

H@H地区设为**之后经常遇到垃圾机器,连接建立之后图片却一直不开始下载,应用此时也会不计算超时,就一直加载。我想要让长按后的“刷新”键和网页的“Reload broken image”行为相同。

建议实现 / Suggested implements

N/A

备注 / Addition details

No response

EhViewer 版本号 / EhViewer version code

1.11.0-SNAPSHOT-gms

EhViewer CI 版本 / EhViewer CI Version

ab5af22

自查步骤 / Verify steps

  • 如果您有足够的时间和能力,并愿意为此提交 PR ,请勾上此复选框 / Pull request is welcome. Check this if you want to start a pull request
  • 您已仔细查看并知情 Q&A 中的内容 / You have checked Q&A carefully
  • 您已搜索过 Issue Tracker,没有找到类似内容 / I have searched on Issue Tracker, No duplicate or related open issue has been found
  • 您确保这个 Issue 只提及一个功能。如果您有多个功能请求,烦请发起多个 Issue / Ensure there is only one feature request in this issue. Please make mutiply issue for mutiply feature request
  • 您确保已使用最新 CI 版本测试,并且该功能在最新 CI 版本中并未按照预期实现 / This feature don't implement correctly in latest CI version

@FooIbar
抱歉,我安装了最新的构建。但是仍然出现问题。
如图,在多次手动刷新之后,图片加载仍然卡在某垃圾H@H(端口13978)。

我不确定这是E站本身就一直返回这个H@H还是应用的问题。

Screenshot_20240219-170523
Screenshot_20240219-170528

录屏/日志
在加载过程中刷新才会跳过H@H,加载完成后(无论成功/失败)刷新不会

我在网页阅读器重复点击“Reload broken image”后查看Clash日志,发现请求一直发送在2个固定的H@H里,其中一个30000端口的永远是超时,而E站也没有任何信誉机制,不会视图片加载情况将某个H@H暂时封锁。

我在网页阅读器重复点击“Reload broken image”后查看Clash日志,发现请求一直发送在2个固定的H@H里,其中一个30000端口的永远是超时,而E站也没有任何信誉机制,不会视图片加载情况将某个H@H暂时封锁。

有点奇怪,因为 “Reload broken image” 应该是不走 H@H 直接从 E 站服务器加载的,我测试的结果也符合预期

不走 H@H 直接从 E 站服务器加载的

我看日志里只有 *.hath.network 啊。这个“E 站服务器”的域名是什么?端口号是多少?如何分辨出来呢?

荷兰服务器、三级域名

荷兰服务器、三级域名

我在多次“Reload broken image”之后都没有看到有三级域名的H@H在日志出现,全部是四级,而且地理位置在**。我测试的页面是 https://e-hentai.org/s/266a0cef20/1829036-12

怀疑是**特别策略,你在 https://exhentai.org/uconfig.php 把区域设置到**再试试?

已经确认当**IP直连E-Hentai时,“Reload broken image”永远会获取到四级hath.network域名,而不是荷兰源站服务器。

IP为别国时设定Browsing Country为China也不能看到此策略,必须使用**IP才能复现。

@FooIbar 如果你在**,可以使用这个工具在Windows上直连E站以查看问题,关掉梯子直接运行tcpioneer.exe就可以了。

源代码: https://github.com/macronut/ghostcp
预编译版: tcpioneer.zip

Tenboro 回复了。

High demand, high failure rate and poor connectivity between China and EU causes image servers to get overloaded if it fails over to those, so if the initial load fails, it will always retry from a different Chinese or Asian H@H client. If you want the "normal" behavior you have to use a VPN.

我寻思这个 High demand 就是某最强之E的操作造成的罢,群友提到过它会第一次加载就加上 ?nl

Tenboro 回复了。

High demand, high failure rate and poor connectivity between China and EU causes image servers to get overloaded if it fails over to those, so if the initial load fails, it will always retry from a different Chinese or Asian H@H client. If you want the "normal" behavior you have to use a VPN.

我寻思这个 High demand 就是某最强之E的操作造成的罢,群友提到过它会第一次加载就加上 ?nl

跟那个关系不大,那是原图

跟那个关系不大,那是原图

nl 就是从 E 站服务器加载啊,原图是 fullimg 的链接啊

跟那个关系不大,那是原图

nl 就是从 E 站服务器加载啊,原图是 fullimg 的链接啊

xiaojieonly/Ehviewer_CN_SXJ@6416ec8
我指的是这个