WebRTC STUN/TURN 配置生成器
可视化添加 STUN/TURN 服务器和 ICE 参数,一键生成可直接使用的 RTCConfiguration JavaScript 代码和 JSON 配置文件。
免费在线工具
Loading…
使用说明
- 在“STUN 服务器”区域添加 STUN 地址,可手动填写或点击 Google/Twilio/Cloudflare/Metered/FreeSWITCH 等快捷预设标签一键添加(工具默认已带一个 Google STUN)。
- 在“TURN 服务器”区域点击“+ 添加 TURN”,填写 TURN 地址、用户名、密码和凭证类型(password 或 oauth)。
- 设置 ICE 配置选项:传输策略(all 允许所有候选者 / relay 仅使用中继)、候选池大小、ICE 收集超时时间。
- 点击“生成配置”,下方会输出可直接使用的 JavaScript 代码(含 RTCPeerConnection 初始化和 onicecandidate 监听)以及标准 JSON 配置。
- 点击“导出 JSON 文件”可将配置下载为 webrtc-ice-config.json 文件;也可用“复制”按钮分别复制 JS 代码或 JSON。
- 不确定怎么配置时点击“加载示例数据”,查看一个含双 STUN + 单 TURN 的完整示例。
功能介绍
- 可视化添加、删除任意数量的 STUN 和 TURN 服务器条目。
- 内置 5 个常用免费/公共 STUN 服务器一键预设(Google、Twilio、Cloudflare、Metered、FreeSWITCH),自动去重。
- TURN 服务器支持用户名、密码、凭证类型(password/oauth)配置。
- 支持 iceTransportPolicy(all/relay)、iceCandidatePoolSize、ICE 收集超时时间等 ICE 高级选项。
- 同时生成两种输出:可直接粘贴使用的 JavaScript 代码(RTCPeerConnection 初始化 + ICE candidate 监听 + 收集超时处理)和标准 RTCConfiguration JSON。
- 支持一键复制 JS/JSON 或导出为 .json 文件下载。
- 此工具仅生成配置代码,不在浏览器中实际发起 WebRTC 连接或校验服务器可用性。
使用场景
快速搭建 WebRTC 项目的 ICE 配置
新建一个视频通话或 P2P 数据传输项目,不想手写 iceServers 数组格式和拼写细节,用本工具填好服务器信息直接生成可用代码。
对比免费 STUN 服务商
通过预设标签快速把 Google、Cloudflare、Twilio 等常见免费 STUN 地址都加进配置里做备选,生成的 JSON 可以直接给后端或前端配置文件使用。
配置企业自建 TURN 服务器凭证
自建了 coturn 等 TURN 服务后,需要拼一段带用户名密码的 iceServers 配置,通过表单填写生成正确格式,避免手写引号转义出错。
排查 NAT 穿透问题时切换中继策略
怀疑纯 STUN 无法穿透某些对称型 NAT,需要临时把 iceTransportPolicy 切成 relay 强制走 TURN 中继来验证连通性,用下拉框切换后重新生成配置测试。
常见问题
这个工具会真的建立 WebRTC 连接测试服务器是否可用吗?
不会。它只在浏览器本地拼接生成 JavaScript 代码和 JSON 配置文本,不会发起任何网络请求,也不会校验你填写的 STUN/TURN 地址是否真实可达。
TURN 密码会不会被上传到服务器?
不会,所有输入和生成过程都在你的浏览器本地完成,工具没有把表单内容发送到任何后端接口。
快捷预设的 STUN 地址免费吗,能用于生产环境吗?
预设的 Google/Twilio/Cloudflare 等地址是各家公开提供的免费 STUN 服务,通常有可用性和速率限制承诺,是否适合你的生产环境需自行评估,TURN(中继)一般仍需要自建或付费购买。
candidatePoolSize 和 ICE 收集超时具体做什么?
iceCandidatePoolSize 用于提前预收集 ICE 候选者以加快连接建立;ICE 收集超时是生成代码里附带的一段 setTimeout 逻辑,用于在候选者收集耗时过长时提前使用已收集到的候选者继续连接,并非浏览器原生 API 参数。