{
	"logging": {
		"logs": {
			"default": {
				"writer": {
					"filename": "/var/log/caddy/debug.log",
					"output": "file",
					"roll_keep": 5,
					"roll_size_mb": 96
				},
				"level": "debug",
				"exclude": [
					"http.log.access.log0",
					"http.log.access.log1",
					"http.log.access.log2",
					"http.log.access.log3"
				]
			},
			"log0": {
				"writer": {
					"filename": "/var/log/caddy/biscuit-privacy-access.log",
					"output": "file"
				},
				"include": [
					"http.log.access.log0"
				]
			},
			"log1": {
				"writer": {
					"filename": "/var/log/caddy/slide-9533.log",
					"output": "file"
				},
				"include": [
					"http.log.access.log1"
				]
			},
			"log2": {
				"writer": {
					"filename": "/var/log/caddy/slide-website.log",
					"output": "file"
				},
				"encoder": {
					"format": "json"
				},
				"include": [
					"http.log.access.log2"
				]
			},
			"log3": {
				"writer": {
					"filename": "/var/log/caddy/sub-lb.log",
					"output": "file",
					"roll_keep": 10,
					"roll_size_mb": 96
				},
				"encoder": {
					"format": "json"
				},
				"include": [
					"http.log.access.log3"
				]
			}
		}
	},
	"apps": {
		"http": {
			"servers": {
				"srv0": {
					"listen": [
						":443"
					],
					"routes": [
						{
							"match": [
								{
									"host": [
										"api.trade-everything.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:8090"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"trade-everything.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3090"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"voicebridge-privacy.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:8001"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"gemini-official.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.reverse_proxy.upstream.hostport}"
																]
															}
														}
													},
													"transport": {
														"protocol": "http",
														"tls": {}
													},
													"upstreams": [
														{
															"dial": "generativelanguage.googleapis.com:443"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"clauderelay-lb.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "request_body",
													"max_size": 800000000
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"load_balancing": {
														"selection_policy": {
															"policy": "round_robin"
														}
													},
													"transport": {
														"protocol": "http",
														"read_timeout": 300000000000,
														"write_timeout": 300000000000
													},
													"upstreams": [
														{
															"dial": "localhost:3001"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"codex-relay.aihang365.com",
										"codex-claude.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:6005"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"claude-home.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																]
															}
														}
													},
													"upstreams": [
														{
															"dial": "localhost:8080"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"clauderelay-lb.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"health_checks": {
														"active": {
															"interval": 10000000000,
															"uri": "/health"
														}
													}
												}
											],
											"match": [
												{
													"path": [
														"/health"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"google-api.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "headers",
													"response": {
														"set": {
															"Access-Control-Allow-Origin": [
																"*"
															]
														}
													}
												},
												{
													"handler": "headers",
													"response": {
														"set": {
															"Access-Control-Allow-Methods": [
																"GET, POST, OPTIONS"
															]
														}
													}
												},
												{
													"handler": "headers",
													"response": {
														"set": {
															"Access-Control-Allow-Headers": [
																"*"
															]
														}
													}
												},
												{
													"handler": "request_body",
													"max_size": 50000000
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												}
											]
										},
										{
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "vars",
																	"root": "/var/www/google-api/privacy"
																},
																{
																	"handler": "rewrite",
																	"strip_path_prefix": "/privacy"
																},
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/privacy/*"
													]
												}
											]
										},
										{
											"handle": [
												{
													"handler": "static_response",
													"status_code": 204
												}
											],
											"match": [
												{
													"method": [
														"OPTIONS"
													]
												}
											]
										},
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"health_checks": {
														"active": {
															"interval": 30000000000,
															"uri": "/health"
														}
													},
													"load_balancing": {
														"selection_policy": {
															"policy": "round_robin"
														}
													},
													"upstreams": [
														{
															"dial": "localhost:8100"
														},
														{
															"dial": "localhost:8101"
														},
														{
															"dial": "localhost:8102"
														},
														{
															"dial": "localhost:8103"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"vedio-factory.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote.host}"
																],
																"X-Forwarded-Proto": [
																	"{http.request.scheme}"
																]
															}
														}
													},
													"upstreams": [
														{
															"dial": "localhost:3009"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"deepscientist.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "127.0.0.1:20999"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"claude-us.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3001"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"downloads.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/turing-cli"
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"browse": {},
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"sublb-claude.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:8082"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"github.satoshitech.xyz"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												}
											]
										},
										{
											"group": "group42",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"strip_path_prefix": "/codeload"
																},
																{
																	"handler": "reverse_proxy",
																	"headers": {
																		"request": {
																			"set": {
																				"Host": [
																					"{http.reverse_proxy.upstream.hostport}"
																				]
																			}
																		}
																	},
																	"transport": {
																		"protocol": "http",
																		"tls": {}
																	},
																	"upstreams": [
																		{
																			"dial": "codeload.github.com:443"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/codeload/*"
													]
												}
											]
										},
										{
											"group": "group42",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"strip_path_prefix": "/gist"
																},
																{
																	"handler": "reverse_proxy",
																	"headers": {
																		"request": {
																			"set": {
																				"Host": [
																					"{http.reverse_proxy.upstream.hostport}"
																				]
																			}
																		}
																	},
																	"transport": {
																		"protocol": "http",
																		"tls": {}
																	},
																	"upstreams": [
																		{
																			"dial": "gist.githubusercontent.com:443"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/gist/*"
													]
												}
											]
										},
										{
											"group": "group42",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"strip_path_prefix": "/raw"
																},
																{
																	"handler": "reverse_proxy",
																	"headers": {
																		"request": {
																			"set": {
																				"Host": [
																					"{http.reverse_proxy.upstream.hostport}"
																				]
																			}
																		}
																	},
																	"transport": {
																		"protocol": "http",
																		"tls": {}
																	},
																	"upstreams": [
																		{
																			"dial": "raw.githubusercontent.com:443"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/raw/*"
													]
												}
											]
										},
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.reverse_proxy.upstream.hostport}"
																],
																"X-Forwarded-Host": [
																	"{http.request.host}"
																]
															}
														}
													},
													"transport": {
														"protocol": "http",
														"tls": {}
													},
													"upstreams": [
														{
															"dial": "github.com:443"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"cookie-pool.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:8095"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"voicebridge.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"group": "group45",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:8004"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/api*"
													]
												}
											]
										},
										{
											"group": "group45",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:8890"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/ws*"
													]
												}
											]
										},
										{
											"group": "group45",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:8002"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/*"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"alert-price.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote.host}"
																],
																"X-Forwarded-Proto": [
																	"{http.request.scheme}"
																]
															}
														}
													},
													"upstreams": [
														{
															"dial": "localhost:8089"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"ultra-local.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:6015"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"headless-pm.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {},
														"zstd": {}
													},
													"handler": "encode",
													"prefer": [
														"zstd",
														"gzip"
													]
												}
											]
										},
										{
											"group": "group49",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "127.0.0.1:18069"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/api/*",
														"/health",
														"/status"
													]
												}
											]
										},
										{
											"group": "group49",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "127.0.0.1:13001"
																		}
																	]
																}
															]
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"sheerid.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3008"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"privacy.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/google-api/privacy/privacy"
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"pebble.tap365.org",
										"pebble.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"group": "group53",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:8007"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/api/*"
													]
												}
											]
										},
										{
											"group": "group53",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "vars",
																	"root": "/var/www/pebble-marketplace"
																}
															]
														},
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"uri": "{http.matchers.file.relative}"
																}
															],
															"match": [
																{
																	"file": {
																		"try_files": [
																			"{http.request.uri.path}",
																			"/index.html"
																		]
																	}
																}
															]
														},
														{
															"handle": [
																{
																	"encodings": {
																		"gzip": {}
																	},
																	"handler": "encode",
																	"prefer": [
																		"gzip"
																	]
																},
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"openclaw.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3026"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"indextts.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "request_body",
													"max_size": 200000000
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												}
											]
										},
										{
											"group": "group56",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"strip_path_prefix": "/tester"
																}
															]
														},
														{
															"handle": [
																{
																	"handler": "vars",
																	"root": "/var/www/indextts-tester"
																}
															]
														},
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"uri": "{http.matchers.file.relative}"
																}
															],
															"match": [
																{
																	"file": {
																		"try_files": [
																			"{http.request.uri.path}",
																			"/index.html"
																		]
																	}
																}
															]
														},
														{
															"handle": [
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/tester*"
													]
												}
											]
										},
										{
											"group": "group56",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:17862"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"header": {
														"X-Api-Key": [
															"c26928204b928c74fea9e4e28266f7437fb341e3ec8e6a2a"
														]
													}
												}
											]
										},
										{
											"group": "group56",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:17862"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"header": {
														"Authorization": [
															"Bearer c26928204b928c74fea9e4e28266f7437fb341e3ec8e6a2a"
														]
													}
												}
											]
										},
										{
											"handle": [
												{
													"body": "Unauthorized",
													"handler": "static_response",
													"status_code": 401
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"ccswitch.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:18083"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"sub-lb80.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/srv/sub2api-80/current/frontend-dist"
												}
											]
										},
										{
											"handle": [
												{
													"handler": "headers",
													"response": {
														"set": {
															"Cache-Control": [
																"no-cache, no-store, must-revalidate"
															]
														}
													}
												}
											],
											"match": [
												{
													"path": [
														"/",
														"/index.html"
													]
												}
											]
										},
										{
											"handle": [
												{
													"encodings": {
														"gzip": {},
														"zstd": {}
													},
													"handler": "encode",
													"prefer": [
														"zstd",
														"gzip"
													]
												}
											]
										},
										{
											"group": "group59",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "headers",
																	"response": {
																		"set": {
																			"Cache-Control": [
																				"public, max-age=31536000, immutable"
																			]
																		}
																	}
																},
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/assets/*",
														"/favicon.ico",
														"/logo.png"
													]
												}
											]
										},
										{
											"group": "group59",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "127.0.0.1:8090"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/api/*",
														"/v1/*",
														"/v1beta/*",
														"/antigravity/*",
														"/setup/*",
														"/health",
														"/responses"
													]
												}
											]
										},
										{
											"group": "group59",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"uri": "{http.matchers.file.relative}"
																}
															],
															"match": [
																{
																	"file": {
																		"try_files": [
																			"{http.request.uri.path}",
																			"/index.html"
																		]
																	}
																}
															]
														},
														{
															"handle": [
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"storage.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:9500"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"scripts.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/scripts"
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"browse": {},
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"nexusai.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3010"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"apps.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/aihang365/apps"
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"biscuit.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote.host}"
																],
																"X-Forwarded-Proto": [
																	"{http.request.scheme}"
																]
															}
														}
													},
													"upstreams": [
														{
															"dial": "localhost:9532"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"youtube.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3006"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"macbook.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:6012"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"xuefeng.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3031"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"wechat.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote.host}"
																],
																"X-Forwarded-Proto": [
																	"{http.request.scheme}"
																]
															}
														}
													},
													"upstreams": [
														{
															"dial": "localhost:3018"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"permit.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote.host}"
																],
																"X-Forwarded-Proto": [
																	"{http.request.scheme}"
																]
															}
														}
													},
													"upstreams": [
														{
															"dial": "localhost:9600"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"sub-lb.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/srv/sub2api-80/current/frontend-dist"
												}
											]
										},
										{
											"handle": [
												{
													"handler": "headers",
													"response": {
														"set": {
															"Cache-Control": [
																"no-cache, no-store, must-revalidate"
															]
														}
													}
												}
											],
											"match": [
												{
													"path": [
														"/",
														"/index.html"
													]
												}
											]
										},
										{
											"handle": [
												{
													"encodings": {
														"gzip": {},
														"zstd": {}
													},
													"handler": "encode",
													"prefer": [
														"zstd",
														"gzip"
													]
												}
											]
										},
										{
											"group": "group71",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "vars",
																	"root": "/var/www/html"
																},
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/turing/*"
													]
												}
											]
										},
										{
											"group": "group71",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "headers",
																	"response": {
																		"set": {
																			"Cache-Control": [
																				"public, max-age=31536000, immutable"
																			]
																		}
																	}
																},
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/assets/*",
														"/favicon.ico",
														"/logo.png"
													]
												}
											]
										},
										{
											"group": "group71",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"health_checks": {
																		"active": {
																			"interval": 10000000000,
																			"uri": "/health"
																		},
																		"passive": {
																			"fail_duration": 30000000000,
																			"max_fails": 1
																		}
																	},
																	"load_balancing": {
																		"selection_policy": {
																			"policy": "weighted_round_robin",
																			"weights": [
																				3,
																				5,
																				3
																			]
																		}
																	},
																	"upstreams": [
																		{
																			"dial": "31.58.223.35:38090"
																		},
																		{
																			"dial": "127.0.0.1:8090"
																		},
																		{
																			"dial": "103.114.163.226:28090"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/api/*",
														"/v1/*",
														"/v1beta/*",
														"/antigravity/*",
														"/setup/*",
														"/health",
														"/responses"
													]
												}
											]
										},
										{
											"group": "group71",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"uri": "{http.matchers.file.relative}"
																}
															],
															"match": [
																{
																	"file": {
																		"try_files": [
																			"{http.request.uri.path}",
																			"/index.html"
																		]
																	}
																}
															]
														},
														{
															"handle": [
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"status.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:8097"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"mason1.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:6013"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"turing.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/turing-cli"
												}
											]
										},
										{
											"handle": [
												{
													"handler": "static_response",
													"headers": {
														"Location": [
															"/v1.0.2/"
														]
													},
													"status_code": 302
												}
											],
											"match": [
												{
													"path": [
														"/"
													]
												}
											]
										},
										{
											"handle": [
												{
													"encodings": {
														"gzip": {},
														"zstd": {}
													},
													"handler": "encode",
													"prefer": [
														"zstd",
														"gzip"
													]
												}
											]
										},
										{
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"strip_path_prefix": "/feedback-api"
																}
															]
														},
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "127.0.0.1:18666"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/feedback-api/*"
													]
												}
											]
										},
										{
											"handle": [
												{
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"learn.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/html/learn"
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"codex.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:6004"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"relay.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "vars",
																	"root": "/opt/relay-downloads"
																}
															]
														},
														{
															"group": "group14",
															"handle": [
																{
																	"handler": "rewrite",
																	"uri": "{http.request.uri.path}"
																}
															]
														},
														{
															"handle": [
																{
																	"browse": {},
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/downloads/*"
													]
												}
											]
										},
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3088"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"slide.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/slide-website"
												},
												{
													"handler": "headers",
													"response": {
														"set": {
															"Strict-Transport-Security": [
																"max-age=31536000; includeSubDomains; preload"
															],
															"X-Content-Type-Options": [
																"nosniff"
															],
															"X-Frame-Options": [
																"DENY"
															],
															"X-Xss-Protection": [
																"1; mode=block"
															]
														}
													}
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"prism.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote.host}"
																],
																"X-Forwarded-Proto": [
																	"{http.request.scheme}"
																]
															}
														}
													},
													"upstreams": [
														{
															"dial": "localhost:3020"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"otter.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3025"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"clash.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/clash-config"
												},
												{
													"handler": "headers",
													"response": {
														"set": {
															"Access-Control-Allow-Origin": [
																"*"
															],
															"Content-Type": [
																"text/yaml; charset=utf-8"
															]
														}
													}
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"sublb.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "static_response",
													"headers": {
														"Location": [
															"https://sub-lb.tap365.org{http.request.uri}"
														]
													},
													"status_code": 301
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"drama.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3027"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"nomad.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "authentication",
													"providers": {
														"http_basic": {
															"accounts": [
																{
																	"password": "$2a$14$4pSALkZ./iICkk07mloz..Ebdf.oJda.bKJt9mtoHr9FfzRnRzoVy",
																	"username": "mason"
																}
															],
															"hash": {
																"algorithm": "bcrypt"
															},
															"hash_cache": {}
														}
													}
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:6014"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"news.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:18082"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"grok.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote.host}"
																],
																"X-Forwarded-Proto": [
																	"{http.request.scheme}"
																]
															}
														}
													},
													"upstreams": [
														{
															"dial": "localhost:6001"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"chat.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:18083"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"mac.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:6011"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"api.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "127.0.0.1:8090"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						}
					],
					"logs": {
						"logger_names": {
							"slide.tap365.org": [
								"log2"
							],
							"sub-lb.tap365.org": [
								"log3"
							]
						},
						"skip_hosts": [
							"alert-price.tap365.org",
							"api.tap365.org",
							"api.trade-everything.aihang365.com",
							"apps.aihang365.com",
							"biscuit.tap365.org",
							"ccswitch.tap365.org",
							"chat.tap365.org",
							"clash.tap365.org",
							"claude-home.aihang365.com",
							"claude-us.aihang365.com",
							"clauderelay-lb.aihang365.com",
							"clauderelay-lb.tap365.org",
							"codex-claude.aihang365.com",
							"codex-relay.aihang365.com",
							"codex.tap365.org",
							"cookie-pool.tap365.org",
							"deepscientist.tap365.org",
							"downloads.aihang365.com",
							"drama.tap365.org",
							"gemini-official.aihang365.com",
							"github.satoshitech.xyz",
							"google-api.aihang365.com",
							"grok.tap365.org",
							"headless-pm.tap365.org",
							"indextts.tap365.org",
							"learn.tap365.org",
							"mac.tap365.org",
							"macbook.tap365.org",
							"mason1.tap365.org",
							"news.tap365.org",
							"nexusai.tap365.org",
							"nomad.tap365.org",
							"openclaw.tap365.org",
							"otter.tap365.org",
							"pebble.aihang365.com",
							"pebble.tap365.org",
							"permit.tap365.org",
							"prism.tap365.org",
							"privacy.aihang365.com",
							"relay.tap365.org",
							"scripts.tap365.org",
							"sheerid.aihang365.com",
							"status.tap365.org",
							"storage.tap365.org",
							"sub-lb80.tap365.org",
							"sublb-claude.tap365.org",
							"sublb.tap365.org",
							"trade-everything.aihang365.com",
							"turing.tap365.org",
							"ultra-local.tap365.org",
							"vedio-factory.tap365.org",
							"voicebridge-privacy.tap365.org",
							"voicebridge.tap365.org",
							"wechat.tap365.org",
							"xuefeng.tap365.org",
							"youtube.tap365.org"
						]
					}
				},
				"srv1": {
					"listen": [
						":80"
					],
					"routes": [
						{
							"match": [
								{
									"host": [
										"ai-watermark-remover.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/ai-watermark-remover"
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"relay-main.aihang365.com",
										"clauderelay-usa.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "request_body",
													"max_size": 100000000
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3001"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"downloads.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "vars",
													"root": "/var/www/html/downloads"
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"browse": {},
													"handler": "file_server",
													"hide": [
														"/etc/caddy/Caddyfile"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"feedback.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:5002"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"banana.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:3005"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"models.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handler": "request_body",
													"max_size": 100000000
												},
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												}
											]
										},
										{
											"group": "group96",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "vars",
																	"root": "/var/www/models"
																},
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/status-data.json"
													]
												}
											]
										},
										{
											"group": "group96",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"strip_path_prefix": "/claude"
																},
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:3001"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/claude/*"
													]
												}
											]
										},
										{
											"group": "group96",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "rewrite",
																	"strip_path_prefix": "/gemini"
																},
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:8100"
																		}
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/gemini/*"
													]
												}
											]
										},
										{
											"group": "group96",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "vars",
																	"root": "/var/www/models"
																}
															]
														},
														{
															"group": "group7",
															"handle": [
																{
																	"handler": "rewrite",
																	"uri": "/status.html"
																}
															]
														},
														{
															"handle": [
																{
																	"handler": "file_server",
																	"hide": [
																		"/etc/caddy/Caddyfile"
																	]
																}
															]
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/status"
													]
												}
											]
										},
										{
											"group": "group96",
											"handle": [
												{
													"handler": "subroute",
													"routes": [
														{
															"handle": [
																{
																	"handler": "reverse_proxy",
																	"upstreams": [
																		{
																			"dial": "localhost:6005"
																		}
																	]
																}
															]
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"queue.aihang365.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "localhost:8080"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						},
						{
							"match": [
								{
									"host": [
										"monitor.tap365.org"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"encodings": {
														"gzip": {}
													},
													"handler": "encode",
													"prefer": [
														"gzip"
													]
												},
												{
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Real-Ip": [
																	"{http.request.remote.host}"
																]
															}
														}
													},
													"transport": {
														"protocol": "http",
														"tls": {
															"insecure_skip_verify": true
														}
													},
													"upstreams": [
														{
															"dial": "localhost:32552"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						}
					]
				},
				"srv10": {
					"listen": [
						":9999"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/var/www/scripts"
								}
							]
						},
						{
							"match": [
								{
									"path": [
										"/"
									]
								}
							],
							"handle": [
								{
									"handler": "authentication",
									"providers": {
										"http_basic": {
											"accounts": [
												{
													"password": "$2a$14$PPCqcYdtvUuIog5j0CoaTOrQadQdfwWKcug8OLjR/aiEyc4G0mCdS",
													"username": "admin"
												}
											],
											"hash": {
												"algorithm": "bcrypt"
											},
											"hash_cache": {}
										}
									}
								}
							]
						},
						{
							"handle": [
								{
									"encodings": {
										"gzip": {}
									},
									"handler": "encode",
									"prefer": [
										"gzip"
									]
								},
								{
									"browse": {},
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					]
				},
				"srv2": {
					"listen": [
						":8080"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/var/www/html"
								},
								{
									"browse": {},
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					]
				},
				"srv3": {
					"listen": [
						":8899"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/var/www/btc-price"
								},
								{
									"encodings": {
										"gzip": {}
									},
									"handler": "encode",
									"prefer": [
										"gzip"
									]
								},
								{
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					]
				},
				"srv4": {
					"listen": [
						":9200"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/var/www/turing-cli"
								},
								{
									"encodings": {
										"gzip": {}
									},
									"handler": "encode",
									"prefer": [
										"gzip"
									]
								},
								{
									"browse": {},
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					]
				},
				"srv5": {
					"listen": [
						":9527"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/var/www/html"
								},
								{
									"handler": "headers",
									"response": {
										"set": {
											"Access-Control-Allow-Origin": [
												"*"
											],
											"Content-Type": [
												"text/yaml; charset=utf-8"
											]
										}
									}
								},
								{
									"encodings": {
										"gzip": {}
									},
									"handler": "encode",
									"prefer": [
										"gzip"
									]
								},
								{
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					]
				},
				"srv6": {
					"listen": [
						":9532"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/www/biscuit-privacy"
								},
								{
									"encodings": {
										"gzip": {}
									},
									"handler": "encode",
									"prefer": [
										"gzip"
									]
								},
								{
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					],
					"logs": {
						"default_logger_name": "log0"
					}
				},
				"srv7": {
					"listen": [
						":9533"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/var/www/slide"
								},
								{
									"handler": "headers",
									"response": {
										"replace": {
											"Access-Control-Allow-Headers": [
												{
													"replace": "Authorization",
													"search_regexp": "Content-Type,"
												}
											],
											"Access-Control-Allow-Methods": [
												{
													"replace": "POST,",
													"search_regexp": "GET,"
												}
											]
										},
										"set": {
											"Access-Control-Allow-Origin": [
												"*"
											],
											"Options": [
												""
											]
										}
									}
								},
								{
									"encodings": {
										"gzip": {}
									},
									"handler": "encode",
									"prefer": [
										"gzip"
									]
								},
								{
									"browse": {},
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					],
					"logs": {
						"default_logger_name": "log1"
					}
				},
				"srv8": {
					"listen": [
						":9600"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/var/www/skills-market"
								},
								{
									"handler": "headers",
									"response": {
										"set": {
											"Access-Control-Allow-Origin": [
												"*"
											]
										}
									}
								},
								{
									"encodings": {
										"gzip": {}
									},
									"handler": "encode",
									"prefer": [
										"gzip"
									]
								},
								{
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					]
				},
				"srv9": {
					"listen": [
						":9998"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "vars",
									"root": "/var/www/scripts"
								},
								{
									"encodings": {
										"gzip": {}
									},
									"handler": "encode",
									"prefer": [
										"gzip"
									]
								},
								{
									"browse": {},
									"handler": "file_server",
									"hide": [
										"/etc/caddy/Caddyfile"
									]
								}
							]
						}
					]
				}
			}
		}
	}
}
