少女祈祷中...

将夸克网盘挂载为本地磁盘

[!todo]
还没配完.

由于夸克网盘好像不支持linux, 而我的文件备份是通过夸克网盘实现的, 因此在寻找使用夸克网盘的方法.
网页端几乎什么也干不了, 文件夹与稍微大一点的文件都无法下载. 于是试图通过网盘的挂载来完成.
下面是ChatGPT的回答:


在 Ubuntu 上挂载夸克网盘的步骤和 Windows 相似,不过需要将 RaiDrive 替换为 rclone,以下是具体操作步骤:

步骤 1:安装 Docker

  1. 更新并安装 Docker

    1
    2
    sudo apt update
    sudo apt install docker.io -y
  2. 启动 Docker 并设置为开机自启

    1
    2
    sudo systemctl start docker
    sudo systemctl enable docker

步骤 2:运行 WebDAV 服务器容器

  1. 拉取 WebDAV 服务器镜像

    1
    sudo docker pull xhofe/alist
  2. 运行 Alist 容器

    1
    sudo docker run -d --name alist -p 5244:5244 xhofe/alist
    • 这将启动 Alist WebDAV 服务,并将容器的 5244 端口映射到主机的 5244 端口。
  3. 配置 WebDAV

    • 在浏览器中访问 http://localhost:5244
    • 根据提示设置 Alist 管理员账号和密码,登录到管理界面。
    • 在 Alist 的设置中,添加夸克网盘账户信息并启用 WebDAV。

步骤 3:安装 rclone 并挂载 WebDAV

  1. 安装 rclone

    1
    sudo apt install rclone -y
  2. 配置 rclone
    执行以下命令进入配置界面:

    1
    rclone config
    • 输入 n 新建一个远程连接。
    • 输入一个名称,例如 quark_webdav
    • 在存储类型选择时,输入 webdav
    • 选择 webdav 服务类型为 Other
    • 在 URL 中输入 WebDAV 地址 http://localhost:5244
    • 输入在 Alist 中设置的用户名和密码。
  3. 挂载 WebDAV 为本地文件夹
    使用以下命令将 WebDAV 挂载到本地文件夹:

    1
    rclone mount quark_webdav:/ ~/quark_drive --vfs-cache-mode writes &
    • quark_webdav:/ 是刚才在 rclone 中配置的远程名称。
    • ~/quark_drive 是本地挂载点目录,可以自行定义。
    • --vfs-cache-mode writes 确保文件写入操作顺利进行,最后的 & 将挂载命令放入后台运行。

完成后,您可以在 ~/quark_drive 文件夹中访问夸克网盘的内容。


根据上面的步骤进行, 在

拉取 WebDAV 服务器镜像
sudo docker pull xhofe/alist
一步中遇到了问题. 报错显示为Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
询问GPT后推荐我尝试ping goole. 发现google ping不通. 但是, 在浏览器上正常访问google是没有问题的. 于是我怀疑是clash全局代理的问题. 进一步询问之后GPT给了如下解决方案
按照该方案执行后, 问题顺利解决. 此处我使用的是Clash Verge. 它的配置端口在 "设置"以及"当前配置"中可以找到

在使用 Clash 全局代理的情况下,正常访问 Google 网页但无法 ping 通,是因为 ping 使用 ICMP 协议,而代理通常只转发 TCP 和 UDP 流量。Clash 并不会代理 ICMP 数据包,因此 ping 不会通过代理。

如果 Docker 出现连接超时的问题,可能是 Docker 本身没有正确走代理。在这种情况下,你可以尝试以下方法将 Docker 连接走 Clash 的代理。

解决方案:配置 Docker 使用 HTTP 代理

  1. 找到 Clash 的代理地址和端口

    • 一般来说,Clash 默认 HTTP 代理端口是 7890,可以在 Clash 的配置文件中确认。
    • 如果 Clash 的代理运行在本地机器上,代理地址为 127.0.0.1localhost
  2. 配置 Docker 的代理设置

    创建或编辑 Docker 的代理配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf

    1
    2
    sudo mkdir -p /etc/systemd/system/docker.service.d
    sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
  3. 添加以下内容(根据 Clash 代理端口更新 7890 为你的实际端口):

1
2
3
4
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890/"
Environment="HTTPS_PROXY=http://127.0.0.1:7890/"
Environment="NO_PROXY=localhost,127.0.0.1"
  1. 重载并重启 Docker 服务
    1
    2
    sudo systemctl daemon-reload
    sudo systemctl restart docker

验证代理设置是否生效

  1. 运行以下命令验证 Docker 是否可以正常连接:

    1
    sudo docker pull xhofe/alist
  2. 如果拉取成功,说明 Docker 已经通过 Clash 代理正常工作。

关于Docker

按照步骤运行时, 发现Alist在Docker中运行后需要管理员及密码. 管理员用户是admin, 密码则需要寻找. 于是翻了翻教程, 了解了一下docker相关的操作.

下面是GPT的回答

要查看正在运行的 Docker 容器,你可以使用以下命令:

1
sudo docker ps

说明

  • docker ps:这个命令会列出当前所有正在运行的容器。
  • 默认情况下,docker ps 只显示运行中的容器。你会看到如下信息:
    • CONTAINER ID:容器的唯一 ID。
    • IMAGE:容器使用的镜像名称。
    • COMMAND:容器启动时运行的命令。
    • CREATED:容器创建的时间。
    • STATUS:容器的当前状态(如运行中、已停止等)。
    • PORTS:容器映射到主机的端口。
    • NAMES:容器的名称。

查看所有容器

如果你想查看所有容器(包括已经停止的容器),可以使用以下命令:

1
sudo docker ps -a
  • -a(或 --all):这个选项会显示所有容器,无论它们是否正在运行。

例子

运行 sudo docker ps 可能会得到如下输出:

1
2
CONTAINER ID   IMAGE           COMMAND                  CREATED       STATUS       PORTS                    NAMES
e4f09a8365d3 xhofe/alist "/app/alist" 5 minutes ago Up 5 minutes 0.0.0.0:5244->5244/tcp alist

其他有用的命令

  • 查看容器日志

    1
    sudo docker logs <container_id_or_name>
  • 进入正在运行的容器

    1
    sudo docker exec -it <container_id_or_name> /bin/sh

使用这些命令可以帮助你管理和监控 Docker 容器的状态。如果你有其他问题,请随时问我!

使用Alist挂载夸克网盘

具体的流程参考 https://blog.csdn.net/zhangjiuding/article/details/127134391. 但是只能参考挂载Alist到夸克网盘的部分, 其他部分由于windows和linux的差别不能照做.

在这之外

总而言之, 我为了在Ubuntu上使用夸克网盘, 折腾了很久也没有搞定. 但是颇具喜剧效果的是, 在第二天用wine来解决微信问题的时候, 顺带着就把夸克的文件传输给搞定了. 真是令人感慨.