simpread icon indicating copy to clipboard operation
simpread copied to clipboard

siyuan插件的图床问题

Open xiaoye45 opened this issue 10 months ago • 22 comments

common.js:8 Mixed Content: The page at 'https://sspai.com/post/69972' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://192.168.3.133:6806/api/asset/upload'. This request has been blocked; the content must be served over HTTPS.

xiaoye45 avatar Feb 02 '25 05:02 xiaoye45

试试其它页面 e.g https://36kr.com/p/3148074162854402

Kenshin avatar Feb 02 '25 10:02 Kenshin

问题依然如此,同样的错误,可能内网穿透下用https+域名可以,但暂时不准备暴漏siyuan笔记出去

xiaoye45 avatar Feb 02 '25 12:02 xiaoye45

思源什么版本?目前没有其他用户包含类似问题。

你的思源有什么特殊设置?

Kenshin avatar Feb 02 '25 14:02 Kenshin

common.js:8 Mixed Content: The page at 'https://sspai.com/post/69972' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://192.168.3.133:6806/api/asset/upload'. This request has been blocked; the content must be served over HTTPS.

一样的问题,docker部署的思源;我怀疑是需要套https才行

londbell avatar Apr 16 '25 11:04 londbell

@londbell

emmm 建议去思源那边提下。

Kenshin avatar Apr 16 '25 14:04 Kenshin

@londbell

emmm 建议去思源那边提下。

不是思源的问题,也不是simpread的问题

真正原因是chrome禁止混合内容(Mixed Content);

simpread使用思源图床的时候,会根据服务器地址来决定请求思源图床访问api是否是https:

Image

当思源地址为http时,假设simpread导入内容源站,例如demo地址,源站是https,这时候就会触发chrome的https http混合内容问题,此时自然会在访问图床api时报错 Mixed Content: The page at 'https://sspai.com/post/69972' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://192.168.3.133:6806/api/asset/upload'. This request has been blocked; the content must be served over HTTPS.

解决方法1: 如果是部署web版本的思源,请自己套上ssl证书;(纯内网ip访问的话,考虑ip ssl自签)

解决方法2: 这个方法有点麻烦,chrome针对你的源站,单独打开允许混合内容,这样好像要一个网站一个网站设置,很蛋疼

Image Image

另外,此时chrome会报:

Image

londbell avatar Apr 17 '25 02:04 londbell

Image

如图所示,这里就是打开允许不安全内容后,成功导入到思源的本地图床

londbell avatar Apr 17 '25 02:04 londbell

我有一个想法是将上传到思源图传改成同步助手里来实现,就可以规避chrome同页面禁止混合内容的问题

londbell avatar Apr 17 '25 02:04 londbell

我有一个想法是将上传到思源图传改成同步助手里来实现,就可以规避chrome同页面禁止混合内容的问题

可以倒是可以,但太重了。

有个变相的方式:使用简悦的 图床插件 将图片上传到你设置的图床,然后在思源笔记中再手动导入到本地(因为上传到你自己的图床了,所以这步也可以省略)

不过,我有个疑问,为什么非 Docker 方案也就是思源 Desktop 没有这个问题?

Kenshin avatar Apr 17 '25 02:04 Kenshin

我有一个想法是将上传到思源图传改成同步助手里来实现,就可以规避chrome同页面禁止混合内容的问题

可以倒是可以,但太重了。

有个变相的方式:使用简悦的 图床插件 将图片上传到你设置的图床,然后在思源笔记中再手动导入到本地(因为上传到你自己的图床了,所以这步也可以省略)

不过,我有个疑问,为什么非 Docker 方案也就是思源 Desktop 没有这个问题?

Chrome also allows mixed content on http://127.0.0.1/ and http://localhost/.

桌面版你调用的api默认就是127.0.0.1

londbell avatar Apr 17 '25 11:04 londbell

我有一个想法是将上传到思源图传改成同步助手里来实现,就可以规避chrome同页面禁止混合内容的问题

可以倒是可以,但太重了。

有个变相的方式:使用简悦的 图床插件 将图片上传到你设置的图床,然后在思源笔记中再手动导入到本地(因为上传到你自己的图床了,所以这步也可以省略)

不过,我有个疑问,为什么非 Docker 方案也就是思源 Desktop 没有这个问题?

