1Panel 部署 OpenList 并挂载百度网盘(新手版)

环境:1Panel v2 + 应用商店 OpenList(Docker)+ OpenResty
文中域名统一写 pan.example.com,端口沿用默认 5244。
令牌获取地址:https://api.oplist.org/

先看全貌(30 秒)

1
2
3
① 装 OpenList  →  ② 生成管理员密码  →  ③ 拿百度令牌
↓
⑤ 挂域名 + 关端口 ← ④ 加存储并验证

前 4 步做完,你就能在网页里点开自己百度网盘的文件了。第 5 步是把它变成"能对外访问的私人网盘",建议做,但可以晚点做。

两个新手必卡的点,先打个预防针:

  1. OpenList 没有默认密码。装完直接打开是登不进去的,密码得进容器终端生成。
  2. 百度网盘不是填账号密码。它走 OAuth2,必须去 api.oplist.org 拿一串"刷新令牌",而且这串东西很长,少复制一个字符就挂不上。

① 装 OpenList

1Panel → 应用商店 → 搜 OpenList → 安装

参数这么填(字段名各版本略有差异,认含义就行):

字段填什么说明
名称openlist容器名会带这个
版本最新稳定版别选 beta
WebUI 端口5244网页访问端口,反向代理要指它
S3 端口5246用不到,留默认即可
预装工具全部(ffmpeg + aria2)不给 ffmpeg 就没有缩略图,视频列表全是灰块
时区Asia/Shanghai不然文件时间差 8 小时
端口外部访问先勾上待会儿要用 IP:5244 登录设置密码,配完再关

装完在 应用商店 → 已安装 里看到状态「已启动」就行。

为什么先勾外部访问?因为下一步要生成密码、登录后台、配置存储,这些都得能打开网页。等全部配好、反代也通了,再回来把它关掉——顺序反了容易把自己锁在门外。

② 生成管理员密码

OpenList 首次启动不会给你默认账号密码,得手动生成。

1Panel → 容器 → 找到 openlist 容器 → 右侧「终端」

进去后提示符应该是 root@xxxxx:/opt/openlist#,直接执行:

1
./openlist admin random

它会输出一行类似:

1
Successfully reset admin password to: Xk9mP2vQ

这串密码只显示这一次,立刻复制下来。 忘了就再执行一遍,会重新生成。

想自己指定密码,用这条(把 你的密码 换掉):

1
./openlist admin set 你的密码
密码别用 admin。OpenList 会直接暴露在公网,默认弱密码几小时内就会被扫到。

然后浏览器打开 http://服务器IP:5244,账号 admin + 刚才那串密码登录。


③ 拿百度网盘的刷新令牌

这一步是整篇最容易出错的地方,慢一点做。

打开 https://api.oplist.org/,然后按顺序:

  1. 网盘名称 下拉选「百度网盘 (OAuth2) 验证登录」
  2. 勾上「使用 OpenList 提供的参数」——勾了就不用自己申请百度开发者应用
  3. 点「获取 Token」
  4. 页面跳到百度登录页,登录你的百度账号 → 点「授权」
  5. 自动跳回工具页面,出现两栏:

    • 访问令牌(Access Token)
    • 刷新令牌(Refresh Token) ← 你只需要这个
  6. 完整复制「刷新令牌」,先粘到记事本里备用

几个必须注意的:

  • 刷新令牌是一长串几百个字符,中间可能有换行,复制时别丢字符。粘到记事本里检查一下开头结尾是否完整。
  • 这个令牌相当于你百度账号的长期钥匙,别发群里、别截图发出来。
  • 有效期通常几个月。哪天突然提示存储异常、目录打不开,八成就是它过期了,回来重新取一次即可。

④ 添加百度网盘存储

回到 OpenList 页面 → 底部「管理」→ 左侧「存储」→ 右上角「添加」。

按这张表填:

字段填什么
驱动百度网盘
挂载路径/百度网盘
根文件夹路径留空(= 整个网盘根目录)
使用在线 API打开(关键)
API 地址https://api.oplist.org/baiduyun/renewapi
客户端 ID留空
客户端密钥留空
刷新令牌粘贴 ③ 拿到的那串
自定义破解 UAnetdisk
上传 APIhttps://d.pcs.baidu.com
上传线程3(范围 1~32,别贪多)
缓存过期时间30(分钟)

点「添加」保存。

看状态列:

  • 显示「正常」→ 成了,回首页就能看到 /百度网盘 文件夹
  • 显示报错 → 翻附录 F 对照
「使用在线 API」这个开关是重点。打开后,令牌刷新由 OpenList 官方服务代劳,你不用去百度开放平台申请 client_id,也不用填密钥。老版本界面里没有这个开关的,就得填客户端 ID/密钥,那套流程麻烦得多——先把 OpenList 升到最新版。

验证一下

回首页 → 进 /百度网盘 → 能看到你在百度网盘里的文件夹 → 点开一个视频或图片能在线预览 → 点某个文件「下载」能开始下载。

