8000 对于有Referer要求的图片 无法加载 · Issue #99 · electh/nextflux · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

对于有Referer要求的图片 无法加载 #99

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on Gi 8000 tHub? Sign in to your account

Open
0honus0 opened this issue Feb 28, 2025 · 19 comments
Open

对于有Referer要求的图片 无法加载 #99

0honus0 opened this issue Feb 28, 2025 · 19 comments

Comments

@0honus0
Copy link
0honus0 commented Feb 28, 2025

使用miniflux自带的抓取全文 图片可以正常加载
在nextflux中无法加载

测试 rss
https://hellogithub.com/rss

HelloGitHub 第 107 期

@electh
Copy link
Owner
electh commented Mar 4, 2025

建议开启miniflux的图片代理功能

@electh electh closed this as completed Mar 4, 2025
@0honus0
Copy link
Author
0honus0 commented Mar 5, 2025

这个启用主要配置下面参数吗 当前设置有问题吗
MEDIA_PROXY_CUSTOM_URL=
MEDIA_PROXY_HTTP_CLIENT_TIMEOUT=120
MEDIA_PROXY_MODE=all
MEDIA_PROXY_PRIVATE_KEY=
MEDIA_PROXY_RESOURCE_TYPES=[image]

@electh
Copy link
Owner
electh commented Mar 6, 2025

我没有开启过这个功能,但是理论上还需要配置一个指向的地址,否则可能会默认是本地的代理,https://miniflux.app/docs/configuration.html#base-url

@0honus0
Copy link
Author
0honus0 commented Mar 6, 2025

我没有开启过这个功能,但是理论上还需要配置一个指向的地址,否则可能会默认是本地的代理,https://miniflux.app/docs/configuration.html#base-url

本地代理应该也可以用吧 现在我这样配置看着还是不行

@electh
Copy link
Owner
electh commented Mar 6, 2025

需要指向miniflux服务端所在的地址

@0honus0
Copy link
Author
0honus0 commented Mar 6, 2025

测试发现
MEDIA_PROXY_CUSTOM_URL=
MEDIA_PROXY_HTTP_CLIENT_TIMEOUT=120
MEDIA_PROXY_MODE=all
MEDIA_PROXY_PRIVATE_KEY=
MEDIA_PROXY_RESOURCE_TYPES=[image]

miniflux中获取全文时 图片是从 https://xxx.xxx.xxx/proxy 代理地址获取 但是nextflux是从源地址获取

MEDIA_PROXY_CUSTOM_URL= https://xxx.xxx.xxx/proxy
MEDIA_PROXY_HTTP_CLIENT_TIMEOUT=120
MEDIA_PROXY_MODE=all
MEDIA_PROXY_PRIVATE_KEY=
MEDIA_PROXY_RESOURCE_TYPES=[image]

手动配置 MEDIA_PROXY_CUSTOM_URL=https://xxx.xxx.xxx/proxy 情况下 miniflux依然从该地址获取 但是图片无法加载 并且nextflux依然从源地址获取图片

@0honus0
Copy link
Author
0honus0 commented Mar 6, 2025

https://www.v2ex.com/t/1068042

看起来启用 MEDIA_PROXY_MODE=all miniflux就会启用代理功能 但是nextflux不会从代理地址获取图片

@0honus0
Copy link
Author
0honus0 commented Mar 6, 2025

奇怪了 看着nextflux访问的api与miniflux一样 但是返回内容就是不一致

https://github.com/miniflux/v2/blob/999ab0df2b2be388e6aee0c6d8858ab2dcaeab29/internal/api/entry.go#L286

@electh
Copy link
Owner
electh commented Mar 6, 2025

你似乎需要配置BASE_URL参数

@0honus0
Copy link
Author
0honus0 commented Mar 6, 2025

BASE_URL 最开始就配置了 写的是 https://xxx.xxx.xxx

@0honus0
Copy link
Author
0honus0 commented Mar 6, 2025

可以提供个邮箱吗 这边把地址发给你你测试下

@electh
Copy link
Owner
electh commented Mar 6, 2025

建议在console检查miniflux网页和nextflux获取的同一个图片的地址是否一致

@0honus0
Copy link
Author
0honus0 commented Mar 6, 2025

测试了下 就是不一致 才感觉奇怪
一个走的fetch-content 一个走的entry/download 但是看了源代码 两个处理是一样的

@0honus0
Copy link
Author
0honus0 commented Mar 6, 2025

看了下源代码

nextflux 调用的fetch-content 走的 entry.go 里面的 fetchContent 获取的就是原始图像链接

miniflux 网页里面调用的 /entry/download/{entryID} 走的 entry_scraper.go 里面的 fetchContent ,处理多了 mediaproxy.RewriteDocumentWithRelativeProxyURL ,所以获取的图片是代理的图片

可能 nextflux 要额外逻辑处理了,或者问下上游为什么这样的实现?

@0honus0
Copy link
Author
0honus0 commented Mar 11, 2025

miniflux/v2#1595

https://miniflux.app/docs/api.html#endpoint-fetch-content
这个 api 获取的是原始content

https://miniflux.app/docs/api.html#endpoint-get-entry
可以获取代理之后的content 但是需要全文内容被抓取之后

现在看来可行的是 添加rss的时候 勾选 抓取全文内容
然后nextflux使用 endpoint-get-entry api 可以实现走图片代理链接

@AiraNadih
Copy link

看了下源代码

nextflux 调用的fetch-content 走的 entry.go 里面的 fetchContent 获取的就是原始图像链接

miniflux 网页里面调用的 /entry/download/{entryID} 走的 entry_scraper.go 里面的 fetchContent ,处理多了 mediaproxy.RewriteDocumentWithRelativeProxyURL ,所以获取的图片是代理的图片

可能 nextflux 要额外逻辑处理了,或者问下上游为什么这样的实现?

或许只是开发者疏忽了,忘了同步 Web 端和 API 端的逻辑。
之前我就提过一个相同情况的 PR。

@AiraNadih
Copy link
AiraNadih commented Apr 24, 2025

或许只是开发者疏忽了,忘了同步 Web 端和 API 端的逻辑。
之前我就提过一个相同情况的 PR。

最新的 v2.2.8 已经支持和 Web 端相同的逻辑了,不过因为向后兼容的关系,需要额外的参数。

feat(api): add update_content query parameter to /entries/{entryID}/fetch-content endpoint

@0honus0
Copy link
Author
0honus0 commented Apr 24, 2025

或许只是开发者疏忽了,忘了同步 Web 端和 API 端的逻辑。
之前我就提过一个相同情况的 PR。

最新的 v2.28 已经支持和 Web 端相同的逻辑了,不过因为向后兼容的关系,需要额外的参数。

feat(api): add update_content query parameter to /entries/{entryID}/fetch-content endpoint

可以更新试试

@AiraNadih
Copy link

可以更新试试

关键要 @electh 更新相应的逻辑

@electh electh reopened this Apr 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants
0