Wormhole 是一个基于 Fastify 和 WebSocket 的数据传输项目,旨在实现将客户端的web资源代理到公网。
- 使用git克隆项目:
git clone https://github.com/HalcyonAlcedo/wormhole.git
- 安装依赖
npm install
- 启动
npm run app
- 后台运行
npm run start
- 开放端口 开放服务器3000端口
可用于Karin的渲染代理插件,适用于Karin端在非固定IP的情况下由渲染器访问Wormhole代理生成页面渲染
- 安装插件
将
demo/karin-wormhole-client.js
拷贝到Karin/plugins/karin-plugin-example
目录 - 调整设置
修改
Karin/config/config/config.yaml
文件- 将
http_render.enable
改为true - 将
http_render.host
改为Wormhole的web地址,例如Wormhole部署在 127.0.0.1:3000 这里就填http://127.0.0.1:3000/web/123456
,其中123456为客户端id,建议改为机器人的qq号以保证客户端唯一性 - WebSocket传输非文本数据时间可能较长,如果出现获取图片超时的情况可以尝试将
http_render.timeout
适当增加
- 将
注意:为安全考虑,Karin插件仅代理静态资源css,html,ttf,jpg,jpeg,png,gif,bmp,ico,woff,woff2