三个都通了,就算真正挂上了。


⑤ 挂域名 + 关掉裸端口(建议做)

到这一步你已经能用了,但地址是 http://IP:5244,没有加密、端口裸奔。花 5 分钟收个尾:

建站:1Panel → 网站 → 创建网站 → 「反向代理」

字段值
域名pan.example.com
代理地址http://127.0.0.1:5244

开 HTTPS:网站 → 你的站点 → HTTPS → 打开开关 → 选证书(没有就 Let's Encrypt)→ 打开强制 HTTPS。

调大上传限制:反向代理默认限制 1MB,传大文件会直接 413。进 网站 → 站点 → 配置文件,在代理那段加上:

1
2
3
client_max_body_size 0;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;

改完两步都要跑:

1
2
docker exec 1Panel-openresty-xxxx openresty -t
docker exec 1Panel-openresty-xxxx openresty -s reload
-t 只查语法,-s reload 才生效。只跑前者是最常见的"改了没变化"。

最后关掉裸端口:

1Panel → 应用商店 → 已安装 → OpenList → 参数 → 取消「端口外部访问」→ 确认(容器会重建,配置不丢)。
再去云厂商安全组删掉 5244 入方向规则。

反代走的是 127.0.0.1,关掉端口不影响域名访问——安全组只管外网进来的流量,本机回环不走它。关完用 https://pan.example.com 验证一遍,别关完就关浏览器。

附录 A:关于"满速下载",说实话

网上很多标题写「挂上就满速」「绕过百度限速」,这个说法别全信。

OpenList 走的是百度官方开放 API,拿到的是你账号本来该有的速度:

你的账号实际表现
普通用户该限还是限,大概几百 KB/s 到 1~2 MB/s
会员能跑满带宽

它真正解决的是「不用装客户端、多网盘一个界面、能挂 WebDAV 给播放器用」,而不是破解限速。冲着"免费满速"来会失望。

附录 B:风控,别拿主号试

百度对第三方调用有风控。以下行为容易触发限速、临时封禁:

  • 短时间内批量下载大量文件
  • 频繁刷新目录(反复点进点出)
  • 同一 IP 下挂多个账号
  • 刚授权就拉全盘

建议用小号。真要挂主号,就"用完即走":需要什么下载什么,别把它当成日常网盘客户端天天刷。

附录 C:再加几个网盘

同一套流程,换个驱动就行:

网盘要什么备注
阿里云盘刷新令牌同样在 api.oplist.org 取,流程几乎一样
夸克网盘Cookie网页端 F12 → Network → 复制请求头 Cookie
115 网盘Cookie 或二维码令牌网页端 F12 复制
123 网盘账号密码或令牌相对简单
本机存储容器内路径把服务器目录也挂进来,统一管理

一个存储一个「挂载路径」,路径不能重复。

附录 D:挂成电脑上的网盘(WebDAV)

OpenList 自带 WebDAV,挂载后能用资源管理器 / PotPlayer / infuse 直接播。

  1. 管理 → 用户 → 编辑 admin → 勾上「WebDAV 读取」和「WebDAV 管理」→ 保存
  2. 访问地址:https://pan.example.com/dav
  3. 账号密码就是 OpenList 的

Windows 映射网络驱动器时地址填 https://pan.example.com/dav,会提示输入账号密码。

附录 E:备份

OpenList 的所有配置(存储列表、令牌、用户)都在容器数据目录里:

1
/opt/1panel/apps/openlist/openlist/data

1Panel → 计划任务 建一条:每周打包这个目录,保留 4 份。

这个目录里有你的百度刷新令牌,备份到网盘时注意别传到公开位置。

附录 F:报错对照表

现象原因处理
admin 登不进去没生成过密码回第 ② 步,容器终端跑 ./openlist admin random
上传/下载都 413nginx 上传限制加 client_max_body_size 0; 并 reload
存储状态报 empty token returned from official API刷新令牌复制不全或已过期重新去 api.oplist.org 取一次,整串复制
存储状态报 failed get storage挂载路径重复或为空换个唯一路径,如 /百度网盘2
目录能看,点文件 403 / 下载失败百度风控或令牌权限不足换小号试,或降低操作频率
页面能开但样式全丢反向代理没传 Host 头反代配置里加 proxy_set_header Host $host;
视频列表全是灰块没缩略图安装时没选 ffmpeg重装时选「全部」,或在参数里补装
文件时间差 8 小时时区没设安装参数里改 Asia/Shanghai
改完 nginx 没反应只跑了 -t补 -s reload

完成检查清单

  • [ ] https://pan.example.com 能打开,强制跳 HTTPS
  • [ ] 管理员密码是自己生成的强密码,不是 admin
  • [ ] 百度网盘存储状态显示「正常」
  • [ ] 能在线预览图片/视频,能下载文件
  • [ ] 上传一个大文件(>100MB)不报 413
  • [ ] IP:5244 从外网已打不开
  • [ ] data 目录有定时备份