From ee1721ee22ca4469e3d516b58a35efe0ab2d43ea Mon Sep 17 00:00:00 2001 From: lyc8503 Date: Sun, 19 Nov 2023 12:14:33 +0800 Subject: [PATCH] use a more detailed example --- uptime.config.ts | 55 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/uptime.config.ts b/uptime.config.ts index 8b53dde..f0e5768 100644 --- a/uptime.config.ts +++ b/uptime.config.ts @@ -1,10 +1,12 @@ -// Refer to https://github.com/lyc8503/UptimeFlare/wiki/Configuration for detailed information - const config = { + // Your locale for server-side callback. (client-side will always follow browser settings) dateLocale: 'zh-CN', + // Your timezone for server-side callback. (client-side will always follow browser settings) timezone: 'Asia/Shanghai', page: { + // Title for your status page title: "lyc8503's Status Page", + // Links shown at the header of your status page, could set `highlight` to `true` links: [ { link: 'https://github.com/lyc8503', label: 'GitHub' }, { link: 'https://blog.lyc8503.site/', label: 'Blog' }, @@ -12,33 +14,52 @@ const config = { ], }, callback: async (statusChangeMsg: string) => { - // Add your own callback here + // Write any typescript here + // Example `statusChangeMsg` string: + // "❌My Blog went down at 2023/11/18 14:08:59 with error Timeout after 10000ms" + // "✔️My Blog came back up at 2023/11/18 14:10:48 after 2 minutes of downtime" + + // Example: + // await fetch('https://api.example.com/callback?msg=' + statusChangeMsg) }, + // Define all your monitors here monitors: [ + // Example HTTP Monitor { - id: 'github', + // `id` should be unique, history will be kept if the `id` remains constant + id: 'foo_monitor', + // `name` is used at status page and callback message name: 'Github Monitor', - method: 'GET', - target: 'https://github.com' - }, - { - id: 'cloudflare', - name: 'Cloudflare Monitor', - method: 'GET', - target: 'https://cloudflare.com', - timeout: 5000, + // `method` should be a valid HTTP Method + method: 'POST', + // `target` is a valid URL + target: 'https://example.com', + // [OPTIONAL] `expectedCode` is an array of acceptable HTTP response codes, if not specified, default to 2xx + expectedCode: [200], + // [OPTIONAL] `timeout` in millisecond, if not specified, default to 10000 + timeout: 10000, + // [OPTIONAL] headers to be sent headers: { 'User-Agent': 'Uptimeflare', - } + 'Authorization': 'Bearer YOUR_TOKEN_HERE' + }, + // [OPTIONAL] body to be sent + body: "Hello, world!", + // [OPTIONAL] if specified, the response must contains the keyword to be considered as operational. + responseKeyword: "success" }, + // Example TCP Monitor { - id: 'sshtest', - name: 'SSH Server', + id: 'test_tcp_monitor', + name: 'Example TCP Monitor', + // `method` should be `TCP_PING` for tcp monitors method: 'TCP_PING', - target: '1.1.1.1:22', + // `target` should be `host:port` for tcp monitors + target: '1.2.3.4:22', timeout: 5000 } ] } +// Don't forget this, otherwise compilation fails. export default config