Skip to content

lgh06/web-page-monitor

Repository files navigation

web-page-monitor / 网页变动监控器

英语 / English

Web Site Page Changes Monitor.
Cloud watch & monitor web page's changes and updates.
Cloud or self-hosted, visualping.io and Distill alternative.
Crontab syntax supported.
Custom Node.js code snippet supported, node-fetch and puppeteer are builtin.

Alpha version released:
Online Cloud Service: Web Page Monitor
Github source code : Link

Chinese / 简体中文

网站网页页面更新变更监控提醒,云端检测网页变动更新。
云端 或 自部署, visualping / Distill 的替代品。
支持crontab定义任务执行时间。
支持自定义Node.js代码片段,可用node-fetchpuppeteer

抢先体验版已发布:
体验地址: 网页变动检测
源码: GithubCoding

Packages Intro (English)

  • web is the website, for end users to use. created by Next.js. Connected to MongoDB.
  • pptr is the puppeteer, connect RabbitMQ.
  • worker-scheduler connect to MongoDB and RabbitMQ
  • esm-loader NodeJS import(esm).then(..) from user defined js ( http URL ) .

主要子包介绍

  • web 最终用户使用的网站界面, 连接MongoDB
  • pptr puppeteer执行程序, 连接RabbitMQ
  • worker-scheduler 调度/分发控制器, 连接RabbitMQ与MongoDB
  • esm-loader NodeJS import(esm).then(..) from remote js ( http URL ) .

Requirements / Dependencies

Notice: if you are on windows, above two softwares' install path should only use ASCII compatible charactors.

Notice: If you are on other OS, install RabbitMQ manually.

  • MongoDB (5.0)
  • Node.JS (16)

Notice: For production, you should ensure your pm2 auto start after your OS boot. link
Notice: For production, you should ensure your MongoB and RabbitMQ auto start after your OS boot.
Notice: For production, RabbitMQ and web and MongoDB's server should have a permanent public Internet IP address.
Notice: For local development, you can install all of sub-packages on one machine, the machine should have Internet access.

Windows installers mirror for China users:
https://trip.feishu.cn/docs/doccnHqaEoNo48vzqyWqgkxkm1s

some helper bat scripts located at packages/vendor-scripts-n-configs/other_tools/ for start/stop mongodb/rabbitmq services.
Open them in GBK / GB2312 / ANSI encoding, or delete the non-english characters.
Please modify inner paths by yourself if you changed default install path or service name.

要求与依赖

注意:Windows安装Erlang、RabbitMQ时,安装路径不要有中文和奇怪符号,否则会安装失败

注意:如果您用其他操作系统, 自己安装好RabbitMQ.

  • MongoDB (5.0)
  • Node.JS (16)

注意:生产环境,您要确保pm2在您的系统中会自动启动。文档链接
注意:生产环境,您要确保MongoDB和RabbitMQ在您的系统中会自动启动。
注意:生产环境,RabbitMQ 和 web 和 MongoDB 所在服务器应该有固定公网IP。
注意:开发环境,可以把所有子包都部署在同一服务器上,有访问公网的权限即可,不必有公网IP.

Windows 各种安装包镜像:
https://trip.feishu.cn/docs/doccnHqaEoNo48vzqyWqgkxkm1s

packages/vendor-scripts-n-configs/other_tools/ 可以找到几个bat脚本,可以启动/停止 mongodb/rabbitmq 的服务.
用GBK / ANSI / GB2312编码打开,否则会乱码。
如果安装时修改了默认的路径或服务名,可以打开对应的文件,修改里面的路径。

ports

Next.js 3002

Run and Stop in Local / 本地,跑起来与停止

# inside project root folder
# without pm2
npm install && npm run dev  
# or with pm2
npm install && npm start
# if you are linux root, use below command to install 
# adduser someusername
# su -l someusername
# npm i

You need to quit manually because we used pm2
需要手动退出,因为用了pm2:

npm stop

postinstall

we executed bellow commands in postinstall:

installed pm2 and pm2-logrotate

git update-index --skip-worktree packages/helper/globalConfig.prod.mjs

and after installed packages/helper, we will generate a keypair for jwt use.

production

Modify packages\helper\globalConfig.prod.mjs
( mongodb / rabbitmq / dynJSPath / nodemailer )
and packages\web\.env.production
(nextHost / i18nDebug / mongodb)

other running notes

**packages/vendor-scripts-n-configs/README.md**
**packages/web/README.md**
**packages/worker-scheduler/README.md**
packages/helper/README.md
packages/esm-loader/README.md

License / 许可协议

see LICENSE.md

Other Notes

https://daniel-gehuan-liu.notion.site/Web-Page-Monitor-b5910402c741496ea46cecd1a055eb25
https://www.wolai.com/ahuan/xvh7PRocdkApx5p9rTmrDc
https://github.com/lgh06/web-page-monitor/projects/1

Data flow chart
Data flow chart

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy