KoolShare

 找回密码
 立即注册
搜索
楼主: Jack-

[精品存档] 华硕路由器官方固件开机自动运行脚本方法

  [复制链接]

1

主题

18

帖子

46

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
43
魔法值
0
注册时间
2017-7-28
发表于 2017-8-17 22:36:34 | 显示全部楼层
其实可不可以这样,现在ASUS都提供源代码下载,直接在源代码上增加JFFS功能,重新编译固件,就可以免U盘运行脚本?

点评

可以,这不就是 Asus merlin 作者所做的事情吗!  发表于 2017-8-17 22:48

12

主题

511

帖子

858

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
771
魔法值
5
注册时间
2017-4-24
 楼主| 发表于 2017-8-17 22:59:32 | 显示全部楼层
挖一麻袋 发表于 2017-8-17 14:55
没有挡截到广告,用来跑脚本的U盘里面生成了这样的记录:[2017/08/17 19:23:18] minidlna.c:1250: warn: St ...


我示例中的这个屏蔽脚本的 hosts 并不是主要针对中国用户。但是您可以将针对中国用户屏蔽广告的 hosts 链接替换下面的链接。
  1. #!/bin/sh
  2. i=0
  3. while [ $i -le 20 ]; do
  4.       success_start_service=`nvram get success_start_service`
  5.       if [ "$success_start_service" == "1" ]; then
  6.               break
  7.       fi
  8.       i=$(($i+1))
  9.       echo "autorun APP: wait $i seconds...";
  10.       sleep 1
  11. done
  12. wget -q  "http://someonewhocares.org/hosts/zero/hosts" "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext" -O /etc/hosts
  13. sleep 30
  14. killall -SIGHUP dnsmasq
复制代码
然后,将脚本保存在 U 盘 asusware 或者 asusware.arm 或者 asusware.big 或者 asusware.mipsbig 文件夹中,我的路由器则是放到 asusware.arm 目录中。
文件名字是  .asusrouter(这个名字不能在 Windows 下通过重命名保存,我以前试过)

记得换行符是 CR,即“\n” 。

1

主题

18

帖子

46

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
43
魔法值
0
注册时间
2017-7-28
发表于 2017-8-17 23:13:50 | 显示全部楼层
但Asus Merlin不是每款ASUS型号都支持呀,所以有没有个通用改源码的方法,这样不支持Merlin的也可以用上脚本了。。

点评

源代码一直提供下载,你可以修改,但是非常复杂。  发表于 2017-8-18 00:04

1

主题

18

帖子

46

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
43
魔法值
0
注册时间
2017-7-28
发表于 2017-8-18 09:50:48 | 显示全部楼层
63#

很复杂的啊?还以为移植一下就可以了呢。。。

点评

需要改很多东西,U 盘算是最简单的解决方法  发表于 2017-8-18 12:38

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 11:03:43 | 显示全部楼层
Jack- 发表于 2017-8-17 22:59
我示例中的这个屏蔽脚本的 hosts 并不是主要针对中国用户。但是您可以将针对中国用户屏蔽广告的 hosts 链 ...

谢谢,我今天回去再试试。我的文件夹用telnet查出来是asusware.arm,文件名是通过软件直接按.asusrouter保存的,应该都符合你所写的要求。今天先试试替换链接来排查问题。
从昨天U盘里生成的记录来看好像有某个关卡没通过
插入U盘后需要重启路由器吗?

点评

不需要重启路由器,插入后命令就运行了。  发表于 2017-8-18 12:39

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 11:09:07 | 显示全部楼层
Jack- 发表于 2017-8-17 22:59
我示例中的这个屏蔽脚本的 hosts 并不是主要针对中国用户。但是您可以将针对中国用户屏蔽广告的 hosts 链 ...

才看到大神前面的回复,那能麻烦你先传一个做好的.asusrouter给我吗?先试试能不能运行,感谢感谢

点评

我还没有权限私发消息,就在这里留邮箱吧,3721dd@163.com,再次感谢!  发表于 2017-8-18 14:43
需要等一等可以吗?我先把手上的工作解决掉,做完就帮你,今天晚上发给你  发表于 2017-8-18 12:41

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 11:19:09 | 显示全部楼层
再问一个略白痴的问题,运行这个脚本如果成功的话(用国内适用的hosts源),过滤的是网页广告,还是能像梅林里的插件那样过滤所有视频APP的广告呢?

点评

