威联通安装alist并挂载pikpak


威联通自带的 File Station 只能管本地盘。想把 PikPak 这类网盘纳入 NAS 的目录树,需要一座“桥”——AList 把各种网盘聚合成一个统一的虚拟目录,再通过 WebDAV 暴露出来,威联通这边用 File Station 装载远程文件夹,就能像本地目录一样读写。

本文记录一次完整的落地过程,顺便把踩过的坑一起记下来。AList 官网:https://alist.nn.ci/zh/

一、在威联通上安装 AList

有两条路:Container Station 跑 Docker,或者装第三方打包的 QPKG 套件。推荐 Docker——更新方便,数据卷独立,迁移和备份都简单。

方式 A:Docker 部署(推荐)

第一步,建目录。 打开 File Station,在 Container 共享文件夹下新建 alist 目录(也可以放你自己的 Docker 路径)。

第二步,创建应用。 打开 Container Station,左侧 应用程序(Applications)→ 创建(Create),应用名称填 alist,在 YAML 框里粘贴:

version: '3.3'
services:
    alist:
        image: 'xhofe/alist:latest'
        container_name: alist
        volumes:
            - '/share/Container/alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        restart: always

注意把 /share/Container/alist 换成你实际建的目录路径。点击创建,等镜像下载并启动。

卡在拉镜像:502 Bad Gateway 与国内加速源

第一次创建大概率失败,因为威联通连不上 Docker 官方仓库 registry-1.docker.io。最直接的办法是 SSH 上去手动拉,再回 Container Station 创建。

先在 控制台 → 网络 & 文件服务 → Telnet / SSH 里开启 SSH,然后:

ssh admin@你的NAS_IP

用国内加速地址拉取,哪个通用哪个:

docker pull docker.1ms.run/xhofe/alist:latest
docker pull docker.xuanyuan.me/xhofe/alist:latest
docker pull m.daocloud.io/xhofe/alist:latest

我这边 DaoCloud 的公共节点直接回了 received unexpected HTTP status: 502 Bad Gateway,换成前两个就通了。

拉下来后打回原标签,这样前面那段 YAML 一个字都不用改:

docker tag docker.1ms.run/xhofe/alist:latest xhofe/alist:latest

回到 Container Station 重新创建应用,本地已有镜像,不会再触发超时。

获取初始密码

容器启动后有两种方式:

  • 看日志:Container Station 里点开 alist 容器,进 日志(Logs),搜 admin password,启动时会打印类似 Initializer admin password: xxxxxxxx。
  • 直接重置:进 终端机(Terminal),或者在 SSH 里执行:
docker exec -it alist ./alist admin set 你的新密码

然后浏览器打开 http://NAS的IP:5244,账号 admin 登录。

方式 B:QPKG 原生套件

不想碰 Docker 的话:App Center → 右上角齿轮 → 勾选“允许安装非 QNAP 签名的应用程序”,然后去 GitHub 或第三方套件源下载对应 CPU 架构(x86_64 / ARM)的 .qpkg,App Center 右上角加号手动安装。装完桌面会出现图标,同样访问 5244 端口。缺点是升级要自己重装。

二、在 AList 里挂载 PikPak

登录 AList 后台 → 左侧 管理 → 存储 → 添加。

首选:WebDAV 驱动(会员)

PikPak 会员自带 WebDAV 功能,地址是 https://dav.mypikpak.com,国内可直连,而且完全绕开了账号密码校验和 Token 续期的所有麻烦。先在 PikPak App 或网页端进入 设置 → 实验室功能 → WebDAV,开启后复制 URL、用户名和密码。

回到 AList:

字段 值
驱动 WebDAV(注意不是 PikPak,选错就白折腾了)
挂载路径 /pikpak(随便起)
URL https://dav.mypikpak.com
用户名 / 密码 PikPak 给的那一对

保存即可。

备选:PikPak 原生驱动(普通账号)

字段 值
驱动 PikPak
用户名 绑定的邮箱
密码 PikPak 登录密码
根文件夹 ID 留空即根目录
WebDAV 策略 302 重定向

前提条件:如果账号是通过 Google / Facebook 等第三方授权快捷注册的,必须先去 PikPak 官网绑定一个邮箱并单独设置登录密码,否则 AList 无法用账号密码登录。

WebDAV 策略选 302 重定向,播放视频或下载时会直接调用直链,不经过威联通中转,速度快很多。

三、原生驱动的报错排查

用原生 PikPak 驱动,大概率会在这两个错误上来回碰。记录一下排查顺序。

ErrorCode: 4126 / invalid_grant / AccessProhibited

含义:存储条目已经在后台建好了,但初始化(登录连接)失败。表现是存储列表里能看到这一项,状态却是禁用或报错,点进去看不到文件。所以不用重新新建,直接编辑那一项就行。

原因按概率排序:

  1. IP 地域或风控限制(最常见)。PikPak 判定登录来源 IP 处于受限地区,或短时间登录太频繁,直接拦截授权。让 NAS 流量走代理,或者换香港 / 新加坡 / 日本节点再试。
  2. 账号没设独立密码,第三方快捷登录的账号走不通授权校验。
  3. Token 自动获取失败。

ErrorCode: 4002 / captcha_invalid / captcha_token expired

含义:刷新令牌过期了,而且自动续期时撞上了人机验证,AList 在后台续不上。

