标签 webdav 下的文章

1.前言
如果你最近刚入手了 VPS,或许你已经在尝试搭建一些网站,甚至可能还在使用宝塔面板管理服务器。其实,VPS的用途可不仅限于搭建网站,今天我就来教大家如何用 VPS 搭建一个属于自己的私有云盘。
Cloudreve 是一个开源网盘项目,它基于 PHP 和 MySQL,所以在宝塔面板上安装起来非常简单。它还支持 WebDAV 协议,这意味着你可以将它挂载成本地磁盘,直接在电脑上访问自己的云盘,体验非常流畅。对于那些希望拥有私人云盘而又不愿意依赖免费的公共云存储服务的朋友,它是一个不错的选择。
图片
今天的教程将一步步带你搭建自己的私有云盘,按照教程做,你几乎不需要花费任何额外的费用,还可以享受免费的域名和空间资源。开始之前,你可能需要准备一个免费域名,别担心,我会告诉你如何申请。

2.私有云盘搭建步骤
2.1登录宝塔面板
首先,登录你的宝塔面板后台,点击左侧的“网站”选项,准备添加一个新的网站。
图片
2.2创建站点
在宝塔面板的“网站”界面,点击右上角的“添加站点”按钮。在域名字段中,输入你申请的免费域名(可以在这里找到一些提供免费域名的平台)。选择 MySQL 作为数据库类型,设置好其他信息后点击“提交”。
图片

2.3下载 Cloudreve
接下来,去 Cloudreve 的官方 GitHub 官网,下载最新版本的安装包。找到下载链接并点击下载。
图片

2.4上传安装包
返回到宝塔面板,进入你刚才创建的网站的根目录。你会看到该网站的文件夹是空的,点击“上传”按钮,选择你下载好的 Cloudreve 安装包进行上传。上传完成后,点击“解压”按钮,系统会自动解压安装包文件。
图片

2.5配置伪静态规则
安装包解压完后,接下来需要配置伪静态规则。这一步很简单,只需要在宝塔面板左侧的“网站”选项中,点击你创建的网站后方的“设置”按钮。在设置页面中,找到“伪静态”选项,点击后将以下规则粘贴进去:location / {

if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php?s=/$1 last;
    break;
}

}

图片
保存设置后,别忘了开启全站强制 HTTPS,确保访问时更加安全。具体操作可以参考宝塔的教程。
图片

2.6开始安装 Cloudreve
完成上述设置后,打开浏览器,输入“域名/CloudreveInstaller”访问安装页面。在安装页面底部,你会看到一个提示,点击“忽略问题,继续下一步”就可以进入下一步。2.7配置数据库信息此时,返回宝塔面板,找到刚才创建的网站的数据库名、用户名和密码。将这些信息填写到它的配置界面中,然后点击“开始安装”。
图片

图片

2.8完成安装与登录
安装完成后,你就可以看到它后台的登录地址、用户名和密码。记得保存好这些信息,接下来就可以用这些账号登录后台了。

2.9设置和管理账户
登录到后台后,点击右上角的账户图标,进入“管理面板”界面。在这里,你可以修改账户密码,还可以配置其他一些网站的基本信息。设置完成后,访问网站首页,你就可以开始使用自己的私有云盘了。

2.9.1小贴士
作为一款开源项目,功能非常强大,除了基本的文件上传和下载外,它还支持 WebDAV 挂载、文件分享等多种功能,可以满足日常使用。为了保证安全性,建议关闭注册功能,防止恶意用户上传文件。如果你对 Cloudreve 不感兴趣,宝塔面板还提供了其他类似的应用。

2.9.2 VPS 的更多可能性
有了自己的私有云盘,你的 VPS 不仅仅是用来搭建网站或者部署应用。你可以将其用作私有云存储,所有文件都可以保存在你的服务器上,不必担心第三方平台的隐私问题。而且,结合 VPS 的性能,它可以提供相对较高的下载和上传速度,这对于那些需要频繁访问大文件的用户来说,无疑是个大福利。除了搭建私有云盘,你还可以利用 VPS 搭建其他服务,例如私人博客、个人项目托管、甚至是游戏服务器。VPS 的灵活性使得你可以实现一机多用,节省开销的同时,还能让自己享受到更多个性化的服务。

