{ "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 } }