直播更改日志

看我们在建什么,实时的。 每个功能,固定, 和改进都跨出平台.

17,924
变动共计
4,611
特征
4,537
修补
32
项目
按项目过滤
所有项目17,924AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,520TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,575kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
按类型过滤
所有类型Build24CI523Chore670Docs226Feature4,611Fix4,537Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
April 26, 2026
FixKlusterServices

在 :8089 为 WebRTC /ws 启用 Asterisk 内置的 HTTP 服务器

搭乘在res http websocket上 这反过来又需要Asterisk的内置HTTP服务器运行. 这个 默认 FreePBX 17 安装有服务器被禁用的船只, 因此 SIP- over- WS 请求没有落地,特拉菲克返回了502个. 启用于 0.0: 8089 (Apache已经拥有了8088),并禁用Aster...

Kamo·4mo ago
FeatureKlusterServices

为浏览器软手机添加 WSS WebRTC 传输

Asterisk 的 chan pjsip 现在在 0.0:8089 上绑定一个普通的 WebSocket 运输 和特拉菲克终止 TLS at QQ(第443端口) 因此, Kamo- 内部可以在已有通配符上注册浏览器软手机 不管理舱内证书的 cert. - 配置map- k1m1. yaml: startup.sh...

Kamo·4mo ago
FixKlusterServices

直接在集群IP服务上曝光端口 8088

服务只有港口80-8088绘图。 内部服务 **************** (例如VOIPService API 令牌) 由于第8088号端口没有收听器, (原始内容存档于2018-09-21). ClusterIP.

Kamo·4mo ago
FixKlusterServices

添加 k1m1 的失败2ban 配置

部署引用失败2ban- configMap(监狱.local +) 星号安全(start-security.conf),但并不存在,封锁了舱位. 华山. 设置并阻止 FreePBX 启动 .

Kamo·4mo ago
April 25, 2026
FeatureKlusterServices

添加介质到子域证书提供列表

Kamo·4mo ago
FixKlusterServices

允许 CORS 主题的域/ 路径前缀

在主题.kamocrm.com/domain/.的主题配置没有被匹配 已有的路由规则(只允许/public/和/内部/),因此Traefik 返回一个没有 CORS 头的 503, 导致浏览器拒绝获取 。 在 HTTP 和 HTTPs 入侵规则中添加路径前缀( “/ domain/ ” ) 应用了 Cors 中间软件,...

Kamo·4mo ago
FeatureKlusterServices

与PJSIP监狱和持续状态的禁产2

- 增加dauf2ban-configmap.yaml 与[asterisk]和[frepbx-web]监狱, 递增禁令升级(1h-24h-30d上限)、局域网忽略和a 用于 PJSIP 安全Event 记录的自定义星号安全.conf 过滤器 - Mount dauf2ban-configMap和主机Path/var/...

Kamo·4mo ago
FixKlusterServices

将 Coqui TTS 替换为 Piper TTS (en US- Norman- 中型)

Coqui VCTK 模型没有命名的扬声器——取而代之的是 Piper TTS ,它有 确切的诺曼的声音。 管道二进制 (~3 MB) 和模型 (~60 MB) 由init 容器在第一次运行时下载,并在 /var/lib/piper/{bin, models}在k1m1上。 AGI 脚本存储为 ConfigMap 密...

Kamo·4mo ago
FeatureKlusterServices

Integrate Coqui TTS with norman voice (VCTK p267)

- Deploy coqui-tts server (VCTK VITS model, CPU-only) as ClusterIP service on port 5002 with model cache at /var/lib/coqui-tts on k1m1 - Inject coqui_tts.agi ...

Kamo·4mo ago
FeatureKlusterServices

在 k1m1 上为分拆 DNS 添加 LAN DNS 显示器

在 k1m1 上部署带有主机的 dnsmasq 显示器 192.168.4.22:53. overrides pbx.k1.kluster.kamocrm.com - > 192.168.4.22 (中文(简体) ). 因此局域网的电话直接到达PBX,没有NAT发夹. 所有其他 询问转至8.8.8.8/8.8.4。 ...

Kamo·4mo ago
FixKlusterServices

为分拆 DNS / 局域网客户端 RTP 修正添加本地 net

