本帖最后由 abccba94 于 2019-5-15 15:44 编辑
本固件发布专用贴
https://www.right.com.cn/forum/thread-207614-1-1.html
昨天刚从jd买的免费K2:
软件版本: 22.4.5.42
设备型号: K2
硬件版本: A2
据说有收集用户信息的问题: http://bbs.mydigit.cn/read.php?tid=1572590
折腾一把,先净化后研究研究:
参考如下帖子安装breed:
https://www.right.com.cn/forum/thread-204435-1-1.html
参考如下帖子安装telnet和ssh:
https://www.right.com.cn/forum/thread-189593-1-2.html
到这来可以ssh登录K2了进shell后,先把定时任务干掉
第二个任务是上面设置的定时重启,在web页面关闭 第一个任务比较可疑,半夜两点上传数据? winscp找到/usr/lib/lua/luci/tools/scheduletask.lua文件
修改
luci.sys.call("cp -f %s %s > /dev/null" % {defaultrule,crontabpath})
为 --luci.sys.call("cp -f %s %s > /dev/null" % {defaultrule,crontabpath})
luci.sys.call("touch %s" % {crontabpath})
再看有没有可疑网络程序 禁用可疑程序:
/etc/init.d/lc stop /etc/init.d/lc disable http_event_inform是厂家远程管理的tr069程序 /etc/init.d/tr069 stop /etc/init.d/tr069 disable 查看可疑进程: 禁用可疑程序: /etc/init.d/collect stop /etc/init.d/collect disable
telnet不安全,把telnet也禁掉: /etc/init.d/telnetd_startup stop /etc/init.d/telnetd_startup disable
重启后网络进程清爽了: 备份修改以后的固件:
去除鼠标右键限制:
/usr/lib/lua/luci/view/themes/bootstrap/header.htm
找到
oncontextmenu=self.event.returnValue=false
删除
增加功能,比如要增加一个定时开关WIFI的功能(睡觉时间自动将WIFI关闭)
打开/usr/lib/lua/luci/view/themes/bootstrap/header.htm
找到
<li>
<a href="#" id="timeRboot" data-toggle="modal" data-target="#timeRestartModal">定时重启路由器</a>
</li>
在下面增加:
<li>
<a href="#" id="wifiRboot" data-toggle="modal" data-target="#wifiRestartModal">定时重启WIFI</a>
</li> 界面上会出现新增菜单: 依葫芦画瓢修改header.htm增加配置界面: 还需依照/etc/config/timereboot、/usr/lib/lua/luci/controller/admin/timereboot.lua增加相应文件,省略一万字... 所有实现此功能需要修改的文件打包如下,有兴趣者可以参考:
软件包添加 现在我们尝试增加一个广告屏蔽的软件包adbyby 首先增加一个控制界面,还是修改/usr/lib/lua/luci/view/themes/bootstrap/header.htm 找到<% elseif v == "more_wlextend" then %>,在此语句上方添加: <% elseif v == "adbyby" then %>
<li><a class="list_li1_a" href="<%=nodeurl(prefix, v, nnode.query)%>" id="adbyby" style='<%if temp=="adbyby" then%> border-left:3px solid #F08300;color:#F08300;background:#F8F8F8;<%end%>'><div><span class="icon-more_safeset iconSpan"></span><span class="textSpan">广告屏蔽</span></div></a>
</li> 再依葫芦画瓢修改/usr/lib/lua/luci/view/admin_index/index.htm文件: else if(v == "adbyby")
{
nhref = "<%=luci.dispatcher.build_url("admin", "adbyby")%>";
$(tbsid).html("广告屏蔽")
} 增加/usr/lib/lua/luci/controller/admin/adbyby.lua、/usr/lib/lua/luci/model/cbi/adbyby.lua、/etc/config/adbyby等文件,文件内容可以对应目录powersave的内容进行修改。 刷新界面,出现新菜单:
修改的文件包如下: adbyby 界面修改后,需加入adbyby的可执行文件,由于adbyby的文件较大,而原版固件的剩余空间较少,只有500多K: 因此需进行变通,有人做了一个在ram中运行的adbyby版本: https://www.right.com.cn/forum/thread-191833-1-1.html 参考此程序的过程,我们可以创建一个脚本文件,比如/root/adbyby.sh,内容如下: cd /tmp
#等待网络连接成功
wget_ok="0"
rm -f 7620n.tar.gz
while [ "$wget_ok" = "0" ]
do
wget http://update.adbyby.com/download/7620n.tar.gz
if [ "$?" == "0" ]; then
wget_ok="1"
else
sleep 30
fi
done
#解压、启动adbyby
mkdir -p adbyby
tar -zvxf 7620n.tar.gz -C ./adbyby
cd ./adbyby/bin
./startadbb 修改文件权限为755,我们可以将/root/adbyby.sh加入到自启文件/etc/rc.local中,开启自动启动,不过由于要控制adbyby启动和停止,因此最好创建一个服务,新建/etc/init.d/adbyby
#!/bin/sh /etc/rc.common
START=80
start() {
/root/adbyby.sh &
}
stop() {
cd /tmp/adbyby/bin
./stopadbb
}
restart() {
stop
start
}
修改权限为755,执行/etc/init.d/adbyby enable将服务加入自启动
下一步是将界面和可执行文件关联起来。此部分主要修改/usr/lib/lua/luci/model/cbi/adbyby.lua文件,控制adbyby的停止与运行,以及读取规则文件日期,修改文件如下:
adbyby 修改的所有文件打包如下:
完整的修改后的固件如下(【0214】固件已刷新,无需更改MAC及关闭无线扩展): https://www.right.com.cn/forum/thread-207614-1-1.html
可以用两种方式烧写此固件: 1、解压后winscp上传到K2路由器的/tmp目录,然后ssh执行“mtd -r write /tmp/firmware_k2_blue_adbyby.bin firmware”即可 2、解压后可以在breed中直接烧写此固件 adbyby功能验证: K2界面显示adbyby运行状态显示“运行中”: 打开优酷视频(http://www.youku.com/),点击一个视频浏览,会自动跳过广告。
下一步计划加入S S R For Openwrt 首先重新用openwrt 14.07编译此源码项目: 将编译好的luci-app-s-sR-Client_1.2.1_all.ipk安装到K2,注意K2需修改/etc/opkg.conf,改为正确的源地址:
完整过程:
|