diff --git a/uptime.config.ts b/uptime.config.ts index acddf06..434c515 100644 --- a/uptime.config.ts +++ b/uptime.config.ts @@ -1,79 +1,28 @@ const pageConfig = { - // 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.net/', label: 'Blog' }, - { link: 'mailto:me@lyc8503.net', label: 'Email Me', highlight: true }, + { link: 'mailto:me@lyc8503.site', label: 'Email Me', highlight: true }, ], } const workerConfig = { - // Write KV at most every 3 minutes unless the status changed kvWriteCooldownMinutes: 3, - // Enable HTTP Basic auth for status page & API by uncommenting the line below, format `:` - // passwordProtection: 'username:password', - // Define all your monitors here + passwordProtection: 'username:password', monitors: [ - // Example HTTP Monitor { - // `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: 'My API Monitor', - // `method` should be a valid HTTP Method - method: 'POST', - // `target` is a valid URL - target: 'https://example.com', - // [OPTIONAL] `tooltip` is ONLY used at status page to show a tooltip - tooltip: 'This is a tooltip for this monitor', - // [OPTIONAL] `statusPageLink` is ONLY used for clickable link at status page - statusPageLink: 'https://example.com', - // [OPTIONAL] `expectedCodes` is an array of acceptable HTTP response codes, if not specified, default to 2xx - expectedCodes: [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', - // [OPTIONAL] if specified, the check will run in your specified region, - // refer to docs https://github.com/lyc8503/UptimeFlare/wiki/Geo-specific-checks-setup before setting this value - checkLocationWorkerRoute: 'https://xxx.example.com', + id: 'google_monitor', + name: 'My Google Monitor', + method: 'GET', + target: 'https://www.google.com' }, - // Example TCP Monitor { - id: 'test_tcp_monitor', - name: 'Example TCP Monitor', - // `method` should be `TCP_PING` for tcp monitors + id: 'ssh_monitor', + name: 'Example SSH Monitor', method: 'TCP_PING', - // `target` should be `host:port` for tcp monitors - target: '1.2.3.4:22', - tooltip: 'My production server SSH', - statusPageLink: 'https://example.com', - timeout: 5000, + target: '1.2.3.4:22' }, ], - notification: { - // [Optional] apprise API server URL - // if not specified, no notification will be sent - appriseApiServer: "https://apprise.example.com/notify", - // [Optional] recipient URL for apprise, refer to https://github.com/caronc/apprise - // if not specified, no notification will be sent - recipientUrl: "tgram://bottoken/ChatID", - // [Optional] timezone used in notification messages, default to "Etc/GMT" - timeZone: "Asia/Shanghai", - // [Optional] grace period in minutes before sending a notification - // notification will be sent only if the monitor is down for N continuous checks after the initial failure - // if not specified, notification will be sent immediately - gracePeriod: 5, - }, callbacks: { onStatusChange: async ( env: any, @@ -81,7 +30,7 @@ const workerConfig = { isUp: boolean, timeIncidentStart: number, timeNow: number, - reason: string + reason: string, ) => { // This callback will be called when there's a status change for any monitor // Write any Typescript code here @@ -94,7 +43,7 @@ const workerConfig = { monitor: any, timeIncidentStart: number, timeNow: number, - reason: string + reason: string, ) => { // This callback will be called EVERY 1 MINTUE if there's an on-going incident for any monitor // Write any Typescript code here