MoviePilot2.0微信通知

发布于 2025-02-20  7 次阅读


一、环境:

1.Moviepilot部署方式:docker,部署在无公网NAS上
2.云服务器vps:
用来做frp穿透、部署了nginx。
可用来解决企业微信所需的公网可信ip问题,用作微信消息代理服务器。

二、搭建微信消息代理服务器

通过具有公网的vps,nginx进行反代。

# HTTP服务器块,对80端口的请求进行重定向到HTTPS
server {
    listen 80 ;
    server_name xxxxx.com;

    # 重定向所有HTTP请求到相同的HTTPS地址
    return 301 https://$host$request_uri;
}

# HTTPS服务器块
server {
    gzip on;
    listen 443 ssl;
    http2 on;
    server_name xxxxx.com;

    # SSL证书和私钥的位置
    ssl_certificate /home/SSL/xxxxx.crt;
    ssl_certificate_key /home/SSL/xxxxx.key;

    ssl_session_timeout 5m;
    #请按照以下协议配置
    ssl_protocols TLSv1.2 TLSv1.3; 
    #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
    ssl_prefer_server_ciphers on;

    # 客户端超时设置
    client_body_timeout 600s;     # 客户端请求体读取超时时间
    client_header_timeout 600s;    # 客户端请求头读取超时时间
    keepalive_timeout 600s;       # 保持连接的超时时间

    # 配置反向代理
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Range $http_range;
        proxy_set_header If-Range $http_if_range;
        proxy_redirect off;
        proxy_pass http://127.0.0.1:4000;
        
        # 代理服务器超时设置 
        proxy_connect_timeout 600s; # 与后端服务器建立连接的超时时间
        proxy_send_timeout 600s;    # 向后端服务器发送请求的超时时间
        proxy_read_timeout 600s;    # 从后端服务器读取响应的超时时间

        # 设置上传文件的最大大小
        client_max_body_size 20000m;
    }
	
	location /cgi-bin/gettoken {
    		proxy_pass https://qyapi.weixin.qq.com;
	}
	location /cgi-bin/message/send {
	    proxy_pass https://qyapi.weixin.qq.com;
	}
	location  /cgi-bin/menu/create {
	    proxy_pass https://qyapi.weixin.qq.com;
	}

    # 访问日志和错误日志的路径
    access_log /var/log/nginx/xxxxx.access.log;
    error_log /var/log/nginx/xxxxx.error.log;
    
}

三、申请企业微信

申请时选择“其他组织”。

四、配置企业微信

1.

申请后在PC网页端登录企业微信,选择“我的企业”。记录企业id:"abcdefghijklmn"

2.

选择“应用管理”。在“自建”板块选择“创建应用”。记录AgentId:“1000005”、Secret:“afiyicbiaihuiubaiu123456789”

3.

将上述 “企业id”、“AgentId”、”Secret“ 填入MoviePilot中。点击 启用通知&确定&保存

4.

点击“接收消息API”

点击保存,如果提示openapi错误,检查输入的URL是否可以访问。以及“企业id”、“AgentId”、”Secret“ 受否正确填入MoviePilot的通知设置中。

5.

添加信任ip,将vps的公网ip填入到此。

至此,企业微信的设置完成。下面进行moviepilot的设置:

五、配置MoviePilot

5.1管理员白名单

通知设置--管理员白名单,如果不填写则全部企业微信成员均可使用企业微信菜单,如果填写则为白名单制度。需填入企业微信成员的账号id,id获取方式:"企业微信"-”工作台“-”管理企业“-”成员与部门管理“-点击用户显示的”账号“即为id

5.2通知类型

设置通知项目,按需设置。

设置通知范围,按需设置。

5.3用户绑定

"用户管理"处绑定的微信是 5.1小节 中的”企业微信成员账号id“。绑定后可以将此操作人的操作信息发送到该操作人的微信通知中。

方案1(推荐).企业微信的账号id要和moviepilot的用户名保持一致,否则用户在微信操作后无法发送操作通知给此用户的微信)。逻辑为”微信操作,记录微信用户名到操作记录“ -> ”在movipilot查找该用户,检测该用户的绑定微信id“ -> "在企业微信中查找此微信id并发送通知"。

方案2. 如果不用方案1,可以在moviepilot再添加一个用户,用户名于企业微信账号id保持一致,在新建的用户里绑定他的企业微信账号id。
例如小明的企业微信账号为xiaoming。他在movipilot的账户名为xm123。此时可以在moviepilot里新建一个用户名为xiaoming,且在用户设置里绑定微信”xiaoming“。此时他在微信操作时就会成功的收到通知。
他原来的moviepilot账号”xm123“也要绑定微信”xiaoming“,当小明用”xm123“登录moviepilot网页操作时也可收到微信通知。
使用”豆瓣想看“插件时,豆瓣id应绑定在新建立的moviepilot账号xiaoming上。

5.4目录通知

若入库时发送通知,需在目录设置处开启通知