你提供的方案很好,但有个问题,经常会触发

Image

londbell avatar Apr 17 '25 12:04 londbell

你可以试试下图的方式

Image

图床插件有两种导入方式,部分需要本地方案;部分需要服务器方案,插件内置了一些白名单规则。

你可以试试不同的导入方式。

Kenshin avatar Apr 18 '25 02:04 Kenshin

你可以试试下图的方式

Image

图床插件有两种导入方式,部分需要本地方案;部分需要服务器方案,插件内置了一些白名单规则。

你可以试试不同的导入方式。

使用cloudinary自己注册的账号:

Image

但还是cors

Image

测试地址:https://www.chiphell.com/article-33474-1.html

londbell avatar Apr 18 '25 06:04 londbell

emmm 之前忘说了,个别网站对图片有严苛限制,比如 Chiphell(因为之前有用户提示过),是没法使用图床的。

在这个网站上甚至都没办法使用思源笔记的图床功能。

Kenshin avatar Apr 18 '25 06:04 Kenshin

emmm 之前忘说了,个别网站对图片有严苛限制,比如 Chiphell(因为之前有用户提示过),是没法使用图床的。

在这个网站上甚至都没办法使用思源笔记的图床功能。

比较奇怪的是这个站用保存到obsidian毫无问题

londbell avatar Apr 18 '25 07:04 londbell

导入 Obsidian 对应的图床你是如何设置的?

Kenshin avatar Apr 18 '25 09:04 Kenshin

导入 Obsidian 对应的图床你是如何设置的?

obsidian我没有使用图床,只是按照md+assets的方式通过同步助手下载到本地,这时候下载不会触发chh的防盗链,比较奇怪

londbell avatar Apr 22 '25 08:04 londbell

md+assets的方式通过同步助手下载到本地

原来如此 😂 只能说这种方式针对 Chiphell 是没问题的,但不是万能方案。

比如 https://github.com/Kenshin/simpread/issues/6900#issuecomment-2589224784 就遇到了无法使用此功能的情况。

PS:我会考虑按照上面这个链接来优化图片下载逻辑(主要没有马上发布的原因是因为:简悦一般不会有针对性的图片做一些特殊设置。😅

Kenshin avatar Apr 22 '25 08:04 Kenshin

md+assets的方式通过同步助手下载到本地

原来如此 😂 只能说这种方式针对 Chiphell 是没问题的,但不是万能方案。

比如 #6900 (comment) 就遇到了无法使用此功能的情况。

PS:我会考虑按照上面这个链接来优化图片下载逻辑(主要没有马上发布的原因是因为:简悦一般不会有针对性的图片做一些特殊设置。😅

看6900这个comment是对Referer做了一些特殊处理,优化了cors问题?

londbell avatar Apr 22 '25 08:04 londbell

看6900这个comment是对Referer做了一些特殊处理,优化了cors问题?

是的,但理论上这是对原网站图片规则的一种「破坏」,本质上简悦是不会这么做的(比如:简悦不会适配文档类网站,微信读书、豆丁等是一个道理),我也在考虑ing

Kenshin avatar Apr 22 '25 08:04 Kenshin

看6900这个comment是对Referer做了一些特殊处理,优化了cors问题?

是的,但理论上这是对原网站图片规则的一种「破坏」,本质上简悦是不会这么做的(比如:简悦不会适配文档类网站,微信读书、豆丁等是一个道理),我也在考虑ing

嗯,所以我在想在同步助手里面做这个到思源是不是好一些,既解决了docker https问题,又解决了cors

londbell avatar Apr 22 '25 08:04 londbell

会考虑的,不考虑其他因素的话,也有点重。

不过,专门针对图片的本地化就合理了,但又绕回到之前的问题。

Kenshin avatar Apr 22 '25 14:04 Kenshin

md + assets 插件更新到了 1.2.0 增加了自定义图片保存路径的功能,细节请看 https://github.com/Kenshin/simpread/discussions/4041#discussioncomment-3920696 里面提到的 5️⃣ relative path

注意:此功能需要配套同步助手1.3.0 下载地址 & 更新日志

关联 https://github.com/Kenshin/simpread/issues/4042

我关闭这个 Issues 了,有任何想法随时在这里沟通~

Kenshin avatar Sep 24 '25 04:09 Kenshin