全球主机交流论坛

标题: 漂亮的网站监控面板更新了,支持自定义 API 域名了【v1.5.1】 [打印本页]

作者: Mr.    时间: 2021-2-18 11:00
标题: 漂亮的网站监控面板更新了,支持自定义 API 域名了【v1.5.1】
本帖最后由 Mr. 于 2021-2-25 21:49 编辑

毕竟是起始于本论坛的项目,有大更新了还是习惯性的来报道一下。。

最近 UptimeRobot 官方的接口经常抽风,表现为响应头中丢失 CROS,导致跨域出错;
在两个 issue 的催更之后,今天终于新增了自定义 API 域名的配置,以及在 README 中说明了如何通过 Cloudflare Workers 搭建自己的接口反代;

有中使用这个面板的大佬,欢迎更新一波。

项目https://github.com/yb/uptime-status
下载https://github.com/yb/uptime-status/releases/download/v1.5.1/uptime-status.zip
演示https://status.org.cn/

食用说明见旧帖https://sunk.eu.org/thread-658354-1-1.html


谢谢各位大佬支持
作者: 独木    时间: 2021-2-18 11:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: 爱因斯坦    时间: 2021-2-18 11:04
在用 不错 待会去更新
作者: 侏罗纪    时间: 2021-2-18 11:04
邦定一下
作者: 流河旱树    时间: 2021-2-18 11:08
我有个疑问 既然用了async 为啥不再来个try和catch(err)
作者: naiba    时间: 2021-2-18 11:09
GitHub用户名可以,想看下楼主咪表
作者: hizhi    时间: 2021-2-18 11:09
支持下原创
作者: 小小白    时间: 2021-2-18 11:09
这是精品。
作者: Mr.    时间: 2021-2-18 11:10
流河旱树 发表于 2021-2-18 11:08
我有个疑问 既然用了async 为啥不再来个try和catch(err)

错了就让用户刷新去吧,不然 catch 了还要增加错误原因提示
作者: Mr.    时间: 2021-2-18 11:15
naiba 发表于 2021-2-18 11:09
GitHub用户名可以,想看下楼主咪表

我还有一个两字母的 GitHub 用户名,还是个单词
作者: CodyDoby    时间: 2021-2-18 11:17
abo.xyz 太帅了
作者: naiba    时间: 2021-2-18 11:18
Mr. 发表于 2021-2-18 11:15
我还有一个两字母的 GitHub 用户名,还是个单词

有咪表吗发一下给你接接盘
作者: hostloccom    时间: 2021-2-18 11:19
大佬的react玩的6,学习学习
作者: Mr.    时间: 2021-2-18 11:24
naiba 发表于 2021-2-18 11:18
有咪表吗发一下给你接接盘

米表没整理… 都是一些词汇类型的小众后缀,回头我整理一下…
作者: 1016797313    时间: 2021-2-18 11:51
很棒!感谢大佬
作者: b66667777    时间: 2021-2-18 12:02
感谢分享
作者: yang12me    时间: 2021-2-18 12:32
收藏
作者: Mio    时间: 2021-2-18 12:42
好东西,感谢分享
作者: 庞先生呀    时间: 2021-2-18 13:02
https://blog.loli.top/

可以把我博客加进去检测下
作者: ♠♣♥❤    时间: 2021-2-18 14:07
这个咋 安装的 。大佬。
作者: Mr.    时间: 2021-2-18 14:19
♠♣♥❤ 发表于 2021-2-18 14:07
这个咋 安装的 。大佬。

直接下载 zip 包,解压,修改 config.js 配置你的 key,
然后随便找个空间把文件传上去就行,不需要 php 等支持,阿里云 oss 都可以
作者: liyugui8    时间: 2021-2-18 14:40
支持支持  赞
作者: tianky    时间: 2021-2-18 14:42
支持原创
作者: tssz    时间: 2021-2-18 15:00
更新了还是跨域没解决,要自己反代域名吗?
作者: Mr.    时间: 2021-2-18 15:39
tssz 发表于 2021-2-18 15:00
更新了还是跨域没解决,要自己反代域名吗?

是的,参考 README 中的方法用 cf workers 搭建一个
或者你也可以把 config.js 中的 ApiDomain 设置为 uptimerobot.sino.workers.dev
但我不保证会不会超10万次请求哈
作者: hemake    时间: 2021-2-18 16:09
本帖最后由 hemake 于 2021-2-18 16:14 编辑

