自定义免费100G/2T/5T WebDAV 方案(Alist+阿里云/123网盘/豆包云盘等+免费域名+Cloudflare)

shalloater 2026-06-26 21:48 1

实现思路:Alist+阿里云/123网盘/豆包云盘等+免费域名+claoudflare Tunnel,


我用WebDAV主要是用来在Reeden中同步我的电子书和阅读进度,这个使用场景负担不是很大,目前用下来阿里云盘感觉最稳,但下载会比较慢一些,123网盘经常有失败的情况,豆包云盘上传下载都很快,就是我就有几个漫画是300M的,可能我一次传太多被风控了,剩下几本漫画传不上去,听说连续7天或者连续14天老实使用,小频率传一些图片、文档之类的,可能解除风控,待我试试再来反馈。另外就是claoudflare免费计划限制上传小于100M,所以如果有大于100M的文件可以在配置这个的电脑上用本地端口传输。


以下记录一下我的实现流程:




第一步:Alist




1. 下载并解压


进入 AList GitHub Releases,Windows 下载:


alist-windows-amd64.zip

我直接把解压后的文件夹放在了D盘


2. 启动


解压后目录中应该有 alist.exe ,打开 PowerShell:


cd D:\alist
.\alist.exe server

看到类似内容说明启动成功:


Successfully created the admin user and the initial password is: ********
start HTTP server @ 0.0.0.0:5244

initial password 后面的内容就是初始管理员密码。


访问:


http://127.0.0.1:5244

默认用户名:


admin

密码:使用第一次启动日志中的初始密码。



3. 修改密码


如果后续要像我一样发布到公网上,最好在个人资料中修改用户名和密码。





第二步:挂载云盘


一个小的对比,主要注意123云盘有下载量限制,用完之后无法下载,只能等到下个月,豆包云盘可能触发风控,导致单个文件不能超过100M。
















































































阿里云盘 123 云盘 豆包云盘
永久免费容量 100GB 2TB 10GB(老号保留 5TB+)
存疑,因为在界面上看不见总容量多少
上传速度 无强制限速,跑满带宽 客户端满带宽不限速 无人工限速,随宽带
下载速度 闲时满速,晚间高峰动态限流;第三方工具严格限速 客户端不限速,网页端小幅节流 全程不限速,无带宽管控
单文件上限 10GB 100GB 100MB(2GB?)
下载流量额度 无 GB 总量限制,仅带宽节流 每月免费下载流量 10GB;PC 客户端流量减半抵扣,用完后无法下载 无下载流量限制
每日转存次数 每日 50 次 无转存次数限制 无跨盘转存功能
单次批量上传 无明确数量上限 单次最多 1000 个文件 单次最多 200 个文件
在线视频 最高 720P 无清晰度限制 仅支持图片文档预览,不支持视频
云解压 免费不可用 支持小型压缩包解压 完全不支持解压
文件分享 长期有效链接,无门槛 100MB 内免登下载,大文件必须登录 普通外链,无提取码
回收站时效 10 天 30 天 好像没有?

关于豆包云盘的单文件上限的说法(这一部分由AI总结,所以用截图):



所以如果用豆包云盘短时间内传输大量文件或超大文件,容易触发风控,导致单个文件大小限制为100M,但是我的使用场景是同步我的电子书,一般没有那么大的文件,所以使用起来还可以


下面就来挂载网盘


阿里云盘


进入 AList 管理后台:管理 → 存储 → 添加


选择驱动:阿里云盘 Open


推荐配置:


显示文件夹名称:/阿里云盘
序号:0
缓存过期时间:30
Web 代理:关闭
WebDAV 策略:本机代理
下载代理 URL:空
Down proxy sign:保持默认
禁用索引:关闭
启用签名:关闭
云盘类型:资源库
根文件夹 ID:root
OAuth 令牌链接:<https://api.alistgo.com/alist/ali_open/token>
客户端 ID:空
客户端密钥:空
移除方式:回收站
秒传:关闭
内部上传:关闭

获取刷新令牌


打开阿里云盘 Open 授权工具:授权工具


扫码登录阿里云盘后复制生成的 refresh_token,粘贴到 AList 的「刷新令牌」字段。



123云盘


进入 AList 管理后台:管理 → 存储 → 添加


选择驱动:123云盘


推荐配置:


显示文件夹名称:/123云盘
序号:30
备注:可空
缓存过期时间:30

Web 代理:开启
WebDAV 策略:本机代理
下载代理 URL:空
Down proxy sign:开启
排序:名称
排序方式:升序
提取文件夹:不选
禁用索引:关闭
启用签名:关闭

用户名:123 云盘登录手机号
密码:123 云盘登录密码
安全密码:不用保险箱就留空
根文件夹 ID:0


常见报错:


当前账号存在安全风险,请使用短信验证码或者微信进行登录。

处理方法:


1. 在同一台电脑浏览器打开 <https://www.123pan.com/>
2. 登录同一个 123 云盘账号。
3. 完成短信 / 微信验证。
4. 再回 AList 保存。

豆包云盘


进入 AList 管理后台:管理 → 存储 → 添加


选择驱动:123云盘


