基于 mqtt 的在线聊天系统

一直以来都想给文章加个评论功能,这几天下定决心做这个事。 传统的评论功能也就那样,这次我想以聊天室的形式做,每篇文章都是一个聊天室,article_id即room_id,一个room_id就是一个topic,用户订阅这个topic,就可以实时收到信息,当然,用户也可以向这个topic发布信息 页面右下角有一个按钮,点击后可以看到历史消息和新消息(如果有的话),如果想发言,填写手机号,验证码登陆即可(登陆,注册合二为一) 前端 UI组件 需要找一个好看的UI组件,最好是Vue的,因为React不熟悉😂 经过一番查找,发现 vue-beautiful-chat 不错,就用它了 经过使用发现,他的...

RabbitMQ新旧配置文件格式

新的配置格式更简单,更易于人类阅读和机器生成。与 RabbitMQ 3.7.0 之前使用的经典配置格式相比,它也相对有限。例如,在配置 LDAP 支持时,可能需要使用深度嵌套的数据结构来表达所需的配置。为了满足这种需求,现代 RabbitMQ 版本允许在单独的文件中同时使用两种格式: 配置文件 rabbitmq.conf 允许配置 RabbitMQ 服务器和插件。从 RabbitMQ 3.7.0 开始,格式为 sysctl 格式。 主配置文件新,旧的变化 新 # 一种新的样式格式片段,rabbitmq.conf 文件使用这种格式。 ssl_options.cacertfile ...

使用docker-compose快速部署RabbitMQ

直接上配置文件 docker-compose.yml version: '3' networks: web-network: services: docker-rabbitmq: environment: # RABBITMQ_DEFAULT_VHOST: "/" RABBITMQ_DEFAULT_USER: "guest" RABBITMQ_DEFAULT_PASS: "guest" image: "rabbitmq:3.9.5-management" hostname: rabbitmq restart: alw...

RabbitMQ插件之MQTT

如何安装rabbitmq,请移步:http://www.cuiwei.net/p/1371869141 启用mqtt插件 vi enabled_plugins [...,rabbitmq_mqtt,rabbitmq_web_mqtt]. 重启rabbitmq后,访问 RabbitMQ Management 可以看到 http/web-mqtt服务(ws)已经启动了,在15675端口上了 https/web-mqtt服务(wss)已经启动了,在15676端口上了 mqtt服务(tcp)已经启动了,在1883端口上 mqtt/ssl服务(ssl)已经启动了,在8883端口上 tcp/ssl...

发布一个npm包

先注册一个账号 https://www.npmjs.com/signup 然后,在项目目录打开终端 登陆 npm login 这个当你的包名为@your-name/your-package时才会出现,原因是当包名以@your-name开头时,npm publish会默认发布为私有包,但是 npm 的私有包需要付费,所以需要添加如下参数进行发布: npm publish --access public https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry/

adb 常用命令

下载链接 备注 SDK Platform Tools 包含常用的adb和fastboot 通过 Wi-Fi 连接到设备(Android 10 及更低版本) 一般情况下,adb 通过 USB 与设备进行通信,但您也可以通过 Wi-Fi 使用 adb。如要连接到搭载 Android 10 或更低版本的设备,您必须通过 USB 执行一些初始步骤,如下所述: 将 Android 设备和 adb 主机连接到这两者都可以访问的同一 Wi-Fi 网络。 如果您要连接到 Wear OS 设备,请关闭手机上与该设备配对的蓝牙。 使用 USB 线将设备连接到主机。 设置目标设备以监听端口 5...

API 请求签名生成规则

总结一下常见的 签名生成规则 规则1 客户端 每个 HTTP 请求中均需要携带以下的 HTTP 标头字段(HTTP Request Header) 默认名称 带 RC-前缀 类型 说明 App-Key RC-App-Key String 后台分配的 App Key Nonce RC-Nonce String 随机数,不超过 18 个字符 Timestamp RC-Timestamp String 时间戳,从1970年1月1日0点0分0秒开始到现在的毫秒数 Signature RC-Signature String 数据签名。您需要参考下文的签名计算方法生成该字段的值 ...

绕过Android的SSL Pinning

安卓 7 以后引入了 SSL Pinning ,最直接影响是:用户所安装的证书不再被系统信任,导致不能抓取 https 流量。 解决办法 Magisk模块 —— Magisk Trust User Certs AlwaysTrustUserCerts.zip 参考 https://blog.le31ei.top/2020/08/19/bypass-android-ssl-pinning/ https://www.mrskye.cn/archives/dcfd805b/ https://www.cnblogs.com/yyoba/p/12370510.html

尝试给 nexus 6 手机 root

由于机子比较老,市面上常见的工具都试过了,都无法root。经过几天折腾,终于取得root权限,现将整个过程整理出来 基本流程 先给手机解锁,然后找到与自己系统匹配的twrp,刷入系统,再通过twrp把Magisk刷入系统,最终取得root权限的是Magisk,后续哪个命令或app需要root权限,都需要向Magisk申请 软件 下载链接 备注 SDK Platform Tools SDK Platform Tools 包含常用的adb和fastboot Google USB 驱动程序 Google USB 驱动程序 在 Windows 系统上对 Google 设备执行 adb...

HTTP代理服务器 - Charles

macOS 代理设置 安装并信任证书,为了捕获macOS的https流量 要捕获哪个域名需要提前设置一下,如果嫌麻烦,可以把host和port都设置为* Map Remote功能介绍 有时候我们开发一个功能,上线前需要测试一下Android/iOS端是否正常,又不想让他们改域名 举例说明,正式环境的域名是www.cuiwei.net,本地开发环境的域名为blog.cw.net,我们配置一下Map Remote,如下图 配置完成,下面就是见证奇迹的时刻,地址栏我输入的是www.cuiwei.net,实际访问的却是本机的测试代码,完全符合预期🥳 iOS 设备设置 代理端口8888,...