!!! question "Since sing-box 1.12.0"
DERP service is a Tailscale DERP server, similar to derper.
{
  "type": "derp",
  
  ... // Listen Fields
  "tls": {},
  "config_path": "",
  "verify_client_endpoint": [],
  "verify_client_url": [],
  "home": "",
  "mesh_with": [],
  "mesh_psk": "",
  "mesh_psk_file": "",
  "stun": {}
}
See Listen Fields for details.
TLS configuration, see TLS.
==Required==
Derper configuration file path.
Example: derper.key
Tailscale endpoints tags to verify clients.
URL to verify clients.
Object format:
{
  "url": "https://my-headscale.com/verify",
  
  ... // Dial Fields
}
Setting Array value to a string __URL__ is equivalent to configuring:
{ "url": __URL__ }
What to serve at the root path. It may be left empty (the default, for a default homepage), blank for a blank page, or a URL to redirect to
Mesh with other DERP servers.
Object format:
{
  "server": "",
  "server_port": "",
  "host": "",
  "tls": {},
  
  ... // Dial Fields
}
Object fields:
server: Required DERP server address.server_port: Required DERP server port.host: Custom DERP hostname.tls: TLSDial Fields: Dial FieldsPre-shared key for DERP mesh.
Pre-shared key file for DERP mesh.
STUN server listen options.
Object format:
{
  "enabled": true,
  
  ... // Listen Fields
}
Object fields:
enabled: Required Enable STUN server.listen: Required STUN server listen address, default to ::.listen_port: Required STUN server listen port, default to 3478.other Listen Fields: Listen FieldsSetting stun value to a number __PORT__ is equivalent to configuring:
{ "enabled": true, "listen_port": __PORT__ }