2.9.3为什么不用免费云盘?
很多人可能会问,为什么不直接用免费云盘呢?其实,虽然免费云盘在使用上非常方便,但它们有很多限制,比如文件存储空间、带宽限制、敏感数据的隐私问题等等。使用自己的 VPS 搭建私有云盘,你不仅可以避免这些限制,还能完全掌控数据的存储和传输,体验更自由、更安全的云存储服务。

3.总结
通过今天的教程,你已经学会了如何在 VPS 上搭建自己的私有云盘。无论是文件存储、分享,还是挂载成本地磁盘使用,都非常方便。如果你还没有尝试过这种方式,不妨动手试试,享受自己搭建云盘带来的成就感。用 VPS 不仅能节省成本,还能带来更多的自由度和安全性。

本文首发于技术专栏站长破壁者,转载请务必注明出处。 更多关于服务器架构与网络优化的实战探讨,已同步至站长破壁者交流

开头语
分享的方便挺简单,各位大佬可能都会用,新人纯水一下。大佬们别见笑!
网盘分享的软件,可以通过手机文件管理器 filemanager 进行下载安装。
其实不光是软件,手机内容都可以通过 filemanager 进行上传下载,和家里电脑,nas,电视都可以交换数据。本人觉得挺方便的,可能还有比这个更加简单的方法,小白的我也没接触过太多,希望有大佬能够分享。
首先需要用到的软件:安卓手机 file manager 软件 和 openlist 挂载任意网盘。
第一步:
手机安装文件管理器 file manager
软件可以通过手机谷歌下载
或者访问下面天翼网盘共享文件
天翼云盘 珍藏美好生活 家庭云 | 网盘 | 文件备份 | 资源分享


第二步:手机打开软件
点击远程存储


添加一个新的远程储存


这里选择添加 webdav,使用自己现有的 opnelist
(手机和电视也能添加电脑 smb 共享,局域网电脑等路径,无缝连接家里设备共享内容)


手机登录 openlist,需要账号密码,这里设置了用户和密码
主机:填 opnelist 的域名 +‘/dav’
端口:opnelist 端口


设置完成,手机通过文件管理器远程存储界面登录设置好的网盘了。

手机上传软件到 openlist 分享步骤

第一步:选择需要分享的 app,长按弹出对话框,点击提示符


第二步:点击右上角三点,选择分享


第三步:选择文件管理器分享,注意 app 名字


第四步:选择一个网盘路径保存



第五步:找到新上传文件,改名。不然时间长了不知道什么软件,就尴尬了。



📌 转载信息
原作者:
xiaoshuo6019
转载时间:
2026/1/18 09:43:43

Hubu.cloud

网盘特点:
1. 免费空间 64G
2. 支持 webdav
3. 可以分享文件
4. 不限制上传大小,不限制文件类型
4. 无需代理,速度快

注意事项:
1. 未注册用户上传的文件保留 180 天,免费注册用户的文件永久保留
2. 经测试,视频文件存在压缩的情况,视频下载到本地不是原文件,是压缩过的版本
3. 邮箱注册收不到验证码,也可以登录使用

网址:https://hubu.cloud

webdav 地址:
https://hubu.cloud/webdav

欢迎大家留言讨论,分享经验!


📌 转载信息
原作者:
deepdrink
转载时间:
2026/1/13 10:43:35

项目官网:

  1. 原生安卓,相比较 Flutter 等框架,性能很强。

  2. 笔记私有,任务也是根据笔记获取的,可以使用 Webdav 等同步,我也搞了官方同步,后续用于文章分享等。


  3. 【完善中】OCR 功能,我选择了 Paddle OCR 本地,AI 可用于后续生成待办和文章。

  4. 【正在做】语音功能,可能会使用 whisper。

  5. 【正在做】绘图功能,使用 ExcalidrawXournal++

项目:


📌 转载信息
原作者:
HansJack
转载时间:
2026/1/5 12:11:17

来来回回改过很多版本,目前稍微能用了,基本上都功能都有。

下载链接官网:https://sollin.223210.xyz

功能介绍

## 功能特性

### 多源音乐播放

#### 本地音乐

- 设备媒体库音乐播放

- 本地音频文件导入(支持从 "文件"App 导入)

- 支持 MP3、FLAC、AAC、M4A、WAV、AIFF 等主流格式

- 自动提取音频元数据和内嵌封面

- 导入歌曲持久化存储

#### 在线音乐

