开发工具物联网后端【免费下载链接】MQTTXA Powerful and All-in-One MQTT 5.0 client toolbox for Desktop, CLI and WebSocket.项目地址https://gitcode.com/gh_mirrors/mq/MQTTX点击查看免费下载作为一款可在浏览器中直接运行的 MQTT 5.0 WebSocket 客户端MQTTX Web 无需安装即可帮助开发者快速调试 MQTT 服务与应用。浏览器客户端天然会引发一个核心疑问用户的配置、连接信息和收发消息究竟流向哪里本文以 MQTTX 官方在仓库中维护的《数据收集声明》文档为骨架逐条拆解其隐私承诺并结合 web/src 目录下的真实源码验证配置数据本地处理消息仅与所连 Broker 相关无云端数据处理仅用 GTM/GA 采集页面访问指标这四条声明的实现基础。读完本文你将理解 MQTTX Web 的数据流向边界以及数据收集政策在产品中是如何被加载与呈现的。政策文档的背景与位置《数据收集声明》日文版原文为《データ収集の免責事項》是 MQTTX Web 面向最终用户展示的隐私承诺全文围绕四个核心要点展开所有配置数据均在用户本机浏览器内本地处理不会从浏览器发送到外部任何主题与消息数据仅与用户所连接的 MQTT Broker 相关项目不进行任何云端操作或数据处理项目使用 Google Tag ManagerGTM与 Google AnalyticsGA仅收集页面访问指标不涉及用户隐私数据。该文档在仓库中以多语言版本维护同一目录下存在>import Lowdb from lowdb import LocalStorage from lowdb/adapters/LocalStorage class DB { private db: Lowdb.LowdbSyncSchema public constructor() { const adapter new LocalStorage(db) this.db Lowdb(adapter) ... } }该 Schema 覆盖了窗口尺寸、语言、主题、连接列表connections、推荐连接suggestConnections、历史负载payloadsHistory、历史头信息headersHistory等数据均以localStorage的db键为存储载体。由此可以确认连接配置host、port、用户名、密码、MQTT 版本、订阅列表等通过 web/src/utils/api/connection.ts 的createConnection、updateConnection等函数写入本地数据库界面设置当前语言、主题、自动重连、自动滚动、多主题等通过 web/src/utils/api/setting.ts 的loadSettings/setSettings读写settings字段而 store 层 web/src/store/modules/app.ts 的每次状态变更如TOGGLE_LANG、TOGGLE_THEME都会同步调用setSettings持久化用户甚至可以通过getAllData()一次性导出全部本地数据、通过importAllData(data)将备份重新写回localStorage从侧面印证了数据驻留本地、可由用户自主掌控的设计。也就是说声明第一条描述的本地处理、不出浏览器对应的正是这套以localStorage为后端、无任何服务端参与的状态管理链路。主题与消息数据为什么仅与所连 Broker 相关声明第二条指出主题Topic和消息Message数据仅与用户连接的 MQTT Broker 相关。要理解这句话需要先看清 MQTTX Web 的网络模型它是一个纯粹的浏览器直连 Broker的 WebSocket 客户端消息链路中不存在任何中转服务器。在 web/src/utils/mqttUtils.ts 中连接的建立由mqtt.js完成const url getUrl(record) const curConnectClient: MqttClient mqtt.connect(url, optionsTempWorkAround)其中getUrl根据用户填写的协议、主机、端口与路径拼接出形如wss://broker.emqx.io:8084/mqtt的 WebSocket 地址getUrl 实现。从默认值来看在线部署环境下默认使用wss协议、端口8084默认 host 为公共 Brokerbroker.emqx.iogetDefaultRecord。由此可以得出明确的技术结论消息的收发路径是浏览器 ⇄ 用户指定 Broker的点对点链路MQTTX Web 本身只是消息的载体与可视化工具任何主题下的消息内容其所有权与存储责任都在用户所连接的 Broker 一侧MQTTX Web 不会在本地持久化一份服务端副本更不会把消息转发给第三方用户填写的 Broker 地址完全由用户决定这也意味着消息数据的边界取决于用户自己选择的服务器。这一点与声明第一条共同构成了政策的核心MQTTX Web 是本地客户端 直连 Broker的架构项目自身不承担消息数据的中转或汇聚角色。不进行任何云端操作或数据处理的架构依据声明第三条项目不进行任何云端操作或数据处理。从仓库结构可以交叉验证web 是一个纯前端工程web/package.json 中name为mqttx-web其构建产物为可直接部署的静态站点前端的数据读写全部落在localStorage见上文 web/src/database/index.ts没有任何指向自有后端的业务 API与外部系统的交互仅有两类一是用户主动发起的 MQTT 连接直连 Broker二是下文将分析的页面统计埋点GTM/GA。前者是 MQTT 客户端工具的本职工作后者仅采集匿名访问指标。因此无云端操作意味着 MQTTX Web 不存在项目自营的数据处理服务它既不会替你缓存消息也不会分析你的连接内容更不会把配置数据同步到某个账号体系——登录按钮仅用于跳转到 EMQX 平台服务与本工具的数据处理无耦合。GTM 与 GA只采集页面访问指标声明第四条承认了项目对统计埋点的使用通过 Google Tag ManagerGTM与 Google AnalyticsGA收集页面访问指标但不涉及用户隐私数据。这是整份政策中唯一出浏览器的数据边界清晰。对应实现位于 web/src/main.tsVue.use(VueGtm, { id: GTM-KHSFXHT, enabled: process.env.VUE_APP_IS_ONLINE_ENV true, debug: false, } as VueGtmUseOptions)需要特别注意的是其中的enabled条件只有当VUE_APP_IS_ONLINE_ENV环境变量为true即在线生产部署时GTM 埋点才会被激活在本地开发或离线构建场景下埋点默认不启用。GTM 容器 ID 为GTM-KHSFXHT页面内后续的统计行为由该容器统一管理。与之配套的是 web/src/utils/gaCustomLinks.ts它为关于/帮助页面中的外链官网、文档、论坛、EMQX Cloud 等统一拼接utm_sourcemqttx-webutm_mediumreferralutm_campaign...追踪参数用于识别这些页面的访问来源。这与声明中仅收集页面访问指标的描述一致采集对象是页面浏览量、外链点击等匿名行为指标而非用户输入的 MQTT 配置或消息内容。政策在产品中的呈现方式关于页面的数据收集声明弹窗数据收集政策并不只是一份孤立的文档它在产品中拥有完整的呈现链路由三个部分协作完成入口在关于页面顶部的快捷操作区存在一个数据收集政策链接点击后打开声明弹窗见 web/src/views/about/index.vue渲染组件DataCollectionPolicy.vue 负责加载并渲染 Markdown 内容弹窗宽度为 540px且隐藏了取消按钮仅保留确认关闭按语言动态加载组件监听当前语言变化按data-collection-${lang}.md的命名规则动态引入对应语言的声明文件private async loadAndRenderMarkdown() { const md markdownit() try { const markdownFile require(/assets/doc/policy/data-collection-${this.getterLang}.md) this.renderedContent md.render(markdownFile.default) } catch (error) { console.error(Error loading the markdown file:, error) } }这意味着声明正文与界面语言实时联动——切换语言后立即重新渲染对应语言的免责声明若某一语言的文件缺失则捕获异常并输出错误日志不会影响页面其他功能。这种文档即配置、随语言动态加载的实现方式也让后续新增语言只需在 policy 目录 增加同名 Markdown 文件即可。小结四项声明对应的实现边界政策声明实现依据数据边界配置数据本地处理、不出浏览器web/src/database/index.ts 基于lowdbLocalStorage的本地库web/src/utils/api/setting.ts、web/src/utils/api/connection.ts 全部读写本地浏览器localStorage内部主题与消息仅与所连 Broker 相关web/src/utils/mqttUtils.ts 通过mqtt.connect(url)直连用户指定的 Broker浏览器 ⇄ 用户指定 Broker 的点对点链路不进行任何云端操作或数据处理web 为纯前端静态工程无自有业务后端无项目自营的数据服务仅用 GTM/GA 采集页面访问指标web/src/main.ts 中VueGtm配置GTM-KHSFXHT受VUE_APP_IS_ONLINE_ENV开关控制web/src/utils/gaCustomLinks.ts 的 UTM 链接追踪仅匿名页面访问/外链点击指标总结而言MQTTX Web 的数据收集政策与其浏览器本地客户端 WebSocket 直连 Broker的架构完全吻合业务数据配置、消息始终留在本地与用户自己的 Broker 之间项目仅通过 GTM/GA 获取最基础的页面访问统计且这一埋点还受部署环境开关的约束。对于关心数据流向的 MQTT 开发者而言这份声明与上述源码共同构成了可验证的隐私边界——你可以在 policy 目录 查看中英日三语原文并通过 DataCollectionPolicy.vue 追踪其在界面中的呈现方式。赞分享开发工具物联网后端【免费下载链接】MQTTXA Powerful and All-in-One MQTT 5.0 client toolbox for Desktop, CLI and WebSocket.项目地址https://gitcode.com/gh_mirrors/mq/MQTTX点击查看免费下载相关推荐MQTTX Web 数据收集政策解读本地优先的隐私设计、存储实现与统计埋点机制MQTTX Web 数据收集政策解读本地优先的隐私设计、存储实现与统计埋点机制 MQTTX Web 是运行在浏览器中的开源 MQTT 5.0 WebSocke开发工具物联网后端MQTTX Web 数据收集声明全解读本地处理机制、GTM/GA 指标收集边界与多语言实现MQTTX Web 数据收集声明全解读本地处理机制、GTM/GA 指标收集边界与多语言实现 MQTTX Web 是一款无需安装即可在浏览器中运行的 MQTT开发工具物联网后端MaiBot 用户隐私条款全解析数据收集边界、遥测机制与本地化存储设计MaiBot 用户隐私条款全解析数据收集边界、遥测机制与本地化存储设计 MaiBot 作为基于大语言模型的智能体MaiSaka项目在处理用户输入输出、构人工智能大模型AI Agent交互助手插件系统上一篇CodeGuide 字节码编程Javassist 篇二 —— CtField 属性定义与多种入参/出参方法生成实战下一篇Open Policy AgentOPA入门指南用 Rego 将策略写成代码在任意软件栈中统一执行创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考