Add new admin panel, failover, dns fallback, providers, limiters. Update XHTTP
47
examples/admin_panel-manager-node/client.json
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"log": {
|
||||
"level": "error"
|
||||
},
|
||||
"dns": {
|
||||
"servers": [
|
||||
{
|
||||
"type": "local",
|
||||
"tag": "default"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"type": "mixed",
|
||||
"tag": "mixed-in",
|
||||
"listen_port": 7897
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"type": "direct",
|
||||
"tag": "direct"
|
||||
},
|
||||
{
|
||||
"type": "vless",
|
||||
"tag": "vless-out",
|
||||
"server": "0.0.0.0",
|
||||
"server_port": 443,
|
||||
"uuid": "9b65b7e1-04c8-4717-8f45-2aa61fd25937",
|
||||
"transport": {
|
||||
"type": "http"
|
||||
}
|
||||
}
|
||||
],
|
||||
"route": {
|
||||
"rules": [
|
||||
{
|
||||
"protocol": "dns",
|
||||
"action": "hijack-dns"
|
||||
}
|
||||
],
|
||||
"final": "vless-out",
|
||||
"default_domain_resolver": "default",
|
||||
"auto_detect_interface": true
|
||||
}
|
||||
}
|
||||
90
examples/admin_panel-manager-node/manager.json
Normal file
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"log": {
|
||||
"level": "info"
|
||||
},
|
||||
"dns": {
|
||||
"servers": [
|
||||
{
|
||||
"type": "local",
|
||||
"tag": "default"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inbounds": [],
|
||||
"outbounds": [
|
||||
{
|
||||
"type": "direct",
|
||||
"tag": "direct-out"
|
||||
}
|
||||
],
|
||||
"route": {
|
||||
"rules": [
|
||||
{
|
||||
"protocol": "dns",
|
||||
"action": "hijack-dns"
|
||||
}
|
||||
],
|
||||
"final": "direct-out"
|
||||
},
|
||||
"services": [
|
||||
{
|
||||
"type": "manager",
|
||||
"tag": "my-manager",
|
||||
"database": {
|
||||
"driver": "sqlite",
|
||||
"dsn": "file:manager.db?_pragma=foreign_keys(on)&_pragma=journal_mode(wal)&_pragma=busy_timeout(5000)" // also supported Postgresql
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "manager-api",
|
||||
"tag": "my-manager-api",
|
||||
"api_type": "server",
|
||||
"protocol_type": "http",
|
||||
"listen": "0.0.0.0",
|
||||
"listen_port": 8080,
|
||||
"manager": "my-manager",
|
||||
"api_key": "change-me-secret",
|
||||
"cors": {
|
||||
"allowed_origins": ["*"],
|
||||
"max_age": 600
|
||||
},
|
||||
// Enable TLS for production deployments:
|
||||
// "tls": { // https://sing-box.sagernet.org/configuration/shared/tls/#inbound
|
||||
// "enabled": true,
|
||||
// "server_name": "manager.example.com",
|
||||
// "certificate_path": "fullchain.pem",
|
||||
// "key_path": "privkey.pem"
|
||||
// }
|
||||
},
|
||||
{
|
||||
"type": "node-manager-api",
|
||||
"tag": "my-node-manager-api",
|
||||
"api_type": "server",
|
||||
"listen": "0.0.0.0",
|
||||
"listen_port": 7000,
|
||||
"manager": "my-manager",
|
||||
"api_key": "change-me-secret",
|
||||
// Enable TLS for production deployments (the node connects via gRPC over h2):
|
||||
// "tls": { // https://sing-box.sagernet.org/configuration/shared/tls/#inbound
|
||||
// "enabled": true,
|
||||
// "server_name": "example.com",
|
||||
// "alpn": "h2", // h3 for QUIC
|
||||
// "certificate_path": "fullchain.pem",
|
||||
// "key_path": "privkey.pem"
|
||||
// }
|
||||
},
|
||||
{
|
||||
"type": "admin-panel",
|
||||
"tag": "admin",
|
||||
"listen": "0.0.0.0",
|
||||
"listen_port": 8081,
|
||||
// Enable TLS for production deployments:
|
||||
// "tls": { // https://sing-box.sagernet.org/configuration/shared/tls/#inbound
|
||||
// "enabled": true,
|
||||
// "server_name": "panel.example.com",
|
||||
// "certificate_path": "fullchain.pem",
|
||||
// "key_path": "privkey.pem"
|
||||
// }
|
||||
}
|
||||
]
|
||||
}
|
||||
97
examples/admin_panel-manager-node/node.json
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"log": {
|
||||
"level": "debug"
|
||||
},
|
||||
"dns": {
|
||||
"servers": [
|
||||
{
|
||||
"type": "local",
|
||||
"tag": "default"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"type": "vless",
|
||||
"tag": "vless-in",
|
||||
"listen": "0.0.0.0",
|
||||
"listen_port": 443,
|
||||
"transport": {
|
||||
"type": "http"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"type": "direct",
|
||||
"tag": "direct-out"
|
||||
},
|
||||
{
|
||||
"type": "bandwidth-limiter",
|
||||
"tag": "bandwidth-limiter",
|
||||
"strategy": "manager",
|
||||
"route": {
|
||||
"final": "direct-out"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "rate-limiter",
|
||||
"tag": "rate-limiter",
|
||||
"strategy": "manager",
|
||||
"route": {
|
||||
"final": "bandwidth-limiter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "connection-limiter",
|
||||
"tag": "connection-limiter",
|
||||
"strategy": "manager",
|
||||
"route": {
|
||||
"final": "rate-limiter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "traffic-limiter",
|
||||
"tag": "traffic-limiter",
|
||||
"strategy": "manager",
|
||||
"route": {
|
||||
"final": "connection-limiter"
|
||||
}
|
||||
},
|
||||
],
|
||||
"route": {
|
||||
"rules": [
|
||||
{
|
||||
"protocol": "dns",
|
||||
"action": "hijack-dns"
|
||||
}
|
||||
],
|
||||
"final": "connection-limiter"
|
||||
},
|
||||
"services": [
|
||||
{
|
||||
"type": "node",
|
||||
"tag": "my-node",
|
||||
"uuid": "e6eceb84-ad66-474b-8641-142499db7c6e",
|
||||
"manager": "node-manager",
|
||||
"inbounds": ["vless-in"],
|
||||
"connection_limiters": ["connection-limiter"],
|
||||
"bandwidth_limiters": ["bandwidth-limiter"],
|
||||
"traffic_limiters": ["traffic-limiter"],
|
||||
"rate_limiters": ["rate-limiter"]
|
||||
},
|
||||
{
|
||||
"type": "node-manager-api",
|
||||
"tag": "node-manager",
|
||||
"api_type": "client",
|
||||
"server": "example.com",
|
||||
"server_port": 7000,
|
||||
"api_key": "change-me-secret",
|
||||
// "tls": { // https://sing-box.sagernet.org/configuration/shared/tls/#outbound
|
||||
// "enabled": true,
|
||||
// "server_name": "example.com",
|
||||
// "alpn": "h2" // h3 for QUIC
|
||||
// }
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
examples/admin_panel-manager-node/screens/desktop/00-login.png
Normal file
|
After Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 103 KiB |
BIN
examples/admin_panel-manager-node/screens/desktop/02-squads.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
BIN
examples/admin_panel-manager-node/screens/desktop/03-nodes.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
examples/admin_panel-manager-node/screens/desktop/04-users.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 106 KiB |
BIN
examples/admin_panel-manager-node/screens/mobile/00-login.png
Normal file
|
After Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 747 KiB |
BIN
examples/admin_panel-manager-node/screens/mobile/02-squads.png
Normal file
|
After Width: | Height: | Size: 182 KiB |
BIN
examples/admin_panel-manager-node/screens/mobile/03-nodes.png
Normal file
|
After Width: | Height: | Size: 213 KiB |
BIN
examples/admin_panel-manager-node/screens/mobile/04-users.png
Normal file
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 233 KiB |
|
After Width: | Height: | Size: 213 KiB |
|
After Width: | Height: | Size: 222 KiB |
|
After Width: | Height: | Size: 209 KiB |
BIN
examples/admin_panel-manager-node/screens/mobile/09-nav-open.png
Normal file
|
After Width: | Height: | Size: 230 KiB |