排查顺序:

  1. 刷新令牌方法选错了。这个卡了我最久——把“刷新令牌方法(Refresh token method)”从 Oauth2 改成 HTTP,然后重新抓一次 refresh_token 填进去保存。
  2. 同一个 PikPak 账号挂了多个存储项。PikPak 每次刷新令牌,上一个令牌立刻作废。第一个挂载点一刷新,第二个挂载点的旧 Token 就瞬间失效,抛出 4002。解决办法是删掉多余的存储项,只保留一个根目录挂载,要进子目录直接在 AList 根目录里点进去。
  3. 真的触发风控了。去电脑浏览器重新登录一次 PikPak 网页端,手动过掉验证码,然后重新提取最新的 refresh_token 填回 AList。

能列目录、下载报 500:Get “”: unsupported protocol scheme “”

现象(2026-11-03 实测,AList v3.64.0,原生 PikPak 驱动):AList 网页里能正常列出 PikPak 的文件,点下载却报 {"code":500,"message":"Get \"\": unsupported protocol scheme \"\"","data":null}。视频和非视频文件都一样,HBS 3 走 WebDAV 同步同一个文件时则报 405,传了 0 字节。

含义:这句话翻译过来就是 AList 去抓文件时,拿到的下载地址是空的。列表接口和下载链接接口是两条路:列表通只说明 Token 还能查目录,不代表下载链接接口也通。先排除账号和文件本身——去 PikPak 官方网页/App 下载同一个文件,如果官方能下,问题就锁定在 AList 驱动这一侧。

解决办法:在 AList 后台 PikPak 存储的编辑页,把 “禁用媒体链接”勾上,保存后再下载。勾上后驱动换一种方式请求文件详情(FETCH,直接拿原始下载地址),不再走原来那条拿不到地址的路。实测勾上后网页下载立刻恢复,HBS 3 的同步任务也开始正常完成。

注意:这个开关要一直留着开。如果以后升级 AList 或者重新挂载 PikPak,记得检查它还在不在,否则同一个 500 会再出现。

刷新令牌怎么抓

新版 AList 有两条路:

让它自己抓(最省事):用户名密码填对,“刷新令牌方法”选 Oauth2,令牌框留空,直接点保存。AList 会在后台登录并把 Token 自动回填。如果这样还报 4126,说明官方风控挡了后台的自动登录,只能走下面手动抓。

手动抓:

  1. 浏览器登录 PikPak 网页版
  2. F12 → Application(应用)标签页 → 左侧 Local Storage → 点开 https://mypikpak.com
  3. 在右侧找以 credentials 或 pp_client_credentials 开头的 Key(或者直接搜 refresh_token)
  4. 点击它,在下方信息栏找到 "refresh_token": "xxxxxx",复制引号里那一串
  5. 粘贴到 AList 的“刷新令牌”输入框保存

说实话,如果你有会员,这一整节都可以跳过——直接用 WebDAV 驱动,稳定性完全不是一个量级。

四、把 AList 挂载到威联通 File Station

到这一步 AList 里能看到 PikPak 了,但威联通的 File Station 里还什么都没有。这两套系统是独立的:AList 是跑在容器里的独立服务,自己管一套虚拟目录;威联通默认根本不知道它的存在。

这里有个容易搞混的点:AList 存储里填的那个“挂载路径 /pikpak”,只是 AList 网页里的展示位置,跟威联通本地目录没有任何关系,不会自动出现在 File Station 里。必须手动装载一次。

AList 的 WebDAV 连接信息:

  • 地址:http://NAS的IP:5244/dav
  • 用户名:admin
  • 密码:你的 AList 管理员密码

在 File Station 里装载:

使用HybridMount文件型云网关app,可以把alist里面的文件夹挂载到里面去,或者使用下面的方法

  1. 打开 File Station(文件总管)
  2. 点右上角 “…” → 装载远程文件夹(部分版本叫“连接网络文件夹”)
  3. 连接类型选 WebDAV
  4. 填写:
    • 名称:PikPak_AList(随便起个好记的)
    • URL:http://NAS的IP:5244/dav —— 注意必须带 /dav 后缀
    • 用户名 / 密码:AList 的
  5. 点 测试,提示连接成功后再点确定

装载完成后,File Station 左侧就会多出这个网络文件夹,里面完整显示你在 AList 里挂载的 PikPak 内容。

有个小细节:地址填 127.0.0.1 或局域网 IP 都行,走本机回环还能省一跳。

五、把 PikPak 内容搬到 NAS 本地

挂载好之后,自然会想:能不能自动把 PikPak 里的东西“移动”到 NAS 本地,搬完就释放云端空间?

使用HBS 3

在HBS3 这个app里面,创建主动同步作业,选择移动,然后单向从挂载在File Station中的pikpak文件夹中内容移动到NAS里面一个文件夹,就可以实现搬完释放云端空间

小结

  1. 能用 WebDAV 就别用原生 PikPak 驱动。原生驱动要跟 refresh_token、人机验证、IP 风控长期斗争,WebDAV 把这些全绕开了。有会员的话没有任何理由选前者。
  2. 一个 PikPak 账号在 AList 里只挂一个存储项。多挂载点会互相踢 Token,是 4002 报错的高频来源。
  3. AList 的“挂载路径”和威联通的挂载点是两回事。前者只是 AList 网页里的目录位置,后者必须去 File Station 手动装载一次才会出现。
  4. HBS 3 是备份工具,不是搬运工具。要把云盘内容搬到本地并释放云端空间,用 rclone move 或自己的脚本,别指望同步任务。
  5. 永远不要对网络虚拟盘做“剪切”。先复制、再校验、最后手动删源,任何一步出问题都还有退路。
  6. PikPak 原生驱动下载报空地址时,先开“禁用媒体链接”。能列目录不等于能下载,勾上这个开关、换 FETCH 拿原始下载地址,是 2026-11-03 实测有效的办法。

文章作者: 小小胡
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小小胡 !
  目录