- 网易云音乐、QQ 音乐、酷我音乐搜索播放

- 多音质选择(128kbps / 320kbps / 无损 FLAC)

- 排行榜热门歌曲浏览

- 在线歌词同步获取

#### WebDAV 支持

- 连接 WebDAV 服务器播放音乐

- 流式播放 + 后台缓存

- 自动解析远程音频元数据

- 多账号配置管理

#### Navidrome/Subsonic 支持

- 连接 Navidrome/Subsonic 兼容服务器

- 浏览服务器音乐库

- 专辑、艺术家、歌曲浏览

### 主题与个性化

#### 多款主题

- ** 经典主题 ** - 标准 iOS 风格

- ** 新拟态主题 ** - 现代拟物化设计

- ** 粉粉主题 ** - 可爱风格(含磁带封面样式)

#### 播放界面自定义

- 背景样式:封面模糊 / 纯色 / 渐变 / 自定义颜色 / 自定义图片

- 背景透明度调节

- 专辑封面圆角调节(方形→圆形)

- 磁带样式选择(粉粉主题专属)

#### 歌词显示设置

- 歌词字体大小调节

- 歌词对齐方式(左对齐 / 居中)

- 歌词模糊效果开关

- 单曲歌词时间微调(±0.1s / ±0.5s)

#### 强调色

- 多种预设颜色(粉红、红色、橙色、紫色、蓝色等)

- 跟随系统深色 / 浅色模式自适应

### 资料库管理

#### 音乐浏览

- 歌曲列表(支持排序和搜索)

- 专辑网格浏览(专辑封面展示)

- 艺术家列表浏览

- 全局搜索(歌曲、艺术家、专辑)

#### 歌单管理

- 创建本地 / 在线歌单

- 添加 / 移除歌曲(支持批量操作)

- 歌单封面自动显示第一首歌曲封面

- 滑动删除单曲

- 多选批量删除

#### 多选功能

- 本地歌曲多选添加到歌单

- 在线搜索结果多选添加

- 全选 / 取消全选快捷操作

### 播放控制

#### 基础控制

- 播放 / 暂停

- 上一首 / 下一首

- 进度条拖动

- 音量调节

#### 高级功能

- 随机播放模式

- 循环模式(单曲循环 / 列表循环 / 不循环)

- 播放队列管理

- 定时关闭(睡眠定时器)

#### 均衡器

- 10 频段图形均衡器

- 多种预设(摇滚、流行、古典、爵士等)

- 自定义 EQ 设置

- 仅支持本地文件

### 歌词功能

- LRC 格式歌词同步显示

- 内嵌歌词自动提取

- 在线歌词自动获取

- 歌词时间偏移调整(全局 / 单曲)

- 双击歌词跳转播放

- 迷你歌词展示(播放界面)

演示图

📌 转载信息
原作者:
ryderwe
转载时间:
2026/1/3 21:27:25

Afterglow | 余火

这首歌关于一个庆祝,庆祝什么呢,庆祝我们的遗憾,此时此刻我们是被我们过往所有的经历堆叠而成的,包括艰难的时刻,所以让我们点起火把。

———— 《当我们点起火把》 DOUDOU

开源地址

同时感谢:谷歌大善人和他的 AI Studio,Gemini-3-Flash 以及 Antigravity

UI 速览

你也可以前往 CF 部署的 web 版本体验:https://afterglow.realme.top/

首页记录 - 编辑记录设置

功能

  • 目标打卡,同时可以设置一个主目标,在首页主要区域显示。
  • 随时补卡,无需任何前置条件
  • 心情记录,记录下每一次打卡时的小感触
  • 支持英语 / 中文切换
  • 热力图(可选),查看到目前为止的数天内打卡频率
  • 一言(可选),基于 API 的每日一言(zh/en 下 API 不同)
  • webdav 备份,用于备份、恢复数据。

使用

Afterglow 使用 React 编写,且无后端服务,是一个「纯前端」打卡 APP。可以选择以下方式使用:

数据

目前所有的数据使用本地的 IndexedDB,可以通过 webdav 进行备份 / 恢复。
后续会尝试支持 Supabase/Cloudflare 部署 API+DB

WebDAV 备份

