{
  "peer": {
    "host": "0.peerjs.com",
    "port": 443,
    "secure": true,
    "path": "/",
    "config": {
      "iceServers": [
        {
          "urls": "stun:stun.cloudflare.com:3478"
        },
        {
          "urls": "stun:stun.nextcloud.com:443"
        },
        {
          "urls": [
            "stun:cc2f56eeb2ee37a5bff6ebaf.metered.ca:80",
            "stun:cc2f56eeb2ee37a5bff6ebaf.metered.ca:443"
          ],
          "username": "cc2f56eeb2ee37a5bff6ebaf",
          "credential": "aXlWwWgM9Tp0acg/"
        },
        {
          "urls": [
            "turn:cc2f56eeb2ee37a5bff6ebaf.metered.ca:80",
            "turn:cc2f56eeb2ee37a5bff6ebaf.metered.ca:443"
          ],
          "username": "cc2f56eeb2ee37a5bff6ebaf",
          "credential": "aXlWwWgM9Tp0acg/"
        },
        {
          "urls": "turn:cc2f56eeb2ee37a5bff6ebaf.metered.ca:443?transport=tcp",
          "username": "cc2f56eeb2ee37a5bff6ebaf",
          "credential": "aXlWwWgM9Tp0acg/"
        },
        {
          "urls": "turns:cc2f56eeb2ee37a5bff6ebaf.metered.ca:443?transport=tcp",
          "username": "cc2f56eeb2ee37a5bff6ebaf",
          "credential": "aXlWwWgM9Tp0acg/"
        },
        {
          "urls": "stun:stun.l.google.com:19302"
        },
        {
          "urls": "stun:stun1.l.google.com:19302"
        },
        {
          "urls": "stun:stun2.l.google.com:19302"
        },
        {
          "urls": "stun:stun3.l.google.com:19302"
        }
      ],
      "iceTransportPolicy": "all",
      "iceCandidatePoolSize": 5
    },
    "debug": 2,
    "servers": [
      {
        "host": "0.peerjs.com",
        "port": 443,
        "secure": true,
        "path": "/",
        "label": "PeerJS官方-直连"
      },
      {
        "host": "peerjs.92k.de",
        "port": 443,
        "secure": true,
        "path": "/",
        "label": "92k-备用"
      }
    ],
    "proxy": {
      "enabled": true,
      "host": "1od.dpdns.org",
      "port": 443,
      "secure": true,
      "target": "0.peerjs.com",
      "targetPort": 443,
      "label": "1od代理->PeerJS"
    },
    "connectTimeoutMs": 3000
  },
  "mqtt": {
    "broker": "broker.emqx.io",
    "port": 8084,
    "path": "/mqtt",
    "proxy_host": "1od.dpdns.org",
    "topic": "p1-chat/lobby/heartbeat-v3",
    "proxy_path": "",
    "fallback_proxy": "p2p-signal.obskoo0o.workers.dev",
    "signalTopicPrefix": "p1-chat/signal/",
    "signalEnabled": true,
    "signalConnectTimeoutMs": 20000,
    "signalMessageTtlMs": 30000
  },
  "hub": {
    "prefix": "p1-hub-v3-",
    "count": 5,
    "max_peers_normal": 350,
    "max_peers_hub": 500
  },
  "params": {
    "ttl": 16,
    "gossip_size": 20,
    "loop_interval": 1000,
    "conn_timeout": 15000,
    "ping_timeout": 15000
  },
  "signal": {
    "primary": "https://p2p-signal.obskoo0o.workers.dev",
    "secondary": "https://1od.dpdns.org/https://broker.emqx.io:8084/mqtt",
    "fallback": "broker.emqx.io"
  }
}
