华硕 RT-AX86U 路由器折腾手记(一)

最近真是越来越懒了,在折腾的路上越走越近,哈哈。

Wifi6上纠结了好久,曾考虑软路由+AP,但看见RT-AX86U开卖了,对比了一下RT-AX88U,这个刀法,我很满意,果断入手。华硕路由还是第一次折腾,还是记录一下吧,省的往后忘记了。

一、安装那个东西

目前RT-AX86U还没有梅林可以用,所以就现先刷了koolshare的官改,然后就是安装你们都懂的辣个东西,不过目前koolshare的软件中心的安装脚本有个关键字检查,带某些关键字的包都无法在网页端上传安装,而命令行安装又过于繁琐,所以干脆把安装脚本改了吧~

找到 /koolshare/scripts/ks_tar_install.sh 打开编辑,脚本中有一个detect_package函数,就是调用这个函数来完成关键字检查的,于是乎,只要找到调用这个函数的地方,将其注释掉即可。以1.6.1版软件中心为例,利用搜索功能,找到第71行和119行两处,开头加个#即可:

 

然后就可以愉快的在网页端上传安装包安装了~

二、路由器自身走代理

装好以后一同配置猛如虎(这个版本的webgui功能整合的相对不错,dns方面的配置也比较齐全,理解难度也不大,这里我就不讲了)用起来还不错。可是用着用着发现,路由器自身咋没走代理啊,这个有点蛋疼。于是连上SSH研究了一番,然后就在 /koolshare/ss/postscripts/ 目录下看见了这个脚本文件模板:

只能说作者干得漂亮!这是一个后处理脚本,在软件自带的脚本运行完毕后会再执行这个脚本,启动时执行start部分,停止时执行stop部分。

新建 /koolshare/ss/postscripts/P01proxyrouterself.sh ,以上面的模板为基础修改即可。做的事情也很简单,给OUTPUT链加一条规则,跳转到SHADOWSOCKS链即可。

停止的时候不用任何动作,因为停的时候,原本的脚本会把SHADOWSOCKS相关的链都给删掉,包括这个脚本加的这条,所以这个后处理脚本无需任何动作。

OK,关掉代理再打开,就可以了。测试一下: curl https://wwww.google.com/

三、清理空间

本人用的这个版本是fancyss改的,加了trojan的支持,依然是带了一堆诸如kcp加速、v2ray、trojan-go、ssr等我用不到的,这些很多都是golang写的,编译出来的二进制体积巨大,整个包安完占了30MB左右的空间,遂直接到 /koolshare/bin 目录下把这些个软件的文件直接删除,实测只要你不用到这几个,删除不会造成影响,删完看一下,jffs占用从30多MB降到了13MB,舒服了。后面可以搞一些自己用得到的东西放进去

四、搞个Let’s Encrypt证书

koolshare的软件中心是有这个软件的,直接安装就行了,软件后端用的是开源shell脚本程序:acme.sh

然而发现koolshare的这个版本把dns api的支持阉割了,少了很多;我用的是dnsimple,这里面是没有的,于是再次连上SSH开始研究。web端是asp,后端是shell脚本,因为比较懒,所以用了最省事儿的办法来修改,将软件带的alidns直接替换成dnsimple。

找到 /koolshare/webs/Module_acme.asp 打开编辑,找到下面的部分,高亮的行里的文本被我改成了DNSimple,由于DNSimple的api验证只有一个参数OAuth Key,而于asp里有个函数会检查填写内容,不能为空,所以第二个参数随意填个非空值就行:

asp只是web界面,传递参数给后端,后端是shell脚本,还是要修改的,找到 /koolshare/scripts/acme_config.sh 编辑,高亮的行本来是alidns的,被我替换成dnsimple了:

然后还需要到acme.sh的github repo,把dnsimple的dns api脚本文件下载下来放到 /koolshare/acme/dnsapi 目录下

最后运行一下看不报错就行,最后证书会放在 /koolshare/acme/你的域名/ 目录下。

五、跑个trojan服务端

嗯,因为个人需求,需要路由器上跑个服务端,然而这个fancyss偏偏没这个功能。ss-server直接没有二进制文件,本人又暂时没搞定asuswrt的交叉编译,遂放弃。转trojan吧,这个服务端客户端都是同一个文件。由于系统的自启还没太搞清楚,遂直接利用前面提到的postscripts功能,让fancyss帮我启动trojan服务端。

/koolshare/configs 目录下建立trojan的服务端配置文件 trojan-server.json ,注意修改一下cert、key文件的位置,local_port改成你希望的端口号,password改成你的密码。

由于我客户端时windows连的,fast-open的支持是个问题,所以服务端干脆也不开了。

最后是自启动,新建 /koolshare/ss/postscripts/P02trojanserver.sh 写入如下内容:

start命令使用start-stop-daemon管理程序后台运行,并添加防火墙规则,允许端口传入,stop命令则是删除iptables规则并杀掉进程

端口号暂时硬写到代码里了,以后有如果有精力再改写成参数化,从配置文件读取吧

最后就是重启一下fancyss,netstat -lnp看一下trojan成功运行就可以了,最后上客户端连一下试试就行了

7 条评论

    1. cokebarcokebar 文章作者 回复

      见上方回复

  1. 头像威伯斯雲 回复

    業務合作,請聯絡vps000kf@Gmail.com謝謝。

  2. 头像GIKFEV 回复

    感謝教程分享
    求包含trojan Server的插件
    gikfev#gmail.com

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请输入验证码 * 请输入正确的验证码