@ai-ecoverse/wasix-websocat
网络小猫 4.0.0-alpha3, WebSocket 客户端和服务器(“netcat for ws://" ),为 块状作为WASIX程序的内核. 这是一个上游α: websocat v4 尚未稳定发布. 它是上游的源头,有两个WASIX补丁(子进程失败干净;见下文)和一个出站码和日志的补丁(见出站码和日志). 该建筑还补丁了板条箱接线和Mio的WASIX叉;参见食谱.
pnpm add -g @ai-ecoverse/wasix-websocat
websocat -s 8080 mirror: # an echo server on the kernel loopback
echo hi | websocat ws://127.0.0.1:8080/ # hi
websocat -b ws://127.0.0.1:8080/ < file # binary messages
需要slic-内核1.95.0或后期(WASIX epoll和eventfd, slic-内核#674).
联网
websocat v4 打开了自己的TCP连接,并做了自己的TLS,有生锈和被捆绑的Mozilla根(webpki-broot),所以 wss:// 不需要CA设置 。 它已经 没有 HTTP 或 SOCKS 代理支持所以它从不穿过内核 https_proxy。 。 。 .
- 内核回转 (单位:千美元)
127.0.0.1, (中文(简体) ),localhost总是工作. - 其他主机 (单位:千美元)
ws://example.com/, (中文(简体) ),wss://…)需要一个输出,给出程序原始TCP:在7个中,一个链接到的slic CLI或Tailscale输出节点(内核的上行链路). 没有一个人:- 名称失败
No such file or directory (os error 44)· ; - 地址失败
Network unreachable。 。 。 .
- 名称失败
- 没有 TLS 服务器 : 网络猫v4不能服务
wss://。 。 。 . - 证书通过上行链路覆盖的内容:
ws://回声,和wss://与-k这是TLS握手和陷害一个被抛弃的CA 链的校验使用嵌入式的webpki根,被slic-bio所覆盖到底.
对WASIX的限制
- 没有子进程 (homescoop#689,#709):websockat的流程支持在这个目标上没有效果.
exec:, (中文(简体) ),cmd:财务报告和审定财务报表sh-c:启动时被拒绝( e)exec:, cmd: and sh-c: are not supported on WASIX),同样--exec-after-listen内-x情景剧本,subprocess_new, (中文(简体) ),subprocess_new_osstr财务报告和审定财务报表system失败subprocesses are not supported on WASIX。每个病例都非零,没有恐慌.
退出代码和日志
自4.0.0-alpha3-7起,上游 v4 仅登录的故障 退出非零, 每条对数线都到 Stderr, 所以 websocat … > out 财务报告和审定财务报表 websocat … | jq 只携带数据(homescoop#868). RUST_LOG 设置级别( e)RUST_LOG=debug, (中文(简体) ), RUST_LOG=off; 默认 INFO, housescoop # 1421 :
| 退出 | 何时 |
|---|---|
| 页:1 | 连接被拒绝或失败( 上游) |
| 15个 | 收听器无法绑定地址, 例如端口正在使用( homescoop# 696; 上游出入口 0) |
| 16个 | readfile:, (中文(简体) ), writefile: 或者说 appendfile: 无法打开文件( homescoop# 1023; 上游出入口 0) |
| 20, 21 (中文(简体) ) | 主机名没有地址, 或搜索失败( 上游) |
websocat 4是上游的正线,但仍是预放:选项和规格与websocat 1.x不同(参见 websocat --help;例如,没有 -1) (中文(简体) ).