{
  "name": "Socks-to-RTC",
  "description": "SOCKS server that forwards requests to RtcToNet",
  "app": {
    "script": [
      "../socks-common/socks-headers.js",
      "../logging/logging.js",
      "../churn/churn.js",
      "../webrtc/datachannel.js",
      "../webrtc/peerconnection.js",
      "../tcp/tcp.js",
    ]
  },
  "provides": [
    "SocksToRtc"
  ],
  "api": {
    "SocksToRtc": {
      "start": {
        "value": [
          {
            "address": "string",
            "port": "number"
          },
          {
            "iceServers": ["array", {
              "urls": ["array", "string"],
              "username": "string",
              "credential": "string"
            }],
            "iceTransports": "string",
            "peerIdentity": "string"
          },
          "boolean"
        ],
        "ret": {
          "address": "string",
          "port": "number"
        }
      },
      "stop": {
        "type": "method",
        "value": []
      },
      "stopped": {
        "type": "event",
        "value": []
      },
      "signalForPeer": {
        "type": "event",
        "value": "object"
      },
      "bytesReceivedFromPeer": {
        "type": "event",
        "value": "number"
      },
      "bytesSentToPeer": {
        "type": "event",
        "value": "number"
      },
      "handleSignalFromPeer": {
        "type": "method",
        "value": ["object"]
      }
    }
  },
  "permissions": [
    "churnPipe",
    "core.rtcdatachannel",
    "core.rtcpeerconnection",
    "core.tcpsocket"
  ]
}
