Files
sing-box-extended/examples/mtproxy/server.json

84 lines
3.1 KiB
JSON

{
"log": {
"level": "error"
},
"dns": {
"servers": [
{
"type": "local",
"tag": "default"
}
]
},
"inbounds": [
{
"type": "mtproxy",
// https://sing-box.sagernet.org/configuration/shared/listen/
"listen": "0.0.0.0",
"listen_port": 3128,
"users": [
{
"name": "user1",
"secret": "7hBO-dCS4EBzenlKbdLFxyNnb29nbGUuY29t"
}
],
// concurrency is a size of the worker pool for connection management.
"concurrency": 8192,
// domain_fronting_port is a port we use to connect to a fronting domain.
"domain_fronting_port": 443,
// domain_fronting_ip is an IP address to use when connecting to the fronting
// domain instead of resolving the hostname from the secret via DNS.
"domain_fronting_ip": "",
// domain_fronting_proxy_protocol is used if communication between upstream
// endpoint and sing-box supports proxy protocol.
"domain_fronting_proxy_protocol": false,
// prefer_ip defines an IP connectivity preference. Valid values are:
// 'prefer-ipv4', 'prefer-ipv6', 'only-ipv4', 'only-ipv6'.
"prefer_ip": "prefer-ipv4",
// auto_update defines if it is required to auto update proxy list from
// Telegram instead of relying on a hardcoded list.
"auto_update": false,
// allow_fallback_on_unknown_dc defines how proxy behaves if unknown DC was
// requested. If this setting is set to false, then such connection will be
// rejected. Otherwise, proxy will chose any DC.
"allow_fallback_on_unknown_dc": false,
// tolerate_time_skewness is a time boundary that defines a time range where
// faketls timestamp is acceptable.
"tolerate_time_skewness": "",
// idle_timeout is a timeout for relay when we have to break a stream.
"idle_timeout": "5m",
// handshake_timeout is a timeout during which all handshake ceremonies must
// be completed, otherwise this process will be aborted
"handshake_timeout": "10s",
// doppelganger_urls is a list of URLs that should be crawled by
// sing-box to calculate parameters for statistical distribution of a
// traffic for fronting domains.
"doppelganger_urls": [],
// doppelganger_per_raid defines how many time each URL from
// doppelganger_urls list should be crawled per raid.
"doppelganger_per_raid": 10,
// doppelganger_each defines a time period between each raid. We recommend
// to use hours here.
"doppelganger_each": "6h",
// doppelganger_drs defines if TLS Dynamic Record Sizing is active.
"doppelganger_drs": false,
// throttle_max_connections is the total connection limit.
"throttle_max_connections": 0,
// throttle_check_interval is how often the throttle recomputes per-user
// caps.
"throttle_check_interval": "5s"
}
],
"outbounds": [
{
"type": "direct",
"tag": "direct"
}
],
"route": {
"final": "direct",
"default_domain_resolver": "default",
"auto_detect_interface": true
}
}