docmirror/dev-sidecar

安装证书并开启默认模式后,iCloud无法下载文件,提示云操作未在超时时间结束之前完成或由于网络不可用,云同步程序无法执行此操作

Johnnsy1024 opened this issue · 31 comments

  • 你是否在现有 Issue列表 中搜索过相同问题?

Ⅰ. 请说明操作系统及DS的版本号:

  1. 操作系统:Windows11专业版 23H2 WSL2 2.1.5.0
  2. DS版本号:1.8.0

Ⅱ. 问题描述:

安装证书并开启默认模式后,iCloud无法下载文件,提示云操作未在超时时间结束之前完成

Ⅲ. 期望的结果:

正常下载文件

Ⅳ. 如何复现问题?

  1. 安装 1.8.0 DS,正常开启默认模式和安装证书
  2. 双击iCloud PC版的云端文件下载

Ⅴ. 请提供相关的错误日志,尽可能的详细:(日志文件在 ${user.home}/.dev-sidecar/logs/ 目录下)

[2024-04-21T22:15:28.277] [INFO] server - matchHostname: matched intercepts: 'cvws.icloud-content.com' -> '^.*$': {"^.*\\?DS_DOWNLOAD$":{"requestReplace":{"doDownload":true},"responseReplace":{"doDownload":true},"desc":"下载请求拦截:移除请求地址中的 `?DS_DOWNLOAD`,并设置响应头 `Content-Disposition: attachment; filename=xxxx`,使浏览器强制执行下载逻辑,而不是在浏览器中浏览。"}}

Ⅵ. 有必要时,请提供 ${user.home}/.dev-sidecar/running.json 文件内容:

系统代理排除列表里,添加 *.icloud-content.com 试一下。参考:#285

image
还是不行,其他基本都正常

同步上载没问题,就是无法下载至本地

日志里还会出现icloud相关域名吗?

最好确认一下icloud下载文件的请求地址。可能不是 *.icloud-content.com 格式的。
系统代理排除列表里可以多配置几个:
*.icloud.com
...之类的

添加后重启解决了,感谢

添加后重启解决了,感谢

不客气,后面我会把 *.icloud.com 默认添加到系统代理排除列表中,使用新版本的新用户避免出现相同情况吧。

@fzx401 额,我看了下,*.icloud.com 已经添加在系统代理排除列表里了的啊,你用的是 1.8.0 版本吧?

确实,一开始我按你所说的添加了多个与iCloud相关的系统代理排除域名,包括*.icloud-content.com*.icloud.com,但是依然出现相关问题,第二天重启电脑后就恢复正常了,原因未知,可能是需要重置什么网络配置?

还有一个问题是,macOS上,1.7.3版本的DS开启后,会导致vscode中部分插件无法正常联网,比如cloudMusicCodeium,vscode中的插件相关域名该怎么添加呢

确实,一开始我按你所说的添加了多个与iCloud相关的系统代理排除域名,包括*.icloud-content.com*.icloud.com,但是依然出现相关问题,第二天重启电脑后就恢复正常了,原因未知,可能是需要重置什么网络配置?

不清楚,不管了,反正能用了就行。哈哈。

还有一个问题是,macOS上,1.7.3版本的DS开启后,会导致vscode中部分插件无法正常联网,比如cloudMusicCodeium,vscode中的插件相关域名该怎么添加呢

大部分软件都可以通过在 系统代理的排除列表里,添加排除域名来解决。
但部分软件会绕过系统代理,直接访问到DS本地代理服务,这种情况就比较难处理。

目前 macOS1.8.0 版本还没有打包出来,我这边没有相关环境,作者大大最近一直没空打包。

谢谢😊

不客气,哈哈。
近期 1.8.1 版本会发布,到时候欢迎来下载安装使用。目前也可以先下载 1.8.1-Pre-release 版本并安装体验。

说到1.8.1-Pre-Release,我一开始下载使用的恰好是这个版本,正好有一个bug可以提一下:

  • 在默认模式下使用时,curl -ssLpython依赖管理工具poetry安装依赖、还有若干涉及SSL证书验证的场景,都出现了无法验证本地SSL证书的问题,影响比较大,故退回到1.8.0版本😊

说到1.81-Pre-Release,我一开始下载使用的恰好是这个版本,正好有一个bug可以提一下:

* 在默认模式下使用时,`curl -ssL`、`python`依赖管理工具`poetry`安装依赖、还有若干涉及`SSL`证书验证的场景,都出现了无法验证本地`SSL`证书的问题,影响比较大,故退回到`1.8.0`版本😊