与 k1m1 相同的局域网电话通过分割 DNS 连接(域解析为 192.168.4.22 内部。 没有本地网,Asterisk仍发布广告 SDP中的外域到LAN客户端,通过公共IP进行RTP的路由. 当地网=192.168.4.0/24 制作 Asterisk 在 SDP 中使用本地绑定地址 网络上的客户端 所以音频从...

Kamo·4mo ago
FixKlusterServices

持久魔法接触=元件修补并屏蔽SIP扫描仪启动.sh

- 在Asterisk开始前将[res pjsip] contact=memory输入巫术.conf; 默认的巫术- astdb SQLite 后端静悄悄地放下所有的 REGISTER 联系人 - 屏蔽已知的SIP扫描仪

Kamo·4mo ago
April 24, 2026
FixKlusterServices

将主机Path 从 MinIO( rclone FUSE) 移动到本地 / var/ lib/ pbx

MinIO通过rclone FUSE不支持 POSIX chmod 或 symlink () ——两者 FreePBX的模块系统要求。 更改全部 FreePBX 和 MariaDB 从/mnt/shared-files/pbx/到/var/lib/pbx/的hostPath卷,每卷 节点本地磁盘. FreePBX 数据...

Kamo·4mo ago
FixKlusterServices

通过php为 MinIO FUSE 主机Path 包装 fwconole/ AMportal

/var/lib/asteric 由 MinIO 支持,通过rclone FUSE 不支持 POSIX chmod,因此fwconsole脚本不能在该卷上被执行. startup.sh 现在在 ephemeral /usr/ local/bin 中创建收尾脚本 直接引用php,再将同音链接/usr/sbin/fwcon...

Kamo·4mo ago
FixKlusterServices

添加预停钩并终止 GracePeriodseconds

集装箱因背景Asterisk被困在"终结"中 apache2ctl( PID 1) 退出后, 进程继续运行 。 预停钩子发送 在Kubernetes杀死容器之前将SIGTERM送往Asterisk,允许清洁 端口释放并阻止下个吊舱撞击端口使用错误 重新启动时.

Kamo·4mo ago
FixKlusterServices

添加 poostrap.php 需要重生 /etc/ freepbx.conf

安装者写出 freepbx.conf 有数据源=' 和 request once freepBX 类。 我们的再生成版本都缺失了——导致"Class FreePBX没有找到". 每次启动500个错误 .

Kamo·4mo ago
FixKlusterServices

重新启动时重生 /etc/freepbx.conf

/etc是平面(不是主机Path),所以/etc/freepbx.conf由The 每次启动时安装器都会丢失 。 添加了其它分支来再生 当靴子被困时,它已经存在,所以管理员UI可以 连接所有后续靴子上的 MariaDB .

Kamo·4mo ago
FixKlusterServices

绕行开始 ASTErisk, 等待控制套接字代替

启动 asterisk 使用“ pidof 星号 ” , 该星号在 pock 上返回一个假正数 重启,导致等待-Asterisk循环被挂起. 现在启动.sh开始 直接通过 safety asterisk (在清除 soldale socket/pid 文件后) 进行突触 并等待控制套接字文件出现,而不是依赖pidof...

Kamo·4mo ago
FixKlusterServices

在背景中启动 Asterisk, 等待它, 然后运行安装器

入口.sh 不运行 FreePBX 安装器—— 它只开始 服务。 startup.sh 现在复制入口设置步骤,开始 Asterisk 在背景中, 等待它的套接字准备好, 然后运行 php 安装如果它是第一个靴子,然后在前缘开始Apache. 这可以修复安装时“ 错误与 Asterisk 通讯” 崩溃 .

Kamo·4mo ago
FixKlusterServices

让入口处理安装,而不是启动.sh

FreePBX 安装器( php s安装 -n) 要求 Asterisk 已经是 运行中。 我们的启动者.sh在Asterisk开始前就打电话了,导致 "与Asterisk的不良通讯"相撞. 现在启动.sh只等待 MariaDB 和补丁 Apache 端口,然后执行图像输入点 首先启动Asterisk,然后在第一个启动...

Kamo·4mo ago
FixKlusterServices

仅挂载/etc/astrisk, 而非/etc, 以修正 PHP simplexml 错误

将 /etc 全文上载为主机Path 卷正在腐蚀 PHP 扩展 甚至在从图像种子后加载 – simplexml load file 未定义 安装时间。 现在只有/etc/asterisk存在;/etc来自 图像并保持 PHP 配置完整。 第一启动探测器从 /etc/freepbx.conf(ephemeral)至 ...

Kamo·4mo ago
FixKlusterServices

将CPU限制降低到 2: 1 比例以消除过度承诺

文件 4–1 核心, jibri 4–2 核心, 自由转换 2–1 核心, 贝加莫特2~1核,相接1~0.5核. 将~7.5核从节点限制中省出.

Kamo·4mo ago
FixKlusterServices

切换到 es 计算机/ freepbx: 17 并带有正确的架构

freepbx没有FreepBX 17图像(自2022年起被放弃). es计算机/freepbx:17(2026年4月更新,Asterisk 21 + FreePBX 17)要求 一个单独的 MariaDB 舱和一个一次性 php 安装步骤。 变化 : - 添加freepbx-mariadb StatefulSet(...

Kamo·4mo ago
ChoreKlusterServices

放弃公共管理;通过http://k[12]m1:8088访问

8088号港口的局域网/WireGuard(FreePBX)现在只有内部管理。 nginx 直接绑在主机Network上). 没有Traefik路线, 没有让我们加密 cert,没有PBX本身需要的公用端口80/443转发.

Kamo·4mo ago
FeatureKlusterServices

在 k1m1 和 k2m1 上部署 FreePBX 17 + Jigasi SIP桥

FreePBX(已退休/freepbx:17-latest)使用主机Network运行,所以SIP/RTP 保存真实的客户端IP,通过节点Selector被绑定为一号节点. SIP 打开 5060 UDP/TCP (5061 TLS), RTP 范围 18000-18999 为避开Janus所选 (20000年-209...

Kamo·4mo ago
April 23, 2026
April 21, 2026
April 20, 2026
ChoreKlusterServices

从 SUBDOMAINS 列表中删除播放

Kamo·4mo ago
April 19, 2026
April 18, 2026
FixKlusterServices

Remove nonexistent postfix-lmdb package, install lmdb library instead

postfix-lmdb is not a valid Alpine package; lmdb support is built into the base postfix package. The pod was CrashLoopBackOff due to apk failure.

Kamo·4mo ago
FeatureKlusterServices

Add weekly image prune and journal vacuum CronJob for k1m1

CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI...

Kamo·4mo ago
FeatureKlusterServices

Add Docs deploy step to workflow

Kamo·4mo ago
FixKlusterServices

Fix Docs image registry, add Recreate strategy to coturn/postfix, increase qdrant memory

- Docs: fix wrong image registry (redis.kamo.svc... → **************** add Recreate strategy - coturn: add Recreate strategy to prevent rolling update port conf...

Kamo·4mo ago
FixKlusterServices

Switch Postfix sasl_passwd from hash to lmdb format

Alpine postfix build does not include hash support — postmap and smtp_sasl_password_maps were silently failing, deferring every outbound relay attempt through s...

Kamo·4mo ago
FixKlusterServices

Set Traefik externalTrafficPolicy=Local to preserve client IP

With the default "Cluster" policy, kube-proxy SNATs external traffic to the node IP before forwarding to Traefik. That caused Traefik to see the node IP as the ...

Kamo·4mo ago
April 17, 2026
FeatureKlusterServices

Add geo-database-url to analytics-secret for CockroachDB geolite lookup

Kamo Analytics uses this URL to look up visitor IP→country/region/city from the **************** tables. Uses kamo user with password auth and sslmode=require (...

Kamo·4mo ago
FixKlusterServices

Clean up legacy analytics deployment on each CI run

Delete old analytics deployment, service, and ingressroute that conflict with the kamo-analytics deployment managed by its own CI/CD pipeline.

Kamo·4mo ago
FixKlusterServices

Strip X-Frame-Options header in iframe-compatible middleware

Set X-Frame-Options to empty string to remove the SAMEORIGIN value that was being inherited, allowing CSP frame-ancestors to control iframe embedding instead.

Kamo·4mo ago
FeatureKlusterServices

Add iframe-compatible middleware chain for kamo-analytics

Add security-headers-allow-iframe (no X-Frame-Options) and kamo-middlewares-allow-iframe chain so analytics can be embedded in iframes from internal.kamocrm.com...

Kamo·4mo ago
FeatureKlusterServices

Move kamo-analytics to own repo, keep only postgres in KlusterServices

- Remove analytics deployment, service, and nginx-configmap (now owned by kamo-analytics project with its own CI/CD pipeline) - Remove analytics-ingressroute ...

Kamo·4mo ago
FixKlusterServices

Reset document.title in rebrand() when React overwrites it

React re-applies RSC payload after hydration, resetting the title to "analytics". Add a title check inside the MutationObserver callback so it gets corrected ev...

Kamo·4mo ago
FixKlusterServices

Use TreeWalker to remove all "analytics" text nodes from rendered DOM

The workspace nav title "analytics" comes from JS bundles loaded after auth, rendered as a text node next to the logo SVG. Uses TreeWalker to find and clear all...

Kamo·4mo ago
FixKlusterServices

Add guarded MutationObserver for client-side rendered logo/text

Login page and dashboard content is rendered by Next.js JS bundles, not in the HTML body, so sub_filter can't reach it. Adds a script with a busy-flag-guarded M...

Kamo·4mo ago
FixKlusterServices

在 nginx 级别重新定向外观, 修复 RSC 有效载荷出逃

- 通过nginx 302重定向服务favicon,而不是试图重写 HTML/RSC 有效载荷href字符串(清除器,总是工作) - 将RSC标题替换为文字的正则双逃道 在 nginx 配置中反斜向引用 - 增加代理缓冲器,以处理完整的应对机构

Kamo·4mo ago
FixKlusterServices

使用纯子过滤器替换而非突变观察员

突变观察员造成无限循环(DOM变化 -- -- > 观察者火灾 -- -- > (DOM更改). 切换到直接的 nginx 子 filter 字符串替换 瞄准静态 HTML 和 Next.js RSC 有效载荷字符串作为标题, 法维孔和标志 只有CSS注射器仍用于仪表板头.

Kamo·4mo ago
FixKlusterServices

Comprehensive analytics rebranding for login page and dashboard

- Replace title dynamically (handles "Login | analytics", "Dashboard | analytics" etc.) - Replace "analytics" h2 text on login page with Kamo logo image - Repla...

Kamo·4mo ago

就像你看到的运输?

每一个都自动更新您工作空间的地盘。 开始自由,看它成长 一周又一周.

永远开始自由查看定价