确实,网上找到的源很多都停止更新了呢  发表于 2017-8-18 16:24
只要是互联网的广告都能过滤。但是遗憾的是,几乎没有人在维护这样一份过滤名单。  发表于 2017-8-18 12:41

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 14:41:03 | 显示全部楼层
Jack- 发表于 2017-8-17 22:59
我示例中的这个屏蔽脚本的 hosts 并不是主要针对中国用户。但是您可以将针对中国用户屏蔽广告的 hosts 链 ...

谢谢你,本来就是麻烦你的事,等你什么时候有空发给我就OK的,我先在留言里把邮箱给你吧,谢谢了。

点评

我现在有时间,但是我看到你似乎已经搞定了,如果还需要,请告诉我。  发表于 2017-8-19 04:31

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 14:43:36 | 显示全部楼层
Jack- 发表于 2017-8-17 22:59
我示例中的这个屏蔽脚本的 hosts 并不是主要针对中国用户。但是您可以将针对中国用户屏蔽广告的 hosts 链 ...

我还没有权限私发消息,就在这里留邮箱吧,3721dd@163.com,再次感谢!

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 16:17:31 | 显示全部楼层
windows 文件的换行符为:[CR][LF]
Linux和Unix文件的换行符为:[LF]
有些需要转换使用,如修改或替换安卓andriod的hosts文件,需要保证换行符为Unix形式才能使用。
其中一种办法是在linux系统中重新保存一份文件;
但是:如何在windows系统中,转换成Unix / Linux / Mac 换行符呢

用软件Sublime打开要转换的文件,
菜单 view -> Line Endings -> Unix 保存

楼主,我在网上查到了这个方法,比照着做了一份,把你原脚本里面的HOSTS 源根据(这个链接发不出)这个地址里选了两个替换,今天回去先试试。
还有你觉得U盘格式会不会有影响?

点评

CR 和 LF 我搞晕了,才发现上面我写错了  发表于 2017-8-19 04:32
U 盘格式没有影响,FAT、FAT32 或 NTFS 都行  发表于 2017-8-19 04:16

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 16:23:19 | 显示全部楼层
Gedit,Notepod++,Sublime Text 这三种编辑器都用上了,但是代码是直接复制粘贴你的格式,没有手动输入,如果还是不行我考虑手动输入做一次或是换下U盘格式。

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 16:35:40 | 显示全部楼层
参考了几个你列出的贴子,还发现一个问题,我U盘上没有安装Download Master

点评

不用安装 Asus Download Master  发表于 2017-8-19 04:16

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 21:41:07 | 显示全部楼层
再请问下,无论成不成功,我用什么命令可以查到脚本是否在运行?谢谢

点评

我给你一个命令,可以让脚本运行后结果直接显示在系统日志中,行吗?  发表于 2017-8-19 04:17

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-18 23:00:37 | 显示全部楼层
我好像成功了,但只是网页上的视频可以过滤广告(关闭CHROME的广告拦截实验的),但都会显示“广告不能正常播放”,得等完广告时间才能正常看视频,实测下来效果不如CHROME上装个ADGUARD来得方便。
对盒子APP和手机平板APP里的广告无效。
还是谢谢你,在这贴子里学到不少东西
明天去折腾远程下载了

点评

刷梅林更简单~  发表于 2017-8-19 16:31
这个对我来说又是个空白地带,等有时间再折腾了,实在不行还是准备刷梅林来过滤了,谢谢  发表于 2017-8-19 12:17
其他设备的广告,可以通过抓包,获取广告的 URL 链接,然后加入 hosts,比如 127.0.0.1 www.example.com  发表于 2017-8-19 04:29
抱歉来晚了,今天事情太多,还需要我给你发过去吗?  发表于 2017-8-19 04:18

12

主题

511

帖子

858

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
771
魔法值
5
注册时间
2017-4-24
 楼主| 发表于 2017-8-19 04:26:21 | 显示全部楼层
挖一麻袋 发表于 2017-8-18 16:00
我好像成功了,但只是网页上的视频可以过滤广告(关闭CHROME的广告拦截实验的),但都会显示“广告不能正常 ...

既然你已经成功了,教你个小技巧,让脚本运行结果显示在路由器管理界面的系统日志中。
其实很简单,就是一个命令
  1. logger xian shi nei rong
复制代码
logger 后面加入显示内容,只能是英文,比如 logger hosts begins,或者 logger hosts ends,成功运行脚本后后在系统日志中就能看到 hosts begins 或者 hosts ends

