Skip to content![]()
扫码开始移动端阅读
飞牛nas的MoviePilot使用企业微信通知及交互
共
1656
字 需要≈
8.28
分钟 NAS
其他
适用场景
本文适合希望通过企业微信接收 MoviePilot 通知、进行交互控制的用户,支持远程指令、消息推送等功能。
📷 成功界面
🐳 1. 微信代理容器部署
首先,部署企业微信消息代理容器,用于接收和转发来自企业微信的消息。
选择镜像说明:
ddsderek/wxchat
是一个轻量级、维护活跃、支持企业微信 API 消息转发的开源镜像,内置多种安全校验机制,适用于 MoviePilot 的 webhook 通信。替代方案:
qianlongo/wechat-work-proxy
,支持更细粒度的路由控制,但社区支持度较低。- 自行开发企业微信代理,灵活性高,但开发成本较大。
综上,
ddsderek/wxchat
提供了较好的开箱即用体验,适合快速部署和与 MoviePilot 集成。
dockerfile
version: '3.3'
services:
wxchat:
container_name: wxchat
restart: always
ports:
- '8080:80' # 8080 为示例端口,请根据需求开放服务器安全组
image: 'ddsderek/wxchat:latest'
注意
确保服务器的 8080 端口已在云服务安全组中放行。
🌐 2. 配置内网穿透(Frp)
2.0 Frp 简介
Frp 是一个专为内网穿透设计的高性能反向代理应用,允许部署在内网中的服务通过公网服务器暴露给外网用户访问。
为何需要 Frp?
- 企业微信的推送机制:企业微信服务器必须能够主动访问到你的 MoviePilot 接口,而大多数情况下 MoviePilot 部署在内网或无公网 IP 的环境下,外部网络无法直接访问。
- 解决方案:通过 Frp 将内网服务映射到公网,外网的企业微信服务器即可通过公网地址与本地 MoviePilot 服务通信。
企业微信需要访问你本地或内网的 MoviePilot 服务,需使用内网穿透工具 Frp 实现。
2.1 Frps - 服务端配置
ini
# frps.toml
bindPort = 8633
kcpBindPort = 8633
token = "你的FrpToken"
bindPort
: TCP 端口,示例为 8633kcpBindPort
: UDP 端口,可与 bindPort 相同token
: 强烈建议配置,增强 frp 安全性
2.2 Frpc - 客户端配置
ini
# frpc.toml
[common]
server_addr = "你的服务器公网IP"
server_port = 8633
token = "你的FrpToken"
[MP1]
type = "tcp"
local_ip = "192.168.xx.xx" # MoviePilot 内网地址
local_port = 3000 # MoviePilot 启动端口
remote_port = 6668 # 暴露到公网的端口
配置完成后,启动 frps 和 frpc 即可完成内网穿透。
🏢 3. 企业微信自建应用配置
权限配置建议
在创建企业微信自建应用时,建议开启以下权限以确保 MoviePilot 通知与交互功能正常使用:
- 消息推送与接收:允许接收并主动推送消息,确保能够接收指令和状态更新。
- 应用消息读写:使 MoviePilot 能够向指定用户或群组发送消息,支持
/status
、/restart
等指令的交互。 - 通讯录读取权限(可选):如需根据用户 ID 或部门 ID 发送个性化消息,可开启通讯录读取权限。
3.1 注册企业微信并创建应用
- 下载并登录 企业微信 App
- 进入 企业微信后台 后扫码登录
- 进入「应用管理」 > 创建应用
- 填写基本信息,推荐选择最上级部门,避免后续权限问题
- 上传应用图标,推荐使用 MoviePilot 官方 Logo (150×150)
3.2 消息接收服务器配置
进入「应用管理」 > 你的自建应用 > 「接收消息服务器」
配置 URL 和 Token:
bashhttp://你的域名/api/v1/message/?token=你的MP API令牌
获取 MoviePilot API Token:
- 打开 MP 后台 > 设定 > 系统 > API 令牌
生成并填写
Token
与EncodingAESKey
- 点击随机生成,复制保存,避免手动输入造成错误
可信任 IP
- 填写你服务器的公网 IP 地址
⚙️ 4. MoviePilot 通知渠道配置
- 打开 MoviePilot
- 左侧栏 > 设定 > 通知 >
+
- 选择「微信」
- 填写以下信息:
配置项 | 获取方式 |
---|---|
企业ID | 企业信息页面 最下方即可查看 |
应用 AgentId | 应用管理 > 自建应用 > AgentId |
应用 Secret | 同上页面下方,点击查看后复制 |
代理地址 | 例如 http://你的代理域名:8080/ |
Token | 企业微信自建应用时生成的 Token |
EncodingAESKey | 企业微信自建应用时生成的 EncodingAESKey |
重点
- 保证填写内容无多余空格和换行符
- Server IP 和端口务必与 Frp 保持一致
📝 5. 额外建议
- 推荐使用 HTTPS,保障安全性
- 企业微信需保持机器人应用在线状态
- 可结合 Jenkins、Docker 实现全自动部署
📌 6. 常见问题 FAQ
Q5: 如何启用企业微信消息加密模式?
A: 为了提升消息安全性,推荐开启企业微信的加密模式,具体步骤如下:
- 登录企业微信后台,进入「应用管理」 > 你的自建应用 > 「接收消息服务器」。
- 在消息加密方式选择「安全模式(推荐)」。
- 随机生成并填写
Token
与EncodingAESKey
,同时同步到 MoviePilot 和 wxchat 配置中,确保一致性。 - 确保使用 HTTPS 通信,提升安全性。
启用后,所有消息将以 AES 加密传输,降低数据泄露风险。
Q1: 服务器 IP、Token 是否暴露风险?
A: 是,建议使用防火墙限制 IP 访问,Token 定期更换。
Q2: frp 配置完成后,公网地址无法访问?
A: 请检查:
- frps 服务端是否启动成功
- 服务器安全组端口是否放行
- frpc 客户端配置 IP、端口是否正确
Q3: 企业微信收不到消息?
A: 请检查:
- 企业微信应用是否启用
- 消息接收服务器 URL 是否正确
- EncodingAESKey、Token 是否填写无误
Q4: 如何定位问题?
A:请检查
- 可以通过docker 容器里日志来查看错误信息
- 检查参数中是否包含空格等非法字符