LEDE下udpspeederV2和udp2raw的串联方法

Linux, 折腾 2019/03/06

一开始用的koolshare的改版梅林固件,其中udpspeederV2和udp2raw的串联很简单,因为某插件的启动脚本里已经增加了相关的判断命令。

换了LEDE以后,某插件不太智能,而且把udpspeederV2和udp2raw单独做成了插件,串联启动非常不方便。

于是就是一通乱折腾,过程不再啰嗦,直接说方法。

注:

本文主要写串联的一些折腾,如果只是单独启动udpspeeder或udp2raw,文章里的部分方法需修改,但大同小异

一、准备工作

服务端我是这样运行的

某插件:绑定8080端口

udpspeeder:监听本机8080端口,并绑定6226端口

udp2raw:监听本机6226端口,绑定6227端口

大概就是这样一张图

二、路由器端

udp2raw

udpspeeder

以上只是将udpspeeder和udp2raw两个插件成功启动了,并不能实现串联,还需要手动进行分离。

三、手动分离TCP和UDP

默认情况下,LEDE里的某插件是TCP、UDP混合转发,并没有进行分离,也就是同一个进程同时负责两种流量的转发

先看一下默认的核心命令

$$r-redir -c /koolshare/$$/$$.json -u -f /var/run/kool$$.pid

-u 参数即为开启UDP转发,在开启某插件的游戏模式后,UDP流量均会通过服务器进行转发。

如果不添加 -u 参数,则只转发TCP流量。还有一个 -U 参数,意为开启UDP转发同时关闭TCP转发。

所以要做的就是,开启两个进程,分别转发TCP和UDP,开始分离:

先终止所有$$r-redir进程

killall $$r-redir

重新开启一个进程,只负责TCP转发(不加 -u 参数)

$$r-redir -c /koolshare/$$/$$.json -f /var/run/kool$$.pid

重新开启一个进程,只负责UDP转发(添加 -U 参数)

$$r-redir -s 127.0.0.1 -p 8080 -c /koolshare/$$/$$.json -U -f /var/run/kool$$.pid

这里的 -p 8080 参数,如果在第二步的udpspeeder指定的本地监听端口和某插件一致,则可以不填。否则需要指定 -p 参数

四、测试

五、写脚本

总不能每次都手动执行命令进行分离吧,写个脚本。

下载:

https://file.bugxia.com/s/HSEXgTMezsTZfwC/download

丢到LEDE任意目录,赋予755权限

如果要实现脚本自启动,方法有很多,但是为了省去各种判断

我选择修改某插件的脚本,在其start_$$_redir函数后,加入我的脚本

某插件日志



13条评论

  • needfor 评论于

    阿侠,按照你的方法,终于成功了!感谢你!

    另外,我又发现一个 udpspeeder 作者 新的加速软件: tinyfecvpn, 这个可以和udp2raw 一起用,LEDE固件里也有相关的插件。效果貌似不错,这个号称除了能加速udp, 连tcp也能加速。

    我小白,研究了几天,一直成功不了。你能看一下,出个教程吗? 你这么厉害,肯定分分钟就搞定了。

    期待

  • needfor 评论于

    阿侠! “某插件:绑定8080端口“ 这个在LEDE上面如何操作啊?我用的是$$

    • Bug侠 评论于

      @needfor 就是插件里设置的$$服务器端口

      • needfor 评论于

        @Bug侠 懂了,多谢阿侠!今天我再试试

  • needfor 评论于

    还想请假,我看大神用的是$$R, 但我用的是$$, 你的这个分离脚本 管用吗? 还是说需要再修改一下?改成$$的分离?

    • Bug侠 评论于

      @needfor $$R的转发程序是$$r-redir,$$则是$$-redir,理论上可行的。具体没测试~一直用的都是$$R

      • needfor 评论于

        @Bug侠 阿侠!又是我! 2个问题:

        1. 我用的最新的 koolshare 固件2.3, 然后最新版koolss, 还需要添加你的那个脚本吗? 我昨天看了看koolss里的原装的脚本,貌似有什么$$-redir -u什么的。

        2. 如果还要添加脚本的话,start_$$_redir函数后,之前自带的内容是需要先删掉吗?然后再添加 /koolshare/ss/udp.sh?
        还是说是自带的start_$$_redir函数那一堆不用删,在函数的最后加上你的脚本运行命令?

        方便的话,能传一个修改后的$$脚本的样本吗? 或者截个图也行!

        多谢了!

        • Bug侠 评论于

          @needfor 1.最新版的kool$$也是一样,它没有提供udpspeeder\udp2raw插件单独运行或串联的方法,需要自己手动分离。
          2.添加脚本的话,start_$$_redir函数之前自带的内容是【需要保留】的,只要在这个函数的尾部执行分离脚本即可。
          3.我测试了一下,$$和$$R的参数用法是一样的,需要把我的脚本里8、12、16行的【$$r-redir】替换为【$$-redir】就可以了。

          • needfor 评论于

            @Bug侠 感谢阿侠!!这下彻底明白了!晚上回家就试,等我的好消息吧!

  • needfor 评论于

    大神厉害!感谢分享这么有用的文章!

  • 大大的坏蛋 评论于

    6666,大佬可以教教我怎么使用udpspeed和udpdraw吗

    • Bug侠 评论于

      @大大的坏蛋 呃……我也是瞎捣鼓的

  • 妙文屋 评论于

    如此好文章一定要留下名啊

  • 评论(*号为必填项)