立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 66|回复: 10

[开源]ws隧道使用教程

[复制链接]

[开源]ws隧道使用教程

[复制链接]

10

主题

177

回帖

598

积分

高级会员

积分
598
dunce

10

主题

177

回帖

598

积分

高级会员

积分
598
2022-4-11 23:56:01 | 显示全部楼层 |阅读模式
本帖最后由 dunce 于 2022-4-12 00:34 编辑

接上贴 https://hostloc.com/thread-998487-1-1.html

这两天收了不少star,感谢各位。为了得到更多反馈,也方便大伙交流,我创了个TG群 https://t.me/+twL7xFkwifJiMTcx

鉴于上贴有不少MJJ要求我出个教程,那么本贴就作为教程贴,从安装到使用,一条龙服务。当然我还是建议去看一下文档(有中文),尤其是关于Options的定义部分。

========== ========== ==========

Step1:

首先去Release页面下载编译好的二进制文件(目前最新版本是v0.3.1)。架构一般都是x86_64,  libc可以选用gnu或者musl. 两者的区别在于gnu是动态链接的,需要机器上有较高版本的glibc才能启动;而musl是静态链接的,只不过性能稍微比gnu弱一点(几乎可以忽略)

可以直接进网页下载,或者用命令行下载&解压

curl:
[ol]
  • curl -sL https://github.com/zephyrchien/kaminari/releases/download/v0.3.1/kaminari-x86_64-unknown-linux-musl.tar.gz | tar -zxv[/ol]复制代码

    或者用wget:

    [ol]
  • wget -qO- https://github.com/zephyrchien/kaminari/releases/download/v0.3.1/kaminari-x86_64-unknown-linux-musl.tar.gz|tar -zxv[/ol]复制代码

    解压出来是两个二进制文件, kaminaric 和 kaminaris 分别是客户端和服务端。

    Step2:

    这两个文件安装到 /usr/bin (需要root权限)。 这一步可以省略,本身二进制文件下过来就可以直接运行了,放到 $PATH 下面只是为了省得输入路径。

    [ol]
  • cp kaminaric /usr/bin/
  • cp kaminaris /usr/bin/[/ol]复制代码

    也可以继续配置systemd,方便以后作为守护进程运行。(虽然我觉得没必要啊= =)

    Step3:

    运行客户端或者服务端。启动时需要提供三个参数,按顺序分别是本地监听地址,远程连接地址,传输选项。传输选项格式都是 name 或者 name=value ,选项间要用分号隔开,这跟SS插件的格式是一样的。 ws和tls分别通过 ws; 和 tls; 启用。都不启用则为tcp,都启用则为wss

    ws 客户端和服务端的必要参数为 path 和 host.  如果host或者path不匹配的话就没法建立连接

    tls 客户端的必要参数为 sni, 可选参数为 0rtt 和 insecure

    tls服务端的必要参数为 [cert 和 key] 或者 提供 servername 以使用自签证书

    举个最简单的例子:

    要用ws, 只要在选项里面填上 ws;host=hostloc.com;path=/chat

    要用tls(自签证书),只要在客户端填上 tls;sni=hostloc.com;insecure, 在服务端填上 tls;servername=hostloc

    如果要在服务端启用自己的证书,则填写 tls;cert=/a/b/c;key=/a/b/d, 客户端就不必insecure了

    要用wss则只要把以上两者都写上,客户端 ws;host=hostloc.com;path=/chat; tls;sni=hostloc.com;insecure,服务端ws;host=hostloc.com;path=/chat;tls;servername=hostloc

    比起其他工具,这还不够简单直接么!

    ========== ========== ==========

    以下为完整例子,例举了比较常见的使用场景。

    Example 1:

    iperf3测速(用ws转发。tls/wss同理,只要第三个参数写对了就行。)

    本地监听本地10000端口供iperf3连接, 转发到服务器a.b.com:20000;服务端的iperf3监听本地10000端口,kaminaris监听20000端口,转发到本地iperf3.

    [ol]
  • 服务端
  • iperf3 -s -p 10000
  • kaminaris 0.0.0.0:20000 127.0.0.1:10000 'ws;host=a.b.com;path=/chat'
  • 客户端
  • kaminaric 127.0.0.1:10000 a.b.com:20000 'ws;host=a.b.com;path=/chat'
  • iperf3 -c 127.0.0.1 -p 10000[/ol]复制代码

    Example 2:

    服务端经过nginx反代,nginx完整配置我就懒得贴了,只要端口和路径对上就行。比如 location为/chat,里面写 proxy_pass http://127.0.0.1:10000的话

    [ol]
  • kaminaris 127.0.0.1:10000 127.0.0.1:20000 'ws;host=a.b.com;path=/chat'[/ol]复制代码

    这样就可以把ws转换成tcp,转发到20000端口的其他服务

    Example 3:

    作为shadowsocks插件使用。可以跟v2ray-plugin混用(移动端上只能用它,没得选),反正都是标准的ws实现,都可以互通。注意要给v2ray-plugin设置mux=0,这样它就不会多路复用,收发的都是标准ws.

    [ol]
  • 服务端
  • ssserver -s "0.0.0.0:8080" -m "aes-128-gcm" -k "123456" \
  •     --plugin "path/to/kaminaris" \
  •     --plugin-opts "ws;host=example.com;path=/chat"
  • 客户端
  • sslocal -b "127.0.0.1:1080" -s "example.com:8080" -m "aes-128-gcm" -k "123456" \
  •     --plugin "path/to/kaminaric" \
  •     --plugin-opts "ws;host=example.com;path=/chat"
  • 客户端用v2ray-plugin
  • sslocal -b "127.0.0.1:1080" -s "example.com:8080" -m "aes-128-gcm" -k "123456" \
  •     --plugin "path/to/v2ray-plugin" \
  •     --plugin-opts "mux=0;host=example.com;path=/chat"[/ol]复制代码
  • 回复

    使用道具 举报

    41

    主题

    161

    回帖

    675

    积分

    高级会员

    积分
    675
    spotlight

    41

    主题

    161

    回帖

    675

    积分

    高级会员

    积分
    675
    2022-4-12 01:07:16 | 显示全部楼层
    看了下之前的帖子,就是rust实现的一个隧道,优点相比v2ray省资源,但少了其他一大堆功能。然后鄙视了一下go的库和开发者,c和cpp也顺带踩一脚。没有看出应用方面解决了什么痛点,也许代码质量高?虽然我还没看过,也没法评论
    回复

    使用道具 举报

    219

    主题

    3759

    回帖

    8733

    积分

    论坛元老

    积分
    8733
    aipage

    219

    主题

    3759

    回帖

    8733

    积分

    论坛元老

    积分
    8733
    2022-4-11 23:57:07 | 显示全部楼层
    绑定技术大佬。牛逼PLUS
    回复

    使用道具 举报

    31

    主题

    66

    回帖

    325

    积分

    中级会员

    积分
    325
    cq214

    31

    主题

    66

    回帖

    325

    积分

    中级会员

    积分
    325
    2022-4-11 23:59:10 | 显示全部楼层
    技术大佬牛逼

    回复

    使用道具 举报

    4

    主题

    176

    回帖

    764

    积分

    高级会员

    积分
    764
    Crying

    4

    主题

    176

    回帖

    764

    积分

    高级会员

    积分
    764
    2022-4-12 00:00:34 | 显示全部楼层
    支持技术人员,无私且无价,大佬
    回复

    使用道具 举报

    21

    主题

    384

    回帖

    1107

    积分

    金牌会员

    积分
    1107
    lsin

    21

    主题

    384

    回帖

    1107

    积分

    金牌会员

    积分
    1107
    2022-4-12 00:02:10 | 显示全部楼层
    支持,建群不要当保姆,弄个FAQ靠自治就完事了
    回复

    使用道具 举报

    10

    主题

    177

    回帖

    598

    积分

    高级会员

    积分
    598
    dunce 楼主

    10

    主题

    177

    回帖

    598

    积分

    高级会员

    积分
    598
    2022-4-12 00:02:57 | 显示全部楼层
    "

    好,晚点再出个FAQ!
    回复

    使用道具 举报

    10

    主题

    177

    回帖

    598

    积分

    高级会员

    积分
    598
    dunce 楼主

    10

    主题

    177

    回帖

    598

    积分

    高级会员

    积分
    598
    2022-4-12 00:02:00 | 显示全部楼层
    秒沉,这是缀痛苦的

    回复

    使用道具 举报

    21

    主题

    792

    回帖

    2367

    积分

    金牌会员

    积分
    2367
    omo.moe

    21

    主题

    792

    回帖

    2367

    积分

    金牌会员

    积分
    2367
    2022-4-12 00:11:41 | 显示全部楼层
    感谢分享,无价
    回复

    使用道具 举报

    10

    主题

    21

    回帖

    104

    积分

    注册会员

    积分
    104
    option

    10

    主题

    21

    回帖

    104

    积分

    注册会员

    积分
    104
    2022-4-12 00:18:08 | 显示全部楼层

    dunce 发表于 2022-4-12 00:11

    秒沉,这是缀痛苦的

    又试了一下,ss搭配 v2ray-plugin 直接套cf加mux=0 可以连接(不知不用对应客户端是否有提速?服务端已换)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-11-23 02:24 , Processed in 0.076907 second(s), 2 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表