[quote]Mr. 发表于 2021-2-18 15:39
解决了。
作者: honey    时间: 2021-2-18 16:10
谢谢大佬 也想用这个看看
作者: Mr.    时间: 2021-2-18 16:14
hemake 发表于 2021-2-18 16:09
这个反代怎么搞的啊。。说的有点简单。
  let url = new URL(request.url);  填写什么域名
...

如果你会 cf workers,只要把那段代码粘贴过去就行了,啥都不用改
然后 config.js 中都 ApiDomain 改成你的 cf workers 域名
本来就是这么简单
作者: hemake    时间: 2021-2-18 16:15
Mr. 发表于 2021-2-18 16:14
如果你会 cf workers,只要把那段代码粘贴过去就行了,啥都不用改
然后 config.js 中都 ApiDomain 改成你 ...

谢谢。解决了。。。
作者: ccf    时间: 2021-2-18 16:25
演示站3分钟没打开。。。
作者: Mr.    时间: 2021-2-18 16:33
ccf 发表于 2021-2-18 16:25
演示站3分钟没打开。。。

演示站放在 vercel 的,虽然没有国内 cdn 但速度应该不比 cf 差
毕竟没有大佬赞助演示站空间,将就用吧
作者: honey    时间: 2021-2-18 16:36
被监测的域名有cdn缓存 会影响监测有效性吗哥
作者: Mr.    时间: 2021-2-18 16:40
honey 发表于 2021-2-18 16:36
被监测的域名有cdn缓存 会影响监测有效性吗哥

检测 不是我这个程序检测的啊。。是 uptime rebot 检测的。。
你的域名能打开就是能打开,不能打开就是不能打开
比如源服挂了,但套了 cdn 有缓存还能打开,那对于用户/检测来说,都是可以打开
作者: honey    时间: 2021-2-18 16:42
Mr. 发表于 2021-2-18 16:40
检测 不是我这个程序检测的啊。。是 uptime rebot 检测的。。
你的域名能打开就是能打开,不能打开就是不 ...

好的哥
作者: FXXK    时间: 2021-2-18 21:24
支持大佬 终于解决这个问题了
作者: tssz    时间: 2021-2-19 12:48
Mr. 发表于 2021-2-18 16:14
如果你会 cf workers,只要把那段代码粘贴过去就行了,啥都不用改
然后 config.js 中都 ApiDomain 改成你 ...

cf workers 怎么弄?
作者: 秒你一条街    时间: 2021-2-19 14:28
怎么没有系统信息,单纯的监控吗
作者: Mr.    时间: 2021-2-19 14:29
秒你一条街 发表于 2021-2-19 14:28
怎么没有系统信息,单纯的监控吗

这个是基于 uptimerobot 的面板,你可以先了解一下 uptimerobot
作者: 秒你一条街    时间: 2021-2-19 14:38
Mr. 发表于 2021-2-19 14:29
这个是基于 uptimerobot 的面板,你可以先了解一下 uptimerobot

了解了,还是有系统信息的更直观点
作者: airinf    时间: 2021-2-19 16:39
使用vercel搭建成功了
作者: Mr.    时间: 2021-2-19 18:11
airinf 发表于 2021-2-19 16:39
使用vercel搭建成功了

我的演示站就是在 vercel 的
作者: love5599    时间: 2021-2-25 13:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: fenglin2020    时间: 2021-2-25 13:38
Mark
作者: 大侠饶命    时间: 2021-2-25 13:42
你这个监控我刚来论坛的时候就有看到过,要是你也能做个好看的服务器监控就好了
作者: Mr.    时间: 2021-2-25 13:46
love5599 发表于 2021-2-25 13:34
最新版什么鬼?配置完key一直转圈圈,api的问题吗

uptimerobot 的 api 现在好像不支持跨域请求了,
你可以按 GitHub 仓库 readme 中写的用 cf workers 配置一个接口代理,
这就是最新版更新的内容。
作者: 魔鬼筋肉人    时间: 2021-2-25 13:47
请问下网站无法访问了可以微信通知吗
作者: love5599    时间: 2021-2-25 13:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: Mr.    时间: 2021-2-25 13:50
大侠饶命 发表于 2021-2-25 13:42
你这个监控我刚来论坛的时候就有看到过,要是你也能做个好看的服务器监控就好了 ...