数据很重要(嗯

所以为了有效保持自己的小习惯能被很好的记录,可以使用 webdav 进行备份。

个人使用坚果云(免费)来作为 webdav 备份(https://dav.jianguoyun.com/dav/),因为可能遇到的 CORS 问题,也支持自建一个 CORS 代理来绕过可能出现的请求失败问题。

具体而言,可以使用我在 deno 部署的项目:https://cors-proxy.heerheer.deno.net/?url=,也可以采用其他的开源自部署项目,我部署的版本代码放在文末~

未来计划

  • peer review (什么赛博监视)
  • 自部署服务端与数据库支持
  • 将数据生成分享图 / 时段总结

附录

CORS-Proxy Deno
// main.ts — Deno Deploy CORS Proxy (safe-ish) // Deploy: https://deno.com/deploy // Usage:  /?url=https%3A%2F%2Fexample.com%2Fapi const ALLOWED_ORIGINS = ["*"]; // 你也可以改成 ["https://yourdomain.com"] const ALLOWED_METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS","MKCOL","PROPFIND"];

// 目标站点白名单:只允许代理这些域名(强烈建议填写) // 例: ["api.github.com", "v1.hitokoto.cn"] const TARGET_HOST_ALLOWLIST = new Set<string>([
  "v1.hitokoto.cn",
  "thequoteshub.com",
  // "api.example.com",
]);

// 允许转发的请求头(避免转发一些危险/无意义的头) const FORWARD_REQ_HEADERS = new Set([
  "accept",
  "accept-language",
  "content-type",
  "authorization",
  "x-requested-with",
  "user-agent",
]);

// 允许暴露给浏览器端读取的响应头 const EXPOSE_HEADERS = [
  "content-type",
  "content-length",
  "date",
  "etag",
  "cache-control",
  "expires",
  "last-modified",
  "x-request-id",
];

function pickCorsOrigin(origin: string | null) {
  if (!origin) return "*";
  if (ALLOWED_ORIGINS.includes("*")) return "*";
  return ALLOWED_ORIGINS.includes(origin) ? origin : "null";
}

function isAllowedTarget(url: URL) {
  // 仅允许 http/https if (!["http:", "https:"].includes(url.protocol)) return false;
  // // 白名单校验 // return TARGET_HOST_ALLOWLIST.has(url.host); return true;
}

function buildCorsHeaders(origin: string | null) {
  const allowOrigin = pickCorsOrigin(origin);
  return new Headers({
    "access-control-allow-origin": allowOrigin,
    "access-control-allow-methods": ALLOWED_METHODS.join(", "),
    "access-control-allow-headers": "Content-Type, Authorization, X-Requested-With,Depth",
    "access-control-expose-headers": EXPOSE_HEADERS.join(", "),
    "access-control-max-age": "86400",
    "vary": "Origin",
  });
}

function filterRequestHeaders(req: Request) {
  const headers = new Headers();
  for (const [k, v] of req.headers.entries()) {
    const key = k.toLowerCase();
    if (FORWARD_REQ_HEADERS.has(key)) headers.set(k, v);
  }
  return headers;
}

