Files
Lolia-Nodes-Status-Pages/uptime.config.ts
T
2026-08-01 00:17:36 +08:00

342 lines
9.5 KiB
TypeScript

// This is a simplified example config file for quickstart
// Some not frequently used features are omitted/commented out here
// For a full-featured example, please refer to `uptime.config.full.ts`
// Don't edit this line
import { MaintenanceConfig, PageConfig, WorkerConfig } from './types/config'
const pageConfig: PageConfig = {
// Title for your status page
title: "LoliaFRP节点外部监控",
// Links shown at the header of your status page, could set `highlight` to `true`
links: [
{ link: 'https://docs.lolia.link/', label: '查看文档' },
{ link: 'https://lolia.link', label: '返回官网', highlight: true },
],
}
const workerConfig: WorkerConfig = {
// Define all your monitors here
monitors: [
{
id: '37',
name: '阿里云北京-1',
method: 'TCP_PING',
target: 'cn-bj-3.qwq.fan:10000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '6',
name: '腾讯云北京-1',
method: 'TCP_PING',
target: 'cn-bj-1.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '40',
name: '腾讯云北京-2',
method: 'TCP_PING',
target: 'cn-bj-4.qwq.fan:30000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '29',
name: '百度云北京-1',
method: 'TCP_PING',
target: 'cn-bj-2.qwq.fan:20000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '49',
name: '[主力]上海移动-1',
method: 'TCP_PING',
target: 'speedtest.sh-2.qwq.fan:10721',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '33',
name: '上海阿里云-1',
method: 'TCP_PING',
target: 'cn-sh-1.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '10',
name: '阿里云杭州-1',
method: 'TCP_PING',
target: 'cn-hz-1.qwq.fan:10000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '32',
name: '青岛联通-1',
method: 'TCP_PING',
target: 'cn-qd-1.qwq.fan:12000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '14',
name: '阿里云武汉-1',
method: 'TCP_PING',
target: 'cn-wh-1.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '42',
name: '阿里云成都-1',
method: 'TCP_PING',
target: 'cn-cd-1.qwq.fan:37000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '50',
name: '成都电信-1',
method: 'TCP_PING',
target: 'cn-cd-2.qwq.fan:40000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '1',
name: '阿里云广州-1',
method: 'TCP_PING',
target: 'cn-gz-1.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '28',
name: '绍兴电信-1',
method: 'TCP_PING',
target: 'cn-sx-1.qwq.fan:20142',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '26',
name: '宁波联通-1',
method: 'TCP_PING',
target: 'cn-nb-4.qwq.fan:20000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '9',
name: '宁波电信-1',
method: 'TCP_PING',
target: 'cn-nb-1.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '22',
name: '[主力]西安电信-1',
method: 'TCP_PING',
target: 'speedtest.cn-xa-1.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '17',
name: '德阳电信-1',
method: 'TCP_PING',
target: 'cn-dy-1.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '18',
name: '中国香港-2',
method: 'TCP_PING',
target: 'hk-2.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '44',
name: '中国香港-3',
method: 'TCP_PING',
target: 'hk-3.qwq.fan:20001',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '30',
name: '中国香港-4',
method: 'TCP_PING',
target: 'hk-4.qwq.fan:10000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '34',
name: '中国香港-5',
method: 'TCP_PING',
target: 'hk-5.qwq.fan:40000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '35',
name: '中国香港-6',
method: 'TCP_PING',
target: 'hk-6.qwq.fan:17000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '45',
name: '中国香港-7',
method: 'TCP_PING',
target: 'hk-7.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '47',
name: '中国香港-8',
method: 'TCP_PING',
target: 'hk-8.qwq.fan:25566',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '13',
name: '中国台湾-1',
method: 'TCP_PING',
target: 'tw-1.qwq.fan:60000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '2',
name: '日本-1',
method: 'TCP_PING',
target: 'jp-1.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '7',
name: '日本-2',
method: 'TCP_PING',
target: 'jp-2.qwq.fan:7000',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '8',
name: '日本-4',
method: 'TCP_PING',
target: 'jp-4.qwq.fan:30001',
timeout: 8000,
checkProxy: 'worker://apac-ne'
},
{
id: '16',
name: '美国-1',
method: 'TCP_PING',
target: 'us-1.qwq.fan:37000',
timeout: 8000,
checkProxy: 'worker://enam'
},
{
id: '43',
name: '美国-2',
method: 'TCP_PING',
target: 'us-2.qwq.fan:60001',
timeout: 8000,
checkProxy: 'worker://enam'
},
{
id: '36',
name: '美国-4',
method: 'TCP_PING',
target: 'us-4.qwq.fan:10000',
timeout: 8000,
checkProxy: 'worker://enam'
},
{
id: '46',
name: '意大利-1',
method: 'TCP_PING',
target: 'it-1.qwq.fan:11452',
timeout: 8000,
checkProxy: 'worker://weur'
},
],
// [Optional] Notification settings
notification: {
// [Optional] Notification webhook settings, if not specified, no notification will be sent
// More info at Wiki: https://github.com/lyc8503/UptimeFlare/wiki/Setup-notification
webhook: {
// [Required] webhook URL (example: Telegram Bot API)
url: 'https://api.telegram.org/bot123456:ABCDEF/sendMessage',
// [Optional] HTTP method, default to 'GET' for payloadType=param, 'POST' otherwise
// method: 'POST',
// [Optional] headers to be sent
// headers: {
// foo: 'bar',
// },
// [Required] Specify how to encode the payload
// Should be one of 'param', 'json' or 'x-www-form-urlencoded'
// 'param': append url-encoded payload to URL search parameters
// 'json': POST json payload as body, set content-type header to 'application/json'
// 'x-www-form-urlencoded': POST url-encoded payload as body, set content-type header to 'x-www-form-urlencoded'
payloadType: 'x-www-form-urlencoded',
// [Required] payload to be sent
// $MSG will be replaced with the human-readable notification message
payload: {
chat_id: 12345678,
text: '$MSG',
},
// [Optional] timeout calling this webhook, in millisecond, default to 5000
timeout: 10000,
},
// [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,
},
}
// You can define multiple maintenances here
// During maintenance, an alert will be shown at status page
// Also, related downtime notifications will be skipped (if any)
// Of course, you can leave it empty if you don't need this feature
// const maintenances: MaintenanceConfig[] = []
const maintenances: MaintenanceConfig[] = [
{
// [Optional] Monitor IDs to be affected by this maintenance
monitors: ['50','13','17','34','44','36','7','9'],
// [Optional] default to "Scheduled Maintenance" if not specified
title: '温馨提示',
// Description of the maintenance, will be shown at status page
body: 'LoliaFRP 各节点及官网 API 等正在短时间内遭受频繁的 DDOS 攻击,对此如果节点出现不稳定现象敬请谅解,请各位非必要请勿随意泄露节点 IP,网站类应用可使用 CDN 服务器防护,另外有些节点因流量耗尽或其他原因无法使用,感谢大家的支持与理解!',
// Start time of the maintenance, in UNIX timestamp or ISO 8601 format
start: '2026-07-28T00:00:00+08:00',
// [Optional] end time of the maintenance, in UNIX timestamp or ISO 8601 format
// if not specified, the maintenance will be considered as on-going
end: '2026-09-10T00:00:00+08:00',
// [Optional] color of the maintenance alert at status page, default to "yellow"
color: 'blue',
},
]
// Don't edit this line
export { maintenances, pageConfig, workerConfig }