自己部署了 miniflux 有几个月的时间了,非常 nice ,现在一直有一个问题无法解决,就是如果订阅源设置了图片防盗链,在 feed 里面看不到图片,跳转到原网站是没有问题的。如何解决呢?
比如这个 blog:旅行漫记,https://synyan.cn/
feed 设置了输出摘要,并且图片是防盗链的。
miniflux 设置获取全文可以得到全文 feed ,可是图片都没办法看到,比如下面演示的这样:
这个有解决办法吗?难道只有跳转到源链接去看嘛?感谢。
![]() |
1
proxytoworld 2023-12-09 18:39:05 +08:00
少了 referer
|
![]() |
2
soft101team 2023-12-10 00:40:47 +08:00
浏览器模拟,下载下来 ?
|
![]() |
3
bigfei 2023-12-10 10:37:05 +08:00 via Android ![]() 修改代码,增加 refer header 。或者参考 freshrss 修改图片 URL 为自己的 proxy
|
4
Jiubia 2023-12-10 17:51:57 +08:00 ![]() 用 python 或者其他语言写个 proxy ,转发链接,前几天刚用 GPT 帮我做了个
``` # -*- coding: utf-8 -*- import re import requests from flask import Flask, Response, request HOST = '127.0.0.1' # 监听地址,建议监听本地然后由 web 服务器反代 PORT = 7997 # 监听端口 app = Flask(__name__) regex = r"( http|https):\/(?=\w)" requests.packages.urllib3.disable_warnings() @app.route('/') def index(): return "hello world!" @app.route('/<path:path>', methods=['GET', 'POST']) def handler(path): # 构建目标 URL if path: target_url = re.sub(regex, r"\1://", path) else: return "No URL provided", 400 print(target_url) resp = requests.request(method=request.method,url=target_url,verify=False,timeout=5) # 将收到的响应转发回客户端 excluded_headers = ['connection'] headers = [(name, value) for (name, value) in resp.raw.headers.items() if name.lower() not in excluded_headers] response = Response(resp.content, resp.status_code, headers) return response # nohup python3 proxy.py > proxy.log 2>&1 & app.debug = True if __name__ == '__main__': app.run(host=HOST, port=PORT) ``` |
![]() |
5
zjyl1994 2023-12-11 09:56:11 +08:00
我记得有的图床可以允许空白 referer ,这种情况阅读工具可以设置的应该。如果不允许空白 referer ,可以考虑写个简单的代理
|
6
lzzh0520 OP 自问自答,已经完美解决了,设置环境变量:
1 、MEDIA_PROXY_MODE=all 2 、BASE_URL=你的 miniflux 地址 备注: MEDIA_PROXY_MODE=all 是将所有的图片进行代理,这样设置之后在 webui 端查看图片是正常的,但是用客户端就没办法显示图片,这是因为 BASE_URL 没有设置,所以将 BASE_URL 设置为你的 miniflux 地址后,以后再刷新出来的新条目就可以正常显示图片了。 |