Deno.serve(async (req) => {
  const url = new URL(req.url);
  const origin = req.headers.get("origin");

  // 预检请求直接返回 if (req.method === "OPTIONS") {
    return new Response(null, { status: 204, headers: buildCorsHeaders(origin) });
  }

  if (!ALLOWED_METHODS.includes(req.method)) {
    const h = buildCorsHeaders(origin);
    return new Response("Method Not Allowed", { status: 405, headers: h });
  }

  // 读取目标 URL const targetParam = url.searchParams.get("url");
  if (!targetParam) {
    const h = buildCorsHeaders(origin);
    return new Response("Missing ?url= encoded target URL", { status: 400, headers: h });
  }

  let targetUrl: URL;
  try {
    targetUrl = new URL(decodeURIComponent(targetParam));
  } catch {
    const h = buildCorsHeaders(origin);
    return new Response("Invalid target url", { status: 400, headers: h });
  }

  if (!isAllowedTarget(targetUrl)) {
    const h = buildCorsHeaders(origin);
    return new Response("Target host not allowed", { status: 403, headers: h });
  }

  // 把当前请求的 query(除了 url)拼到目标上(可选) // 例如 /?url=...&a=1 => target?a=1 for (const [k, v] of url.searchParams.entries()) {
    if (k === "url") continue;
    targetUrl.searchParams.set(k, v);
  }

  // 构造转发请求 const forwardHeaders = filterRequestHeaders(req);

  // 如果是 GET/HEAD 不带 body,其它方法允许透传 body const hasBody = !["GET", "HEAD"].includes(req.method);
  const body = hasBody ? req.body : undefined;

  let upstreamResp: Response;
  try {
    upstreamResp = await fetch(targetUrl.toString(), {
      method: req.method,
      headers: forwardHeaders,
      body,
      redirect: "follow",
    });
  } catch (e) {
    const h = buildCorsHeaders(origin);
    return new Response(`Upstream fetch failed: ${String(e)}`, { status: 502, headers: h });
  }

  // 复制响应头(过滤掉 hop-by-hop 以及冲突的 CORS 头) const respHeaders = new Headers();
  for (const [k, v] of upstreamResp.headers.entries()) {
    const key = k.toLowerCase();
    if (key === "set-cookie") continue; // 浏览器也读不到,且有安全风险 if (key.startsWith("access-control-")) continue; // 我们自己控制 CORS
    respHeaders.set(k, v);
  }

  // 注入 CORS 头 const corsHeaders = buildCorsHeaders(origin);
  for (const [k, v] of corsHeaders.entries()) respHeaders.set(k, v);

  return new Response(upstreamResp.body, {
    status: upstreamResp.status,
    statusText: upstreamResp.statusText,
    headers: respHeaders,
  });
});

📌 转载信息
原作者:
Harmog
转载时间:
2026/1/2 21:18:21

老老贴编辑不了啦,只能开新贴啦。距离上次水贴可太久了,来续一下项目新的更新, 距离上次陆陆续续加了一点东西,用起来挺顺手的对于 Serverless 部署,算是压榨完了大善人。当然还是提醒一下 毕竟涉及到大批量上传下载功能,推荐自用即可

老帖地址:基于 Cloudflare 的在线文本 / 大文件分享平台,支持多种语法 Markdown 渲染、阅后即焚、R2~B2 等 S3 聚合存储、密码保护等功能,可作为 WebDav 挂载,支持 Docker 部署。

老老贴: 基于 Cloudflare Worker 部署的在线剪切板,支持 markdown 和文件分享(优化更新 10)

部署的教程也优化到最简了,基本动动手指运行一下 github action 就一键部署了,支持前后端分离,当然也可以单 worker 部署。

简单介绍下项目具体功能


多存储支持

  • S3 兼容:Cloudflare R2、Backblaze B2、AWS S3、阿里云 OSS、腾讯云 COS、MinIO 等
  • 网盘集成:WebDAV、OneDrive、Google Drive、Telegram、GitHub API/Releases(只读)等等
  • 本地存储:Docker 部署支持本地文件系统
  • 智能上传:前端预签名直传 + 流式上传 + 分片断点续传,进度实时显示,最大限度摆脱 cf 限制
  • 文件预览:支持 30 + 种格式直接预览(图片、视频、音频、PDF、Office、代码、电子书等),其余可通过外部 IFrame 嵌入 KKFileview 预览
  • 定时任务:支持定时清理上传会话、存储同步、搜索索引重建等自动化任务
  • 统一管理:可视化配置多存储,灵活切换默认存储源

Markdown 编辑器

  • Vditor 集成:支持 GitHub 风格 Markdown、数学公式、流程图、思维导图
  • 实时预览:所见即所得编辑体验
  • 多格式导出:PDF、HTML、PNG、Word 一键导出
  • 安全分享:密码保护、过期时间、访问次数限制
  • Raw 直链:类似 GitHub Raw,适合配置文件托管

WebDAV 协议支持

  • 标准协议:支持任意 WebDAV 客户端挂载为网络驱动器
  • 完整操作:目录创建、文件上传、删除、重命名、移动
  • 权限控制:API 密钥授权,细粒度访问控制
  • 缓存优化:可配置 TTL,减少上游请求

以及一些部分小功能…


Github: GitHub - ling-drag0n/CloudPaste: A Cloudflare-based online text/file sharing platform that supports multiple syntax Markdown rendering, self-destructing messages, S3/WebDav/OneDrive/GoogleDrive/TG/GithubAPI/Local aggregated storage, password protection, and more. It can be mounted as WebDAV and supports Docker deployment.
demo 地址 [游客令牌:guest]: CloudPaste - 安全分享您的内容
文档地址: https://doc.cloudpaste.qzz.io/