推荐配置:


显示文件夹名称:/豆包云盘
序号:50
备注:可空
缓存过期时间:30

Web 代理:先关闭
WebDAV 策略:302 重定向
下载代理 URL:空
Down proxy sign:开启
排序:可先不选;不允许空则选名称 / 文件名
排序方式:可先不选;不允许空则选升序
提取文件夹:不选
禁用索引:关闭
启用签名:关闭

根文件夹 ID:先留空
Authorization:先留空
冲压 / Dpop:先留空
Cookie:填写豆包云盘网页端请求里的 Cookie
Debug:关闭

Cookie 获取方法:


1. 打开 <https://www.doubao.com> 并登录,打开云盘界面
2. 按 F12 → 网络 / Network。
3. 勾选保留日志。
4. 刷新页面。
5. 选择状态 200、类型 xhr/fetch 的接口请求。
6. 优先找 batch/?biz_id=flow_web 或 token?ms_appid=... 这类请求。
7. 标头 → 请求标头 → Cookie。
8. 复制 Cookie 右侧全部内容,不要复制 Cookie: 字段名。
9. 粘贴到 AList 的 Cookie 字段。


查看并测试 AList WebDAV


网盘挂载完成了,可以到主页查看一下(左侧标签最后一个,我还多挂了一个百度网盘)



此时,如果是本地使用,WebDAV已经可以正常使用了,测试一下


AList WebDAV 总入口:


http://127.0.0.1:5244/dav/

阿里云盘入口:(其余网盘同理)


http://127.0.0.1:5244/dav/阿里云盘/

PowerShell 测试 WebDAV 是否通


curl.exe -i -u admin:你的AList密码 -X PROPFIND -H "Depth: 1" <http://127.0.0.1:5244/dav/>

正常返回:


HTTP/1.1 207 Multi-Status

如果返回:


401 Unauthorized

说明用户名或密码错误。


如果返回 XML 中看到:


<D:displayname>阿里云盘</D:displayname>

说明 WebDAV 已经识别到阿里云盘挂载。


另一个查看的方法:RaiDrive


安装 RaiDrive 后新建驱动器:


服务类型:NAS → WebDAV
盘符:F: 或 R: 或 Z:
名称:Alist
协议:HTTP
地址:127.0.0.1
端口:5244
路径:/dav/
账户:admin 或 新AList 用户名
密码:AList 密码
匿名:不要勾选
只读:不要勾选
代理:不要勾选
启动 RaiDrive 后自动连接:勾选


完整地址等价于:


http://127.0.0.1:5244/dav/

设置完成后,可以在此电脑中看到一个新增的盘(我这里显示为“断开连接的驱动器”,但实际使用下来没什么影响),打开之后可以看到我们挂载的网盘






第三步:外部电脑连接WebDAV


如果想要在局域网以外的地方连接此WebDAV,由于我没有IPV6,所以目前走的是免费域名+Cloudflare Tunnel的方式


免费域名


DNSHE


可以选这个cc.cd后缀,经过测试是可以使用的,别的也可以试试,就是千万不要选带有.com的后缀,会被cloudflare识别为子域名



免费域名接入Cloudflare


本次最终使用:


xxx.cc.cd

在 Cloudflare 添加域名:


https://dash.cloudflare.com → Domains → Add domain / Add a site / Connect a domain

选择 Free 套餐(如果被识别成子域名了,无法进入这一步,需要重新去申请一个别的后缀的域名)。


Cloudflare 要求将域名 NS 改为:


lindsey.ns.cloudflare.com
logan.ns.cloudflare.com

回 DNSHE 或对应免费域名平台:


管理域名 -> DNS服务器(域名委派)

将原来的 NS 删除,只保留 Cloudflare 给的两个 NS。


检查 NS 是否生效:


nslookup -type=NS xxx.cc.cd

正常应返回:


xxx.cc.cd nameserver = lindsey.ns.cloudflare.com
xxx.cc.cd nameserver = logan.ns.cloudflare.com

Cloudflare 页面显示:


Your domain is now protected by Cloudflare

说明域名已成功接入 Cloudflare。


创建固定 Cloudflare Tunnel


使用本令行创建 Tunnel

1. 安装Cloudflared

在 Windows 上建立目录:


mkdir C:\cloudflared

下载 cloudflared:


Invoke-WebRequest -Uri "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.exe" -OutFile "C:\cloudflared\cloudflared.exe"

检查版本:


C:\cloudflared\cloudflared.exe --version

如果能输出版本号,说明安装成功。


2. 登录 Cloudflare


C:\cloudflared\cloudflared.exe tunnel login

浏览器会打开授权页面,选择域名:


xxx.cc.cd

授权成功后,本机会生成:


%USERPROFILE%\.cloudflared\cert.pem

3. 创建 Tunnel


C:\cloudflared\cloudflared.exe tunnel create alist

成功后,终端会输出类似内容:


Created tunnel alist with id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Tunnel credentials written to C:\Users\你的用户名\.cloudflared\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json

这里的:


xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

就是 Tunnel ID。


该命令通常会在用户目录生成 credentials 文件:


