仓库: https://github.com/zephyrchien/kaminari

基于我亲自实现的ws库,要比其他通用ws库高效得多。其他库都在底层维护了一个fifo缓冲区,并且只能整读整写,使用的时候往往还需要再加一层缓冲。而我的库利用栈上缓冲保存状态(127b以内),直接指示出每次需要读写的数据范围,不需要额外在堆上分配内存。

食用姿势:

  1. kaminaric <local_addr> <remote_addr> <options>
  2. kaminaris <local_addr> <remote_addr> <options>

也可以作为Shadowsocks插件食用:

  1. sslocal … –plugin <path/to/kaminaric> –plugin-opts <options>
  2. ssserver … –plugin <path/to/kaminaris> –plugin-opts <options>

WS转发例子:

  1. kaminaric 127.0.0.1:10000 127.0.0.1:20000 ‘ws;host=example.com;path=/ws’
  2. kaminaris 127.0.0.1:20000 127.0.0.1:30000 ‘ws;host=example.com;path=/ws’

WSS转发例子:

  1. kaminaric 127.0.0.1:10000 127.0.0.1:20000 ‘ws;host=example.com;path=/ws;tls;sni=example.com;insecure’
  2. # use cert + key
  3. kaminaris 127.0.0.1:20000 127.0.0.1:30000 ‘ws;host=example.com;path=/ws;tls;cert=example.com.crt;key=example.com.key’
  4. # generate self signed cert/key
  5. kaminaris 127.0.0.1:20000 127.0.0.1:30000 ‘ws;host=example.com;path=/ws;tls;servername=example.com’

Options具体含义请看文档。

EDIT: PS:
是标准的WS实现喔,可以穿CDN,也可以配合Nginx, Haproxy等中间件食用。不强制你使用kaminaris作为服务端,这跟某些玩具是有着本质的区别的(锐评一把

最后修改日期: 2022年4月10日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。