部分 demo 图展示:

水完咯收工
当然还是求求小小的 start 啦


📌 转载信息
原作者:
2512132839
转载时间:
2025/12/27 21:19:29

在 Lunes.host 上使用 Node.js Generic 方式部署 Uptime Kuma 监控面板

功能特性

  • 每天定时自动备份(默认凌晨 4 点)
  • 自动清理超过 5 天的旧备份
  • 首次启动自动恢复最新备份
  • 支持 ZIP 加密备份(可选)
  • WebDAV 云端存储,数据安全可靠

项目结构

/home/container/
├── package.json
├── .nvmrc
├── config.sh          # ⚙️ 配置文件(需修改)
├── start.sh           # 🚀 启动脚本(需 755 权限)
└── scripts/
    ├── backup.sh      # 💾 WebDAV 备份(需 755 权限)
    └── restore.sh     # 📥 WebDAV 恢复(需 755 权限) 

快速开始

查看端口

在 Lunes.host 控制面板查看分配给你的端口号:

上传文件并配置权限

上传项目文件:

为脚本添加 755 执行权限:


需要添加权限的文件:

  • start.sh
  • scripts/backup.sh
  • scripts/restore.sh

修改配置文件

编辑 config.sh,根据你的实际情况修改:

#!/bin/bash # ============================================ # Uptime Kuma 配置文件 # ============================================ # 端口号(改为你的实际端口) export PORT="${PORT:-2114}" export TZ="Asia/Shanghai" # 预构建包下载地址(无需修改) export KUMA_DOWNLOAD_URL="https://github.com/oyz8/action/releases/download/2.0.2/uptime-kuma-2.0.2.tar.gz" # ============================================ # WebDAV 备份配置 # ============================================ export WEBDAV_URL="https://zeze.teracloud.jp/dav/backup/Uptime-Kuma/" export WEBDAV_USER="你的用户名" export WEBDAV_PASS="你的密码" # 备份加密密码(可选,留空则不加密) export BACKUP_PASS="" # 每天备份时间(0-23 小时制) export BACKUP_HOUR=4

# 备份保留天数 export KEEP_DAYS=5

WebDAV 推荐: 本项目使用 InfiniCLOUD (Teracloud) 作为备份存储

注册时输入推荐码 PPMZC,可在 20GB 基础上额外获得 5GB 存储空间!

配置启动命令

在 Startup 设置中填入:

npm start 

启动服务

点击 Start 按钮启动:

手动操作 (在启动命令改为下面命令)

# 手动执行备份
bash scripts/backup.sh

# 手动恢复最新备份
bash scripts/restore.sh

# 恢复指定备份文件
bash scripts/restore.sh lunes-host-backup-2024-12-26-10-30-00.zip

注意事项

  • 必须使用 Node.js Generic 方式部署
  • 首次启动需要下载预构建包,请耐心等待
  • 确保 WebDAV 目录已提前创建
  • 脚本文件必须有执行权限(755)

许可证

MIT License


📌 转载信息
原作者:
oyz
转载时间:
2025/12/27 00:30:54

英语和日语都不好,浏览器翻译也不好用的话,可以先装个沉浸式翻译扩展
https://immersive-translate.owenyoung.com/installation

日本的网盘,支持webdav功能> 改名后新的官网:https://infini-cloud.net/en/

领取方法:

登录账号后地址栏输入这两个链接后回车

https://infini-cloud.net/ja/modules/bonus/code=202304_10GB_jp/userid=用户名/
https://infini-cloud.net/ja/modules/bonus/code=202304_10GB_en/userid=用户名/

(用你的 Teracloud ID 替换掉上面地址中的 用户名 )

上面两个链接总共可以领20G,再加上新用户账号自带的20G,这样就可以领取40G的永久空间了

还有5G,需要输入推荐码,可以使用我的推荐码:XCPDT,输入我的推荐码领取永久5G(我只能得到2g一年容量,用不用随你,我不在乎,如果版主认为这是广告的话,可以把这行删掉)

这样,使用了推荐码就可以一共领取45G的永久空间了


WebDav的开启

打开My Page页面https://infini-cloud.net/en/modules/mypage/usage/

页面中间,勾选“Turn on Apps Connection”即可开启WebDav功能。。。

开启后,首次后会在下面显示登录密码。