也不是不行,就是服务器的监控面板已经很多了,竞争不过啊。。。
或者可以给某个比较常用的做个主题 皮肤 啥的美化一下
作者: Mr.    时间: 2021-2-25 13:52
魔鬼筋肉人 发表于 2021-2-25 13:47
请问下网站无法访问了可以微信通知吗

面板自身不提供监控服务,要配合 uptimerobot 使用,你说的这个要看 uptimerobot 支不支持
作者: 大侠饶命    时间: 2021-2-25 14:14
Mr. 发表于 2021-2-25 13:50
也不是不行,就是服务器的监控面板已经很多了,竞争不过啊。。。
或者可以给某个比较常用的做个主题 皮肤 ...

对对对!主题或者美化可以,其实论坛上那个Server Status挺简单了,我看了下中文美化版的其实也不好看。。装了prometheus和grafana,prometheus要暴露至少两个页面在公网又有点烦,netdata简单些,但是国内的机子很难装上
作者: zxxx    时间: 2021-2-25 15:57
本帖最后由 zxxx 于 2021-2-25 15:58 编辑


作者: 我是高富帅    时间: 2021-2-25 16:11
怎么安装、怎么使用、新手小白 求教
作者: Mr.    时间: 2021-2-25 16:20
我是高富帅 发表于 2021-2-25 16:11
怎么安装、怎么使用、新手小白 求教

之前的帖子 有教程:https://www.sunk.eu.org/thread-658354-1-1.html
作者: 老年先疯队队长    时间: 2021-2-25 19:36
https://status.apt.pp.ua/

可以的 展示一下白票的虚拟主机
作者: Mr.    时间: 2021-2-25 19:43
老年先疯队队长 发表于 2021-2-25 19:36
https://status.apt.pp.ua/

可以的 展示一下白票的虚拟主机

还是白票的域名
作者: 老年先疯队队长    时间: 2021-2-25 19:51
Mr. 发表于 2021-2-25 19:43
还是白票的域名

必须的  MJJ精神不能忘
作者: ymcoming    时间: 2021-2-25 20:04
我在workers里运行失败啊!楼主你还是没把事情讲清楚了嘛。config只换域名?还要换API KEY吧!

例子里的API KEY有4~5条,这是怎么回事?我要全删了吗?然后我那里只能生成一条仅读的API KEY,但放进去打开网站时提示没有权限。

而如果要专门放所有站点的全部KEY,那不是要累死!有10多个网站呢,我要放10多条专用指定网站的KEY吗?
作者: 老年先疯队队长    时间: 2021-2-25 20:08
ymcoming 发表于 2021-2-25 20:04
我在workers里运行失败啊!楼主你还是没把事情讲清楚了嘛。config只换域名?还要换API KEY吧!

例子里的A ...


参考我的 很简单  右键源码
作者: ymcoming    时间: 2021-2-25 20:13
老年先疯队队长 发表于 2021-2-25 20:08
参考我的 很简单  右键源码

谢谢,果然只有一条KEY
作者: ymcoming    时间: 2021-2-25 20:24
老年先疯队队长 发表于 2021-2-25 20:08
参考我的 很简单  右键源码

还是出错!,这里填啥?感觉太坑了,这些细节都没说清楚!

  // 站点链接
  SiteUrl:

不填出错,填x..workers.dev也出错!你这里是首页的域名,这个又是来自哪里?
作者: 老年先疯队队长    时间: 2021-2-25 20:36
本帖最后由 老年先疯队队长 于 2021-2-25 20:37 编辑
ymcoming 发表于 2021-2-25 20:24
还是出错!,这里填啥?感觉太坑了,这些细节都没说清楚!

  // 站点链接


SiteUrl:  随便填  填百度也行啊

  ApiDomain:  填你的workers


http://img.yakiin.net/  看我这个
作者: 1tv    时间: 2021-2-25 20:39

作者: Mr.    时间: 2021-2-25 20:46
老年先疯队队长 发表于 2021-2-25 20:36
SiteUrl:  随便填  填百度也行啊

  ApiDomain:  填你的workers

既然他觉得坑,别用就行,又没逼他用
别人都部署得好好的,到他这就说是我坑,咋地,还得上门服务么
从编程开始入门 还是从打字开始教

第一次见到这么理直气壮的
作者: 老年先疯队队长    时间: 2021-2-25 20:54
Mr. 发表于 2021-2-25 20:46
既然他觉得坑,别用就行,又没逼他用
别人都部署得好好的,到他这就说是我坑,咋地,还得上门服务么
从编 ...