%USERPROFILE%\.cloudflared\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json

复制到固定目录:


$tid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Copy-Item "$env:USERPROFILE\.cloudflared\$tid.json" "C:\cloudflared\$tid.json"

如果创建时忘记复制,可以执行:


C:\cloudflared\cloudflared.exe tunnel list

正常会列出类似:


ID                                      NAME    CREATED              CONNECTIONS
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx alist 2026-xx-xx xx:xx:xx ...

其中 ID 这一列就是 Tunnel ID,NAME 这一列是 Tunnel 名称。


4. 创建 config.yml


创建:


C:\cloudflared\config.yml

内容:


tunnel: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
credentials-file: 'C:\cloudflared\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json'

ingress:
- hostname: alist.xxx.cc.cd
service: http://127.0.0.1:5244
- service: http_status:404

也可以用 PowerShell 自动写入:


@"
tunnel: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
credentials-file: 'C:\cloudflared\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json'

ingress:
- hostname: alist.xxx.cc.cd
service: http://127.0.0.1:5244
- service: http_status:404
"@ | Set-Content -Encoding utf8 C:\cloudflared\config.yml

5. 绑定 DNS


C:\cloudflared\cloudflared.exe tunnel route dns alist alist.xxx.cc.cd

成功输出:


Added CNAME alist.xxx.cc.cd which will route to this tunnel

检查 CNAME:


nslookup -type=CNAME alist.xxx.cc.cd

应指向类似:


xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.cfargotunnel.com

6. 启动固定 Tunnel


C:\cloudflared\cloudflared.exe tunnel --config C:\cloudflared\config.yml run alist

看到类似:


Registered tunnel connection

说明 Tunnel 连接正常。


WebDAV:


https://alist.xxx.cc.cd/dav/阿里云盘/



第四步:配置开机自启


需要至少保证两项启动:


AList server
Cloudflared Tunnel

RaiDrive 如需自动挂载,也要设置开机启动和自动连接。


1. 任务计划程序方式


以管理员 PowerShell 执行:


$alistAction = New-ScheduledTaskAction `
-Execute "D:\alist\alist.exe" `
-Argument "server" `
-WorkingDirectory "D:\alist"

$tunnelAction = New-ScheduledTaskAction `
-Execute "C:\cloudflared\cloudflared.exe" `
-Argument "tunnel --config C:\cloudflared\config.yml run alist" `
-WorkingDirectory "C:\cloudflared"

$trigger = New-ScheduledTaskTrigger -AtLogOn

$settings = New-ScheduledTaskSettingsSet `
-AllowStartIfOnBatteries `
-DontStopIfGoingOnBatteries `
-RestartCount 3 `
-RestartInterval (New-TimeSpan -Minutes 1)

Register-ScheduledTask `
-TaskName "AList Server" `
-Action $alistAction `
-Trigger $trigger `
-Settings $settings `
-Description "Start AList on user logon" `
-Force

Register-ScheduledTask `
-TaskName "Cloudflared Tunnel" `
-Action $tunnelAction `
-Trigger $trigger `
-Settings $settings `
-Description "Start Cloudflare Tunnel for AList on user logon" `
-Force

如果出现:


Register-ScheduledTask: 拒绝访问。

说明 PowerShell 不是管理员权限。关闭后重新以管理员身份运行。


检查任务:


Get-ScheduledTask -TaskName "AList Server","Cloudflared Tunnel"

手动启动测试:


Start-ScheduledTask -TaskName "AList Server"
Start-ScheduledTask -TaskName "Cloudflared Tunnel"

2. RaiDrive 开机启动


RaiDrive 内部需要两个设置:


1. RaiDrive 程序随 Windows 启动
2. 当前 WebDAV 连接勾选“启动 RaiDrive 后自动连接”

如果 RaiDrive 设置中找不到开机启动,可以使用:


Win + R → shell:startup

把 RaiDrive 快捷方式放进去。


推荐启动顺序:


AList 先启动 → cloudflared 后启动 → RaiDrive 再连接(如果需要)



至此完全配置完成


补充说明:AList 近年来存在社区信任争议,本文基于 AList v3.61.0 记录。OpenList 是由社区维护的 AList 分叉项目,若更在意开源治理和长期透明性,可以关注 OpenList。

最新回复 (6)
  • r1ckiiy 06-26 21:54
    1楼

    建议换 openlist 吧,alist 被那个公司收购之后指不定搞些什么幺蛾子

  • star starsdream 06-26 21:57
    2楼

    建议更换openlist,alist被某个黑公司收购了,搞不好会窃取隐私造成损失

  • shalloater 楼主 06-26 22:03
    3楼

    有道理,了解了一下,确实openlist在这方面会好些

  • 伯泽 06-26 22:07
    4楼

    123 盘和 pikpak 开会员后就有官方的 WebDAV 服务,我现在在使用 123 盘的 WebDAV,还挺方便。

  • Di San 06-26 22:32
    5楼

    alist从开源变成私有化了,建议openlist。。。

  • clbhin4 06-26 22:41
    6楼

    这么长,回家再看,好像我有免费的阿里云边缘节点

* 帖子来源Linux.do
返回