额,不是吧。是报了什么错啊?
我用了这么久,貌似没碰到什么问题。

可能也是我这边网络环境的问题,后来我退回到1.8.0后就没问题了hh

可能也是我这边网络环境的问题,后来我退回到1.8.0后就没问题了hh

能不能麻烦你再试一下 1.8.1-Pre-release,我今天重新发过包的。
本来想今天晚上把 1.8.1 正式版给发掉的,你说有这个问题,我还是比较怕影响到大家的。

说到1.81-Pre-Release,我一开始下载使用的恰好是这个版本,正好有一个bug可以提一下:

* 在默认模式下使用时,`curl -ssL`、`python`依赖管理工具`poetry`安装依赖、还有若干涉及`SSL`证书验证的场景,都出现了无法验证本地`SSL`证书的问题,影响比较大,故退回到`1.8.0`版本😊

我仔细比对了一下当前最新代码与 1.8.0 的代码,没有发现有SSL相关的代码变更哦,理论上应该是不会对SSL造成影响的。

好的,我今晚再测试一下。
同时补充一下,开启1.8.0版本DS时,在Windows11(WSL2)执行git clone https://github/xxxx时报错无法验证本地证书,ssh方式不受影响,具体报错信息晚上试验了贴一下

好的,我今晚再测试一下。

OK.

同时补充一下,开启1.8.0版本DS时,在Windows11(WSL2)执行git clone https://github/xxxx时报错无法验证本地证书,ssh方式不受影响,具体报错信息晚上试验了贴一下

  1. 用的什么模式?
  2. 1.7.3 版本时,有没有问题啊?

同时补充一下,开启1.8.0版本DS时,在Windows11(WSL2)执行git clone https://github/xxxx时报错无法验证本地证书,ssh方式不受影响,具体报错信息晚上试验了贴一下

  1. 用的什么模式?
  2. 1.7.3 版本时,有没有问题啊?
  1. 默认模式
  2. Mac上的1.7.3版本没有该问题,Windows上没有测试过1.7.3版本

同时补充一下,开启 1.8.0 版本DS时,在Windows11(WSL2)执行git clone https://github/xxxx 时报错无法验证本地证书,ssh 方式不受影响,具体报错信息晚上试验了贴一下

  1. 用的什么模式?
  2. 1.7.3 版本时,有没有问题啊?
  1. 默认模式
  2. Mac上的1.7.3版本没有该问题,Windows上没有测试过1.7.3版本

那麻烦你晚上再验证一下windows的吧。理论上,应该是都可以的。
记得重装新版本后,命令窗口或 IDE 要重启一下,再输入 git clone 命令。

测试了1.8.1-Pre-Release,果然还是同样的问题
可以通过关闭gitssl验证解决
git config --global http.sslverify false
git config --global https.sslverify false
image

测试了1.8.1-Pre-Release,果然还是同样的问题 可以通过关闭gitssl验证解决 git config --global http.sslverify false git config --global https.sslverify false

  1. 测过 1.7.31.8.0 的不?
  2. 根证书装过不?

测试了1.8.1-Pre-Release,果然还是同样的问题 可以通过关闭gitssl验证解决 git config --global http.sslverify false git config --global https.sslverify false

  1. 测过 1.7.31.8.0 的不?
  2. 根证书装过不?
  1. 1.7.31.8.0都测过,没有问题
  2. 根证书都装了

测试了1.8.1-Pre-Release,果然还是同样的问题 可以通过关闭gitssl验证解决 git config --global http.sslverify false git config --global https.sslverify false

我这边一直复现不了这个问题,哎。

图片

可能是 DS-1.8.1-Pre-releasegit.exe 代理功能,没有成功把 git 的 ${user.home}/.gitconfig 里的 http.sslverify 设置为 false 有关。

你那边先把 http.sslverify 设置为 true 或删掉,然后打开DS的git.exe代理功能,看看这个配置有没有被设置成 false 吧。
分别尝试下 1.8.1-Pre-release1.8.0 两个版本吧。

记得开启 git.exe 代理功能后,要重新打开一个命令行窗口。

好的,晚上回去试一下

试了一下,DSgit.exe代理打开后正常了

试了一下,DSgit.exe代理打开后正常了

哦,那是之前用 1.8.1-Pre-release 时,忘了开了是吗?

那我去发布 1.8.1 正式版了。哈哈。