仓库: 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作为服务端,这跟某些玩具是有着本质的区别的(锐评一把

分类: 教程 标签: ws隧道

评论

暂无评论数据

暂无评论数据

目录