Skip to content
Muluo edited this page May 26, 2025 · 1 revision

Welcome to the Message_Forwarding wiki!

模块Wiki文档

概述

该模块用于监控 Android 系统的通知,并将特定的通知通过企业微信、钉钉或 Server酱³ 等方式转发给用户。模块脚本中包括了配置管理、通知获取、消息发送等功能,具有较高的灵活性和可配置性。

文件结构

  • config.conf:脚本的配置文件,包含了各种参数,如开启状态、应用 ID、Webhook 地址等。
  • log.log:记录脚本运行日志的文件。
  • time_wx:记录上次成功发送消息的时间的文件。
  • Low_battery:当电池电量过低时创建的标志文件。

重要变量

  • MODDIR:脚本所在目录。
  • work_weixin:是否启用微信功能,值为 1 时启用。
  • MF_bluetooth:是否启用蓝牙功能,值为 1 时启用。
  • serverchan_switch:是否启用 Server酱³ 推送。
  • wx_switch:是否启用微信推送。
  • dd_switch:是否启用钉钉推送。
  • Low_battery:定义的低电量阈值。
  • app_listblack_listwhite_list:用于过滤的应用和通知列表。

脚本流程

  1. 检查禁用标志:如果存在 disable 文件,则退出。
  2. 读取配置:读取 config.conf 文件,设置各种参数。
  3. 蓝牙状态检查:如果启用了蓝牙且蓝牙未开启,则退出。
  4. 日志管理:如果日志行数超过 100 行,则删除前 10 行以控制日志大小。
  5. 电量监测:使用 dumpsys battery 命令获取电池电量,并进行低电量提醒。
  6. 通知获取与处理
    • 使用 dumpsys notification 获取当前通知。
    • 根据配置的应用列表、黑名单和白名单过滤通知。
    • 将符合条件的通知通过配置的渠道推送(企业微信、钉钉、Server酱³)。
  7. 错误处理:对每次推送的结果进行检查,记录错误信息到日志。

函数说明

  • Forwarding(): 通过企业微信发送通知,处理发送失败的情况并记录日志。
  • dingtalk_push(): 通过钉钉发送通知,处理发送失败的情况并记录日志。
  • urlencode(): 对字符串进行 URL 编码,适用于发送的消息内容。
  • new_serverchan_push(): 通过Server酱³接口发送通知,处理发送失败的情况并记录日志。

配置示例

以下是 config.conf 文件的示例内容:

work_weixin=1
MF_bluetooth=1
serverchan_switch=1
serverchan_uid=your_uid
serverchan_sckey=your_sckey
wx_agentid=your_agentid
wx_corpid=your_corpid
wx_secret=your_secret
dd_Webhook=your_dingtalk_webhook
Low_battery=20
app=com.example.app
black_list=com.example.blacklist
white_list=com.example.whitelist
display_format=1

日志记录

所有推送结果和错误信息均会记录在 log.log 文件中,便于后续问题排查。

注意事项

  • 确保模块执行环境中已安装 curl,否则无法发送消息。
  • 配置文件中的参数需正确填写,确保各项服务能正常工作。

版本信息

该模块的版本为 2025052600,后继不再更新。