什么是 Changedetection?
Changedetection 是一款能提供网页监控服务的应用。当您关注的网页内容发生变化时,它会发送自动通知(例如通过电子邮件)。
部署(安装)
您提供的 docker run 指令已经包含了部署所需的所有关键配置(端口、数据卷、重启策略等)。
1. 一键部署指令
您可以直接在您的服务器或设备上运行以下指令来启动 Changedetection 容器:
sudo docker run -d \
--restart always \
-p "12008:5000" \
-v /vol1/docker/volumes/changedetection-data:/datastore \
--name changedetection.io \
dgtlmoon/changedetection.io
2. 指令详解
sudo docker run -d: 在后台 (Detached) 运行一个新的 Docker 容器。--restart always: 设置容器总是在退出时自动重启(例如服务器重启后)。-p "12008:5000": 端口映射 (Port Mapping)。这是关键部分,它将您主机(服务器)的12008端口映射到容器内部的5000端口。-v /vol1/docker/volumes/changedetection-data:/datastore: 数据卷挂载 (Volume Mounting)。这将您主机上的/vol1/docker/volumes/changedetection-data目录挂载到容器的/datastore目录。这样做可以持久化存储 Changedetection 的所有设置和数据,即使容器被删除或重建,您的配置也不会丢失。--name changedetection.io: 为这个容器指定一个易于识别的名称changedetection.io。dgtlmoon/changedetection.io: 指定要使用的 Docker 镜像 (Image)。如果本地没有这个镜像,Docker 会自动从 Docker Hub (Docker Hub - 容器镜像库) 上拉取。
3. (可选) 添加环境变量
如果您需要为 Changedetection 设置代理 (Proxy)(例如某些网站需要科学上网才能访问),可以在 docker run 指令中通过 -e 参数添加环境变量。
例如,添加一个 HTTPS_PROXY (HTTPS 代理):
sudo docker run -d \
--restart always \
-p "12008:5000" \
-v /vol1/docker/volumes/changedetection-data:/datastore \
-e HTTPS_PROXY="http://your.proxy.server:port" \
-e NO_PROXY="localhost,192.168.0.0/24" \
--name changedetection.io \
dgtlmoon/changedetection.io
4. 访问
部署成功后,您就可以通过浏览器访问 Changedetection 了。
地址栏输入:http://[您的主机IP地址]:12008
(请将 [您的主机IP地址] 替换为您运行 Docker 的那台机器的实际IP地址,例如 http://192.168.1.10:12008)。
设置
-
全局设置 (Global Settings):
- 访问主界面后,点击右上角的
SETTINGS(设置)。 - 在
Notification URL List(通知URL列表) 中设置通知方式。
- 访问主界面后,点击右上角的
-
通知设置 (Notification Setup):
- Changedetection 使用
apprise(Apprise - 一个通知库) 项目来实现通知功能。 - 以电子邮件通知为例:
- 邮件发送的 URL 地址格式如下:
mailto://{userid}:{password}@{domain}:{port}?smtp={smtp_server}&from={from_email}&to={to_email} - 参数说明:
userid: 登录 SMTP (Simple Mail Transfer Protocol - 简单邮件传输协议) 的用户名(您的邮箱账号)。password: 对应的密码(通常是邮箱的授权码,而非登录密码)。domain: 邮件的域地址(例如qq.com)。port: 邮件服务器端口(例如465或587)。smtp: SMTP 服务器地址(例如smtp.qq.com)。from: (可选) 回复邮箱地址。to: 收件邮箱地址。
- 国内邮箱配置示例(以88邮箱为例):
mailto://wbsu2003:[email protected]?smtp=smtp.88.com&[email protected]
(注意:示例中的password应替换为您的真实邮箱密码或授权码)
- 邮件发送的 URL 地址格式如下:
- Changedetection 使用
-
保存设置:
- 点击
Save(保存)。 - 如果勾选了
Send test notification on save(保存时发送测试通知),系统会立即发送一封测试邮件到您配置的邮箱。
- 点击
使用教程
1. 网页监控 (Web Page Monitoring)
- 在主界面的输入框中填入您想监控的网址。
- (可选) 填入一个
tag(标签),用于分类(例如:优惠信息)。 - 点击
Watch(监控)。 - 添加成功后,您可以点击
Edit(编辑) 进行进一步设置(例如更改检查频率),如果不修改,将使用全局默认设置。 - 当网页发生变化时,
Preview(预览) 会变成Diff(差异)。 - 点击
Diff(差异) 可以查看具体的变更内容:- 绿色 (Inserted Text): 新增的内容。
- 红色 (Removed text): 消失的内容。
2. JSON API 监控 (JSON API Monitoring)
Changedetection 也可以监控 JSON API (JSON API - JSON应用编程接口) 的数据变化。
-
获取API和JSONPath:
- 找到一个API网址(例如:天气API
http://t.weather.itboy.net/api/weather/city/101020100)。 - 使用
jsonpath.com这样的工具来测试并获取您想监控数据的 JSONPath (JSONPath - JSON查询语言) 表达式。 - 例如,如果想监控温度 (
wendu字段),对应的 JSONPath 可能是$.data.wendu。
- 找到一个API网址(例如:天气API
-
添加监控:
- 在 Changedetection 中添加该 API 网址,并设置一个
tag(标签)(例如:天气)。 - 点击
Watch(监控)。
- 在 Changedetection 中添加该 API 网址,并设置一个
-
配置过滤器:
- 添加成功后,点击
Edit(编辑)。 - 在
CSS/JSON Filter(CSS/JSON 过滤器) 选项中,输入json:前缀,然后跟上您的 JSONPath 表达式。 - 示例:
json:$.data.wendu
- 添加成功后,点击
-
保存:
- 保存设置。当API返回的温度数据发生变化时,系统就会发送通知。

正需要呢,这就来了。鸡腿送上。
好 装个试试
已经用了一段时间,规则过滤器难搞
@NSdesk #3 我是第一次用,尝试了一下,感觉还可以,过滤器功能还没用过