侧边栏壁纸
博主头像
羊刀仙的部落格 博主等级

很有力量。

  • 累计撰写 313 篇文章
  • 累计创建 60 个标签
  • 累计收到 15 条评论

目 录CONTENT

文章目录

无需客户端!把语音聊天室搬进 NAS,打开浏览器就能畅聊WebSpeak

羊刀仙
2026-09-21 / 0 评论 / 0 点赞 / 1 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
GW树洞

高速稳定 · 海外专线

  • 自用推荐
  • 90天使用时长
  • 70+ 节点分布
  • IEPL专线 油管4K无压力
  • 全平台客户端
  • 不限制在线设备
立即注册

这两天我给 NAS 挂了一个挺有意思的小站。打开网址,填个昵称,进去就能直接群聊语音。
没有复杂的注册流程,也不用先装什么客户端。进去以后能看到频道、在线成员、谁正在讲话,还能发文字消息、私聊、单独调某个人的音量。

我实际拉了几个浏览器一起进去以后,效果大概就是这样:一个属于自己的网页语音空间。

截屏2026-09-18 15.29.41 拷贝.png

最开始我以为它只是给语音服务器套了一层网页壳,真正用起来以后发现,东西比想象中完整不少。

比如我可以直接给它挂自己的域名。以后想让别人进来,不需要解释任何专业术语,直接发一个网址就行。

截屏2026-09-18 16.00.50 拷贝.png

这个项目叫WebSpeak。完整项目名:EchoSixHIYA/WebSpeak-client-for-TeamSpeak

截屏2026-09-18 16.55.10.png
底层实际上还是需要一套语音服务器来负责真正的连接,不过普通用户基本不用管它是什么。最终接触到的就是这个网页。

这次我干脆把网页端和底层语音服务全部放进威联通 NAS,一次部署完整。

IMG_4958.JPG

WebSpeak 到底能玩什么

打开网页直接进语音空间

首页非常简单。

输入昵称,选择频道,然后进入。

如果已经给它配好自己的服务器,访问者甚至不需要知道后面服务器的 IP、端口或者其它配置。

截屏2026-09-18 14.34.30 拷贝.png

进入之后左边是频道和成员,中间就是当前语音空间。

谁在线、谁正在说话,都能直接看到。

截屏2026-09-18 16.09.30 拷贝.png

这个体验其实已经和传统玩法完全不一样。对其他人来说,他们看到的就是一个普通网站。

不只是语音,还有完整的频道和聊天

进到频道以后,并不是只能开着麦克风干聊。

下面还有文字频道,可以直接发消息。

截屏2026-09-18 16.25.17 拷贝.png

所以它更接近一个长期挂着的小型语音社区。

比如几个朋友平时都在同一个频道,谁在线直接能看到;需要打字的时候就在下面聊,需要说话直接开麦。不需要另外再切一个聊天工具。

每个人还能单独调

成员列表这里做得比我预想的细。点开一个成员,可以单独调整这个人的音量、私聊、戳一戳
、设置为语音目标、复制昵称等操作。

截屏2026-09-18 15.32.20 拷贝.png
这些功能对于多人语音还是挺实用的。谁麦克风声音特别大,直接把他单独拉低一点,不用调来调去。

浏览器里的声音也可以直接共享

这个功能是我测试的时候才发现的。WebSpeak 可以调用浏览器的音频共享。点左下角的「伴奏」以后,Chrome 会直接弹出系统的共享窗口,可以选择:浏览器标签页``窗口``整个屏幕。并且可以把对应页面的声音一起送进语音频道。

截屏2026-09-18 15.31.17 拷贝.png

比较干的时候放点歌,或者一起听听攻略啥的,也不用再折腾虚拟声卡,都非常不错。

网站可以自己改

WebSpeak 后台可以直接修改站点显示名称和欢迎语。比如我这里干脆把它改成了自己的名字:

截屏2026-09-18 14.38.45 拷贝.png

效果如下。

截屏2026-09-18 16.36.52 拷贝.png

一套完整的中文后台

WebSpeak 的后台已经做得比较完整,而且目前整套管理界面都有中文。

在概览页可以直接看到服务状态、当前连接目标、在线会话和最近事件。可以看到支持

截屏2026-09-18 16.39.52 拷贝.png

服务器页面可以修改访问方式、站点名称、欢迎语,开启中继,以及 WebRTC 的 UDP 端口范围。

截屏2026-09-18 16.40.04 拷贝.png

运维页面则可以查看在线会话、运行日志、审计记录,还能生成临时邀请链接和导出数据库备份。

截屏2026-09-18 16.40.15 拷贝.png

所以日常使用基本不用再去改配置文件,连接设置、访问控制和运行状态都可以直接在网页后台完成。

如何部署?

以威联通NAS为例,通过Docker Compose的方式进行部署。

WebSpeak 默认使用非 root 用户运行,所以这里需要提前处理数据目录权限。先通过 SSH 创建目录:

mkdir -p /share/Container/webspeak/webspeak
mkdir -p /share/Container/webspeak/teamspeak

执行:

chown -R 1000:1000 /share/Container/webspeak/webspeak
chmod -R 755 /share/Container/webspeak/webspeak
chown -R 9987:9987 /share/Container/webspeak/teamspeak
chmod -R 755 /share/Container/webspeak/teamspeak

然后,打开威联通的Container Station创建新的应用程序。

代码如下:

services:
  teamspeak:
    image: teamspeak
    container_name: teamspeak
    network_mode: host # 默认语音端口为9987
    restart: unless-stopped
    environment:
      TS3SERVER_LICENSE: accept
    volumes:
      - /share/Container/webspeak/teamspeak:/var/ts3server

  webspeak:
    image: ghcr.io/echosixhiya/webspeak:latest
    container_name: webspeak
    network_mode: host # 默认监听3040
    restart: unless-stopped
    volumes:
      - /share/Container/webspeak/webspeak:/data

将上述代码根据自己情况修改后,点击创建即可。

截屏2026-09-18 16.58.12.png

使用与配置

完整使用需要HTTPS,并且要进行端口转发。

部署完成以后,WebSpeak 默认监听 3040,因此浏览器输入NAS_IP:3040即可访问。但可以看到,只有HTTPS下方可使用,因此建议大家进行反代配置证书。另外,9987这个端口也要

截屏2026-09-18 11.26.39.png

管理员界面为NAS_IP:3040/admin账户密码皆为admin。第一次登录会要求重新设置管理员密码,而且至少需要 12 位。

截屏2026-09-18 14.35.46 拷贝.png

我们的 WebSpeak 和语音服务器部署在同一台 NAS,9987/UDP 不需要映射到公网,WebSpeak 可以直接通过本机 127.0.0.1:9987 连接。只有别人要从其他客户端连接你时,才需要额外开放 9987/UDP,并且也建议同样做反代。

截屏2026-09-18 17.04.57 拷贝.png

如果开启允许访客输入其他服务器,访客也可以通过你部署的网页连接其他 TeamSpeak 服务器。此时就不需要把本机 9987/UDP 暴露到公网,因为目标连接由 WebSpeak 主机主动发起。

当然,这是个具备社交属性的项目,你可以选择将99873040两个端口全都搞一搞~完全体其实就如官方Demo这样子。

截屏2026-09-18 17.13.32.png

最后

不错的项目,蛮实用吧!有需要的朋友可以部署玩玩。

感谢观看,本文完。

0

评论区