大佬别气  小白也有小白的难处  不懂就问也是好事呢

当初我因为不懂NAT端口 还被商家发帖笑话呢
作者: Mr.    时间: 2021-2-25 20:59
老年先疯队队长 发表于 2021-2-25 20:54
大佬别气  小白也有小白的难处  不懂就问也是好事呢

当初我因为不懂NAT端口 还被商家发帖笑话呢 ...

这东西在论坛里一共发了3个帖子,加起来几百条回复,包括 GitHub 上的 issue,
有疑问的 有建议的 有不懂的,哪个我没好好回复
你不懂 NAT,你也不会发帖说商家坑你啊,这不是懂不懂的问题
作者: ymcoming    时间: 2021-2-25 21:20
好吧,这个我道歉,我估计我的问题在于uptime那边的页面加了密码,所以一直出问题。当然我已经删了,所以具体啥原因不明。但我要明确的告诉你,你的教程确实不清楚,有以下:

1、你的github页面前几天的教程,只说config里修改API域名就完事,根本没提修改KEY。config里提了修改key,但只需一条只读API即可吧,你那里添加了若干条KEY,我这出了问题,首先引导我去怀疑是否少添加了KEY

2、那public里的三个文件是要放www页上吧,我记得你也没明确说要放,因为以前fork一些关联workers的项目,是直接在github即可,没有说专门要放到web 服务器。

当然,最终我按上述思路完成后,还是提示没权限,于是就删了。不想玩了。总之白花了时间,很不爽。现在想来是当初uptime页面时添加了密码的原因,但不想再试了。
作者: Mr.    时间: 2021-2-25 21:40
ymcoming 发表于 2021-2-25 21:20
好吧,这个我道歉,我估计我的问题在于uptime那边的页面加了密码,所以一直出问题。当然我已经删了,所以具 ...

https://sunk.eu.org/thread-658354-1-1.html
作者: liceen    时间: 2021-2-25 21:44
确实很漂亮啊
作者: 疯狂痴呆    时间: 2021-2-25 22:15
弱弱的问下,只开放了大陆访问的站,要怎么搞
作者: Mr.    时间: 2021-2-25 22:23
疯狂痴呆 发表于 2021-2-25 22:15
弱弱的问下,只开放了大陆访问的站,要怎么搞

这个有点意思…
如果你是网站层面做的 可以识别 uptimerobot 的请求做个放行
如果是 DNS 层面做的… 要不再搞个代理 给 uptimerobot 去请求?
作者: ymcoming    时间: 2021-2-26 09:32
本帖最后由 ymcoming 于 2021-2-26 09:34 编辑

今天上午继续搞,终于搞定了,顶一下:

详细步骤:

1、cloudflare 的 workers里新建一个网页,源码如下,并记下生成的workers域名:

  1. const handleRequest = async ({ request }) => {
  2.   let url = new URL(request.url);
  3.   let response = await fetch('https://api.uptimerobot.com' + url.pathname, request);
  4.   response = new Response(response.body, response);
  5.   response.headers.set('Access-Control-Allow-Origin', '*');
  6.   response.headers.set('Access-Control-Allow-Methods', '*');
  7.   response.headers.set('Access-Control-Allow-Credentials', 'true');
  8.   response.headers.set('Access-Control-Allow-Headers', 'Content-Type,Access-Token');
  9.   response.headers.set('Access-Control-Expose-Headers', '*');
  10.   return response;
  11. }

  12. addEventListener('fetch', (event) => {
  13.   event.respondWith(handleRequest(event));
  14. });
复制代码


2、下载html包:https://github.com/yb/uptime-status/releases/download/v1.5.1/uptime-status.zip

3、解压并修改config里面的API域名为步骤1里的workers域名,并改API KEY 加入自己的only read KEY

4、把整个解压的html包,上传到web server去。

昨天的问题是:我不知道还要去下载压缩包,作者也没提这个。我是直接把作者的public目录拖回来了,这目录里少了些东西
作者: wangjy    时间: 2021-2-26 12:19
能不能直接main api 就不用一个一个生成了
作者: Mr.One    时间: 2021-2-26 23:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: dapoolsea    时间: 2021-3-2 17:54
不错,留个脚板印




欢迎光临 全球主机交流论坛 (https://sunk.eu.org/) Powered by Discuz! X3.4