这一行直接加到之前的命令开始,和结束中就行。
修改后的如下
  1. #!/bin/sh
  2. i=0
  3. while [ $i -le 20 ]; do
  4.       success_start_service=`nvram get success_start_service`
  5.       if [ "$success_start_service" == "1" ]; then
  6.               break
  7.       fi
  8.       i=$(($i+1))
  9.       echo "autorun APP: wait $i seconds...";
  10.       sleep 1
  11. done
  12. logger hosts begins
  13. wget -q  "http://someonewhocares.org/hosts/zero/hosts" "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext" -O /etc/hosts
  14. sleep 30
  15. killall -SIGHUP dnsmasq
  16. logger hosts ends
复制代码
命令成功运行后就能在系统日志中看到 logger 后面的内容了。

点评

嗯,这样就能知道脚本运行情况了,建议运行开始前写一段,运行结束后写一段  发表于 2017-8-19 16:32
谢谢,今天把这条加进去试试,目前系统记录里只有U盘插取的记录  发表于 2017-8-19 12:13

0

主题

21

帖子

11

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
9
魔法值
0
注册时间
2016-5-25
发表于 2017-8-19 12:18:24 | 显示全部楼层
挖一麻袋 发表于 2017-8-18 14:41
谢谢你,本来就是麻烦你的事,等你什么时候有空发给我就OK的,我先在留言里把邮箱给你吧,谢谢了。 ...

恩,暂时不需要了,还是谢谢你

点评

不客气:)  发表于 2017-8-19 16:32

0

主题

5

帖子

8

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
7
魔法值
0
注册时间
2017-11-11
发表于 2017-11-12 14:30:46 | 显示全部楼层
楼主,您好,我想单线复用,自动运行robocfg命令,完全按您的操作来弄的,无奈总不能自动运行···

1

主题

9

帖子

27

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
25
魔法值
0
注册时间
2017-12-2
发表于 2017-12-13 10:25:55 来自手机 | 显示全部楼层
首先学习态度值得钦佩,但是我还是喜欢复制粘贴,比如怎么开机运行一个命令

2

主题

58

帖子

335

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
320
魔法值
0
注册时间
2016-2-20
发表于 2018-1-15 11:50:39 | 显示全部楼层
本帖最后由 xiaolu 于 2018-1-15 19:50 编辑

ac5300官方固件3.0.0.4.380_7743不能自动运行.asusrouter了,而是会判断你安装的pkg来选择运行脚本,直接放脚本在init.d下也不会运行,想了个办法,伪造了个pkg包,下载压缩包,解压后把asusware.arm放在u盘根目录就能行了,脚本在asusware.arm/etc/init.d/S50asusstartd,这个脚本是我改发射功率的,请按需求自行修改。

http://vdisk.weibo.com/s/venSgBJ2fN9

https://pan.baidu.com/s/1nwTpsGL

运行日志:
  1. Jan 15 19:13:57 usb: USB /dev/sda1(ntfs) failed to mount At the first try!
  2. Jan 15 19:13:57 kernel: tntfs error (device sda1, pid 1096): parse_options(): Unrecognized mount option codepage.
  3. Jan 15 19:13:57 usb: USB ntfs fs at /dev/sda1 mounted on /tmp/mnt/SAMSUNG.
  4. Jan 15 19:13:57 asusware: done.
  5. Jan 15 19:13:57 disk monitor: done
  6. Jan 15 19:13:57 rc_service: ntp 1057:notify_rc restart_diskmon
  7. Jan 15 19:13:57 disk_monitor: Finish
  8. Jan 15 19:13:58 disk monitor: be idle
  9. Jan 15 19:14:00 admin:  sh /opt/S50asusstartd.1 start
  10. Jan 15 19:14:00 admin: txpwr begins
  11. Jan 15 19:14:00 admin: Maximum Tx Power Target (chanspec:0x100a): 29.00 29.00 29.00 29.00
  12. Jan 15 19:14:00 admin: txpwr ends
复制代码



点评

将修改功率的代码写出来,然后我试试看。只要修改功率的那部分。  发表于 2018-2-2 05:25

2

主题

58

帖子

335

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
320
魔法值
0
注册时间
2016-2-20
发表于 2018-1-15 20:14:41 | 显示全部楼层

联系我们|手机版|KoolShare ( 沪ICP备13045430号 )

GMT+8, 2019-1-19 02:28 , Processed in 0.075000 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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