老毛子 小米 Mini Padavan固件[脚本备份]

21,227 views次阅读
没有评论

封尘的小米Mini 刷了 Padavan 固件后很好用,现在备份一下 固件里面的脚本,以备不时只需。

 

固件

[2015-12-24]RT-AC54U-GPIO-30-xiaomimini-128M_3.4.3.9-097-12-24

 

 

运行路由器初始化之前

  1. #!/bin/sh
  2. ### Custom user script for tuning router before start
  3. ########################################################
  4. ### tune linux kernel
  5. ########################################################
  6. # backlog for UNIX sockets
  7. echo 64       > /proc/sys/net/unix/max_dgram_qlen
  8. # igmp
  9. echo 30       > /proc/sys/net/ipv4/igmp_max_memberships
  10. # arp
  11. echo 1        > /proc/sys/net/ipv4/conf/all/arp_announce
  12. echo 1        > /proc/sys/net/ipv4/conf/default/arp_announce
  13. # neigh ipv4
  14. echo 256      > /proc/sys/net/ipv4/neigh/default/gc_thresh1
  15. echo 1024     > /proc/sys/net/ipv4/neigh/default/gc_thresh2
  16. echo 2048     > /proc/sys/net/ipv4/neigh/default/gc_thresh3
  17. # ipv6
  18. if [ -d /proc/sys/net/ipv6 ] ; then
  19.   echo 256    > /proc/sys/net/ipv6/neigh/default/gc_thresh1
  20.   echo 1024   > /proc/sys/net/ipv6/neigh/default/gc_thresh2
  21.   echo 2048   > /proc/sys/net/ipv6/neigh/default/gc_thresh3
  22.   echo 16384  > /proc/sys/net/ipv6/route/max_size
  23. fi
  24. # reverse-path filter
  25. echo 1        > /proc/sys/net/ipv4/conf/default/rp_filter
  26. echo 1        > /proc/sys/net/ipv4/conf/eth2/rp_filter
  27. # conntrack
  28. echo 0        > /proc/sys/net/netfilter/nf_conntrack_checksum
  29. echo 1        > /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal
  30. echo 300      > /proc/sys/net/netfilter/nf_conntrack_generic_timeout
  31. echo 1800     > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
  32. echo 30       > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
  33. echo 50       > /proc/sys/net/netfilter/nf_conntrack_udp_timeout
  34. # panic
  35. echo 1        > /proc/sys/kernel/panic
  36. echo 1        > /proc/sys/kernel/panic_on_oops
  37. echo 0        > /proc/sys/vm/panic_on_oom

 

运行路由器启动后

  1. #!/bin/sh
  2. ### Custom user script
  3. ### Called after router started and network is ready
  4. ### Example - load ipset modules
  5. #modprobe ip_set
  6. #modprobe ip_set_hash_ip
  7. #modprobe ip_set_hash_net
  8. #modprobe ip_set_bitmap_ip
  9. #modprobe ip_set_list_set
  10. #modprobe xt_set
  11. ### 创建子程序脚本
  12. /etc/storage/script2_script.sh
  13. /etc/storage/script3_script.sh
  14. ### SD卡挂载
  15. /sbin/automount.sh mmcblk0p1 AiDisk_01
  16. ### 运行脚本1
  17. sleep 10
  18. /etc/storage/script1_script.sh
  19. /etc/storage/ez_buttons_script.sh 3 &
  20. logger -t "运行路由器启动后" "脚本完成"
  21. kmsserver()
  22. {
  23. if [ -s "/usr/bin/vlmcsd" ] ;then
  24. cat > "/tmp/vlmcsd.ini" <<-\EOF
  25. #开头的数字符号(#)或分号(;)的每一行被视为注释;删除(;)启用指定选项。
  26. #ePID/HwId设置为Windows显式
  27. 55c92734-d682-4d71-983e-d6ec3f16059f = 06401-00206-271-392041-03-1033-9600.0000-3622014 / 01 02 03 04 05 06 07 08
  28. #ePID设置为Office2010(包含Visio和Project)显式
  29. 59a52881-a989-479d-af46-f275c6370663 = 06401-00096-199-496023-03-1033-9600.0000-3622014
  30. #ePID设置为Office2013(包含Visio和Project)显式
  31. 0ff1ce15-a989-479d-af46-f275c6370663 = 06401-00206-234-409313-03-1033-9600.0000-3622014
  32. #使用自定义TCP端口
  33. ;Port = 1688
  34. #监听所有IPv4地址(默认端口1688)
  35. ;Listen = 0.0.0.0:1688
  36. #监听所有IPv6地址(默认端口1688)
  37. ;Listen = [::]:1688
  38. #程序启动时随机ePIDs(只有那些未显式指定的)
  39. ;RandomizationLevel = 1
  40. #在ePIDs中使用特定区域 (1033 = 美国英语),即使ePID是随机的
  41. ;LCID = 1033
  42. #设置最多4个同时工作(分叉进程或线程)
  43. ;MaxWorkers = 4
  44. #闲置30秒后断开用户
  45. ;ConnectionTimeout = 30
  46. #每次请求后立即断开客户端
  47. ;DisconnectClientsImmediately = yes
  48. #写一个pid文件(包含vlmcsd的进程ID的文件)
  49. ;PidFile = /var/run/vlmcsd.pid
  50. #写日志到/var/log/vlmcsd.log
  51. ;LogFile = /var/log/vlmcsd.log
  52. #创建详细日志
  53. ;LogVerbose = true
  54. #设置激活间隔2小时
  55. ;ActivationInterval = 2h
  56. #设置更新间隔7天
  57. ;RenewalInterval = 7d
  58. #运行程序的用户为vlmcsduser
  59. ;user = vlmcsduser
  60. #运行程序的组为vlmcsdgroup
  61. ;group = vlmcsdgroup
  62. #禁用或启用RPC的NDR64传输语法(默认启用)
  63. ;UseNDR64 = true
  64. #禁用或启用RPC的绑定时间特性协商(默认启用)
  65. ;UseBTFN = true
  66. EOF
  67. chmod 777 "/tmp/vlmcsd.ini"
  68. /usr/bin/vlmcsd -i /tmp/vlmcsd.ini -l /tmp/vlmcsd.log &
  69. computer_name=`nvram get computer_name`
  70. sed -Ei '/_vlmcs._tcp/d' /etc/storage/dnsmasq/dnsmasq.conf
  71. echo "srv-host=_vlmcs._tcp,$computer_name,1688,0,100" >> /etc/storage/dnsmasq/dnsmasq.conf
  72. restart_dhcpd
  73. fi
  74. }
  75. #kmsserver
  76. # Office手动激活命令:
  77. # cd C:\Program Files\Microsoft Office\Office15
  78. # cscript ospp.vbs /sethst:192.168.1.1
  79. # cscript ospp.vbs /act
  80. # cscript ospp.vbs /dstatus
  81. # windows手动激活命令
  82. # slmgr.vbs /upk
  83. # slmgr.vbs /skms 192.168.1.1
  84. # slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
  85. # slmgr.vbs /ato
  86. # slmgr.vbs /xpr
  87. # key查看
  88. # cat /etc/storage/key

 

按WPS / FN 运行按钮脚本

  1. #!/bin/sh
  2. ### Custom user script
  3. ### Called on WPS or FN button pressed
  4. ### $1 - button param
  5. [ -x /opt/bin/on_wps.sh ] && /opt/bin/on_wps.sh $1 &
  6. #copyright by hiboy
  7. [ -f /tmp/button_script.lock ] && exit 0
  8. touch /tmp/button_script.lock
  9. # 按钮名称可自定义
  10. nvram set button_script_1_s="ADbyby"
  11. nvram set button_script_2_s="SS"
  12. case "$1" in
  13. 1)
  14. # 按钮①子程序 名称可自定义
  15. button1=`nvram get button_script_1_s`
  16. logger -t "【按钮①】" "$button1"
  17. apply=`nvram get button_script_1`
  18. # 按钮①状态0时执行以下命令
  19. if [ "$apply" = 0 ]; then
  20. nvram set button_script_1="1"
  21. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  22. PIDS=$(ps | grep "/tmp/adbyby" | grep -v "grep" | wc -l)
  23. if [ "$port" = 0 ] && [ "$PIDS" = 0 ]; then
  24. logger -t "【按钮①】" "添加ADbyby转发规则、启动ADbyby"
  25. rm -f /tmp/cron_adb.lock
  26. /tmp/adbyby >/dev/null 2>&1 &
  27. sleep 2
  28. /tmp/sh_adb8118.sh A &
  29. nvram set button_script_1="1"
  30. rm -f /tmp/cron_adb.lock
  31. fi
  32. fi
  33. # 按钮①状态1 执行以下命令
  34. if [ "$apply" = 1 ]; then
  35. nvram set button_script_1="0"
  36. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  37. PIDS=$(ps | grep "/tmp/adbyby" | grep -v "grep" | wc -l)
  38. if [ "$port" -ge 1 ] && [ "$PIDS" != 0 ]; then
  39. logger -t "【按钮①】" "关闭ADbyby转发规则、关闭ADbyby"
  40. touch /tmp/cron_adb.lock
  41. /tmp/sh_adb8118.sh D &
  42. sleep 2
  43. killall -15 adbyby
  44. killall -9 adbyby
  45. nvram set button_script_1="0"
  46. touch /tmp/cron_adb.lock
  47. fi
  48. fi
  49. if [ ! -s "/tmp/adbyby" ]; then
  50. logger -t "【按钮①】" "找不到adbyby文件,请检查配置是否启动"
  51. /tmp/sh_adb8118.sh D &
  52. killall -15 adbyby
  53. killall -9 adbyby
  54. fi
  55. rm -f /tmp/button_script.lock
  56. /etc/storage/ez_buttons_script.sh 3 &
  57.   ;;
  58. 2)
  59. # 按钮②子程序
  60. button2=`nvram get button_script_2_s`
  61. logger -t "【按钮②】" "$button2"
  62. apply=`nvram get button_script_2`
  63. shadowsockssh="/tmp/AiDisk_00/shadowsocks/shadowsocks"
  64. # 按钮②状态0 执行以下命令
  65. if [ "$apply" = 0 ]; then
  66. nvram set button_script_2="1"
  67. PROCESS=$(ps | grep "ss-redir" | grep -v "grep")
  68. if [ -z "$PROCESS" ] && [ -s "/tmp/AiDisk_00/shadowsocks/shadowsocks" ]; then
  69. logger -t "【按钮②】" "启动shadowsocks进程"
  70. rm -f /tmp/cron_ss.lock
  71. $shadowsockssh off_on
  72. rm -f /tmp/cron_ss.lock
  73. nvram set button_script_2="1"
  74. fi
  75. fi
  76. # 按钮②状态1时执行以下命令
  77. if [ "$apply" = 1 ]; then
  78. nvram set button_script_2="0"
  79. PROCESS=$(ps | grep "ss-redir" | grep -v "grep")
  80. if [ ! -z "$PROCESS" ] && [ -s "/tmp/AiDisk_00/shadowsocks/shadowsocks" ]; then
  81. logger -t "【按钮②】" "关闭shadowsocks进程"
  82. touch /tmp/cron_ss.lock
  83. $shadowsockssh off_on
  84. touch /tmp/cron_ss.lock
  85. nvram set button_script_2="0"
  86. fi
  87. fi
  88. if [ ! -s "/tmp/AiDisk_00/shadowsocks/shadowsocks" ]; then
  89. logger -t "【按钮②】" "opt缺少/tmp/AiDisk_00/shadowsocks/shadowsocks文件"
  90. logger -t "【按钮②】" "请检查配置是否启动shadowsocks"
  91. logger -t "【按钮②】" "请更新opt文件夹,检查U盘文件和Entware设置"
  92. fi
  93. rm -f /tmp/button_script.lock
  94. /etc/storage/ez_buttons_script.sh 3 &
  95.   ;;
  96. 3)
  97. # 按钮状态检测子程序
  98. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  99. if [ "$port" -ge 1 ]; then
  100. nvram set button_script_1="1"
  101. else
  102. nvram set button_script_1="0"
  103. fi
  104. PROCESS=$(ps | grep "ss-redir" | grep -v "grep")
  105. if [ -z "$PROCESS" ]; then
  106. nvram set button_script_2="0"
  107. else
  108. [ -s "/tmp/AiDisk_00/shadowsocks/shadowsocks" ] && nvram set button_script_2="1"
  109. fi
  110.   ;;
  111. esac
  112. rm -f /tmp/button_script.lock

 

自定义脚本0功能详细配置:adbyby、ShadowSocks、DDNS、迅雷等功能详细设置

  1. #!/bin/sh
  2. #copyright by hiboy
  3. [ -f /tmp/script0.lock ] && exit 0
  4. touch /tmp/script0.lock
  5. #↓↓↓功能详细设置(应用设置重启后生效,不能断电重启,要点击右上角重启按钮)↓↓↓
  6. #多次检测断线后自动重启功能 reb_0关闭;reb_1启动
  7. touch /tmp/reb_0.lock
  8. # adbyby 功能 0关闭;1启动
  9. adbybys=0
  10. adbybyfile='http://code.taobao.org/svn/padavanrt-n56uopt/7620v151210.tgz'
  11. adbybyfile2='http://update.adbyby.com/download/7620n.tar.gz'
  12. #CPU占用率较高时自动关闭adbyby 功能 0关闭;1启动 (其他进程占用过高也会关闭adbyby)
  13. CPUAverages=0
  14. # 加载第三方adblock规则【不建议启用第三方规则】 0关闭;1启动(可选项:删除前面的#可生效)
  15. adblocks=0
  16. cat > "/tmp/rule_DOMAIN.txt" <<-\EOF
  17. # 【可选多项,会占用内存:删除前面的#可生效】
  18. # 【ckaiuang个人收集】ADP规则分享[2015.8.16重新整理和验证规则说明和地址]
  19. # [综合型]【1】—EasyList China[cjx82630]
  20. # https://easylist-downloads.adblockplus.org/easylistchina.txt
  21. # 规则说明:EasyList China主要包含原ChinaList(2014.3.25止约2900条规则)、原cjxlist(对前者的补充,2014.3.21止约2500条规则)。
  22. # [综合型]【2】—EasyList Lite[cjx82630]
  23. # https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt
  24. # 规则说明:EasyList Lite是EasyList的精简,即只收录在中文网站能用到的EasyList规则。约300多K,适合较少访问外国网站的用户。占用内存少。
  25. # [补充型]【3】—CJX's Annoyance List[cjx82630]
  26. # https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt
  27. # 规则说明:过滤烦人的自我推广,并作为EasyPrivacy的补充。
  28. # [隐私保护型]【4】—EasyPrivacy
  29. # https://easylist-downloads.adblockplus.org/easyprivacy.txt
  30. # 规则说明:EasyPrivacy是附属于EasyList的补充型订阅规则。用于尽可能阻止网站及广告商在内的第三方用户跟踪脚本,以减少用户浏览历史被记录,从而保护您的个人资料。这些脚本一般被用于网站精确广告投放的数据统计。因此,只要不过滤用户跟踪脚本,广告商就知道你详细的浏览记录。这些广告商包括百度,google,51,CNZZ等。
  31. # [综合型]【5】—TW过滤规则[xwhyc]
  32. # http://bbs.theworld.cn/attachment.php?aid=MTE0NDQ4fDUyZjc3Mjc3fDEzOTc5MTM1OTh8NDczMHBuYytiNk1yR0dQa2lqdGFyOXg1R29QNEVaUjJoYTNIb0U4bXFHeVM0eGM%3D
  33. # 规则说明:本规则为完全独立规则,非其他规则辅助规则,以简洁、效率为主,建议只安装本规则
  34. # [补充型]【6】—Simple List
  35. # https://raw.githubusercontent.com/JixunMoe/SimpleList/master/build/SimpleList.txt
  36. # 规则说明:对ChinaList的一些查漏补缺。
  37. # [组合型]【7】—Fanboy Ultimate List[Fanboy旗舰]
  38. # https://secure.fanboy.co.nz/r/fanboy-ultimate.txt
  39. # [备用]https://www.fanboy.co.nz/r/fanboy-ultimate.txt
  40. # 规则说明:该规则包含Easylist、Easyprivacy、Enhanced Trackers List和Annoyances List。
  41. # 1、EasyList是主要的订阅规则,清除网页广告以及不必要的框架、图像和对象;
  42. # 2、EasyPrivacy是附属于EasyList的补充型订阅规则。用于尽可能阻止网站及广告商在内的第三方用户跟踪脚本,以减少用户浏览历史被记录,从而保护您的个人资料。这些脚本一般被用于网站精确广告投放的数据统计。因此,只要不过滤用户跟踪脚本,广告商就知道你详细的浏览记录。这些广告商包括百度,google,51,CNZZ等;
  43. # 3、Enhanced Trackers List用于过滤用户跟踪脚本的过滤,可能是EasyPrivacy的补充;
  44. # 4、Fanboy-Annoyances List能删除网上的烦恼,从而大大减少网页加载时间;
  45. # 5、Fanboy Social List移除社交媒体的反馈数据;
  46. # 6、Fanboy Complete List包含Easylist、Easyprivacy和Enhanced Trackers List。
  47. # http://code.taobao.org/svn/padavanrt-n56uopt/userh.txt
  48. EOF
  49. # 添加过滤白名单地址 0关闭;1启动 (可选项:删除前面的#可生效)
  50. whitelist=0
  51. whitehost=qq.com,bilibili.com,acfun.tv
  52. # opt 自动更新(替换覆盖opt文件夹) 0关闭;1启动
  53. upopt=0
  54. #【1;安装到U盘(installs=1)】请设置:
  55. # ①删除U盘根目录"opt"文件夹(自动安装时会自动创建)
  56. # ②USB 应用程序 - 其它设置 - 允许运行Optware?选择"Entware"
  57. #
  58. #【2;安装到内存(installs=2),需要空余内存:10M】请设置:
  59. # ①没有百度云、迅雷
  60. # ②USB 应用程序 - 其它设置 - 允许运行Optware?选择"否"
  61. installs=1
  62. ssfile='http://code.taobao.org/svn/padavanrt-n56uopt/optupanv.tgz'
  63. ssfile2='http://code.taobao.org/svn/padavanrt-n56uopt/opttmpv.tgz'
  64. # 轻量级隧道代理shadowsocks 功能【0关闭】;【1智能代理,请选择方案】;【2全部走代理】
  65. ssproxys=0
  66. #【gfwlists=1;方案一SS+pdnsd+chinadns,国外站点走代理】
  67. #【gfwlists=2;方案二SS+pdnsd+gfwlist(推荐),只有被墙的站点才走代理】
  68. gfwlists=2
  69. # 部署Pcap_DNSProxy (替换ChinaDNS、pdnsd) 0关闭;1启动
  70. DNSProxy=0
  71. # udprelay(UDP代理)SS+ss_tunnel(请确认服务器是否支持UDP转发) 0关闭;1启动
  72. udprelay=0
  73. # shadowsocks 服务器配置
  74. server_ip=100.100.100.100
  75. server_port=1024
  76. server_password=Hello123World
  77. server_method=aes-256-cfb
  78. # 加密方式按需选择,table,rc4,rc4-md5,aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, camellia-128-cfb, camellia-192-cfb, camellia-256-cfb, cast5-cfb, des-cfb
  79. local_port=1080
  80. cat > "/tmp/gfwlist_DOMAIN.txt" <<-\EOF
  81. # 方案二SS的gfwlist添加例子
  82. server=/.tvb.com/208.67.222.222#443
  83. ipset=/.tvb.com/gfw_black_list
  84. server=/.steampowered.com/208.67.222.222#443
  85. ipset=/.steampowered.com/gfw_black_list
  86. server=/.github.io/208.67.222.222#443
  87. ipset=/.github.io/gfw_black_list
  88. EOF
  89. # syncy 功能 0关闭;1启动(需要插入U盘安装opt)
  90. syncys=0
  91. #SyncY配置文件路径(写字板打开修改):\\192.168.1.1\Media\AiDisk_a1\opt\etc\syncy
  92. #配置说明:http://www.syncy.cn/index.php/syncyconfighelp/"
  93. #可以多个同步目录,直接复制一个config syncpath配置节,然后修改相应的localpath、remotepath等就可以了
  94. #默认模式:upload+
  95. #同步模式类型:upload,upload+,download,download+,sync
  96. # 迅雷远程下载 功能(需要插入U盘安装opt)【0关闭】;【1启动】说明看系统日志
  97. xunleis=0
  98. # 迅雷快鸟 功能【0关闭】;
  99. #【FastDicks=1插U盘启动】
  100. #【FastDicks=2免U盘启动】
  101. #【2免U盘启动】需要填写在下方的【迅雷快鸟脚本】,生成脚本两种方法:
  102. # ①插入U盘,配置自定义脚本【1插U盘启动】启动快鸟一次即可自动生成
  103. # ②打开https://github.com/fffonion/Xunlei-FastDick,按照网页的说明在PC上运行脚本,登陆成功后会生成swjsq_wget.sh,把swjsq_wget.sh的内容粘贴此处即可
  104. # 生成后需要到【系统管理】 - 【恢复/导出/上传设置】 - 【路由器内部存储 (/etc/storage)】【提交】保存脚本
  105. FastDicks=0
  106. uid="账号"
  107. pwd="密码"
  108. # DDNS(删除#/tmp/sh_ddns.sh前面的#即可启动命令)
  109. #/tmp/sh_ddns.sh /tmp/orayddns.log 'http://您的花生壳帐号:您的帐号密码@ddns.oray.com/ph/update?&hostname=你的ddns域名' &
  110. #/tmp/sh_ddns.sh /tmp/3322ddns.log 'http://DDNS用户名:DDNS密码@members.3322.org/dyndns/update?hostname=你的ddns域名' &
  111. #/tmp/sh_ddns.sh /tmp/oyeddns.log 'http://www.gwa2011.com/nsupdate.php?ddns_name=昵称&ddns_password=密码' &
  112. ###注册地址http://www.gwa2011.com/
  113. # 花生壳内网版【0关闭】;【1启动】需要插入U盘安装opt
  114. phddns=0
  115. #↑↑↑功能详细设置↑↑↑
  116. echo "" > /var/log/shadowsocks_watchdog.log
  117. echo "" > /var/log/Pcap_DNSProxy_watchdog.log
  118. echo "" > /var/log/chinadns_watchdog.log
  119. upopt()
  120. {
  121. rm -f /tmp/optv.txt
  122. wget -O "/tmp/optv.txt" "http://code.taobao.org/svn/padavanrt-n56uopt/optv.txt"
  123. if [ $(cat /tmp/optv.txt) != $(cat /opt/optv.txt) ] && [ -f /tmp/optv.txt ]; then
  124. if [ "$upopt" != "0" ] ; then
  125. logger -t "【opt】" "opt需要更新,自动启动更新"
  126. rm -f /opt/optv.txt
  127. else
  128. logger -t "【opt】" "opt需要更新,请启动自动更新或手动更新"
  129. fi
  130. else
  131. logger -t "【opt】" "opt不需更新"
  132. fi
  133. }
  134. logger -t "自定义脚本0" "脚本完成"
  135. rm -f /tmp/script0.lock

 

自定义脚本1

  1. #!/bin/sh
  2. #copyright by hiboy
  3. [ -f /tmp/script1.lock ] && exit 0
  4. touch /tmp/script1.lock
  5. . /etc/storage/script0_script.sh
  6. http_username=`nvram get http_username`
  7. export PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
  8. export LD_LIBRARY_PATH=/opt/lib:/lib
  9. /tmp/sh_dnsmasqs.sh 0
  10. sed -Ei '/taobao.org/d' /etc/storage/dnsmasq/dnsmasq.servers
  11. echo 'server=/taobao.org/223.5.5.5' >> /etc/storage/dnsmasq/dnsmasq.servers
  12. restart_dhcpd
  13. /etc/storage/inet_state_script.sh 20
  14. baidu='http://passport.baidu.com/passApi/img/small_blank.gif'
  15. /tmp/sh_download.sh /tmp/small_blank.gif $baidu
  16. rb=1
  17. while [ ! -s /tmp/small_blank.gif ];
  18. do
  19. logger -t "自定义脚本1" "等待联网后开始脚本"
  20. sleep 20
  21. /tmp/sh_download.sh /tmp/small_blank.gif $baidu
  22. rb=`expr $rb + 1`
  23. if [ "$rb" -gt 3 ] ; then
  24. logger -t "自定义脚本1" "等待联网超时"
  25. exit
  26. fi
  27. done
  28. rm -f /tmp/small_blank.gif
  29. cat > "/tmp/sh_downloads_adblock.sh" <<-EOF
  30. #!/bin/sh
  31. adblocks=$adblocks
  32. lazy="http://update.adbyby.com/rule3/lazy.txt"
  33. video="http://update.adbyby.com/rule3/video.txt"
  34. rm -f /tmp/data/lazy.txt
  35. rm -f /tmp/data/video.txt
  36. rm -f /tmp/data/lazy.bin
  37. rm -f /tmp/data/video.bin
  38. rm -f /tmp/data/user.bin
  39. rm -f /tmp/data/user.txt
  40. sed -e '/.*update.adbyby.com/d' -i /etc/storage/dnsmasq/hosts
  41. restart_dhcpd
  42. sleep 5
  43. /tmp/sh_download.sh /tmp/data/lazy.txt \$lazy
  44. /tmp/sh_download.sh /tmp/data/video.txt \$video
  45. #echo '127.0.0.1 update.adbyby.com' >> /etc/storage/dnsmasq/hosts
  46. restart_dhcpd
  47. if [ "\$adblocks" != "0" ] ; then
  48. mkdir -p /tmp/data
  49. logger -t "adbyby" "下载adblock规则"
  50. while read line
  51. do
  52. c_line=\`echo \$line |grep -v "#"\`
  53. if [ ! -z "\$c_line" ] ; then
  54. rm -f /tmp/data/user2.txt
  55. logger -t "adbyby" "下载规则:\$line"
  56. /tmp/sh_download.sh /tmp/data/user2.txt \$line
  57. grep -v '^!' /tmp/data/user2.txt | grep -E '^(@@\\||\\||[[:alnum:]])' | sort -u  >> /tmp/data/user.txt
  58. rm -f /tmp/data/user2.txt
  59. fi
  60. done < /tmp/rule_DOMAIN.txt
  61. fi
  62. grep -v '^!' /etc/storage/adbyby_rules_script.sh >> /tmp/data/user.txt
  63. EOF
  64. chmod 777 "/tmp/sh_downloads_adblock.sh"
  65. cat > "/tmp/sh_white_list.sh" <<-EOF
  66. #!/bin/sh
  67. whitelist=$whitelist
  68. if [ "\$whitelist" != "0" ] ; then
  69. logger -t "adbyby" "添加过滤白名单地址"
  70. logger -t "adbyby" "加白地址:$whitehost"
  71. echo whitehost=$whitehost >> /tmp/adhook.ini
  72. fi
  73. EOF
  74. chmod 777 "/tmp/sh_white_list.sh"
  75. cat > "/tmp/sh_func_load_adbyby.sh" <<-EOF
  76. #!/bin/sh
  77. adbybys=$adbybys
  78. adbybyfile=$adbybyfile
  79. adbybyfile2=$adbybyfile2
  80. adblocks=$adblocks
  81. CPUAverages=$CPUAverages
  82. if [ "\$adbybys" != "0" ] && [ ! -f /tmp/cron_adb.lock ]; then
  83. touch /tmp/cron_adb.lock
  84. killall sh_mon.sh
  85. killall sh_CPUAverage.sh
  86. /tmp/sh_adb8118.sh D
  87. killall -15 adbyby
  88. killall -9 adbyby
  89. if [ ! -s "/tmp/adbyby" ] ;then
  90. rm -f /tmp/adbyby
  91. logger -t "adbyby" "开始下载7620n.tar.gz"
  92. /tmp/sh_download.sh /tmp/7620n.tar.gz \$adbybyfile \$adbybyfile2
  93. /tmp/sh_untar.sh /tmp/7620n.tar.gz /tmp /tmp/adbyby
  94. fi
  95. if [ -s "/tmp/adbyby" ] ;then
  96. chmod 777 /tmp/adbyby
  97. /tmp/sh_downloads_adblock.sh
  98. /tmp/sh_white_list.sh
  99. /tmp/adbyby > /tmp/adbyby.log&
  100. sleep 3
  101. /tmp/adbyby > /tmp/adbyby.log&
  102. #/tmp/adbyby --no-daemon &
  103. sleep 3
  104. killall -15 adbyby
  105. killall -9 adbyby
  106. sleep 3
  107. /tmp/adbyby >/dev/null 2>&1 &
  108. if [ "\$adblocks" != "0" ] ; then
  109. logger -t "adbyby" "加载adblock规则,等候60秒"
  110. sleep 60
  111. else
  112. sleep 20
  113. fi
  114. fi
  115. if [ -s "/tmp/adbyby.log" ] ;then
  116. logger -t "adbyby" "启动完成"
  117. rm -f /tmp/adbyby.log
  118. rm -f /tmp/7620n.tar.gz
  119. rm -f /tmp/cron_adb.lock
  120. logger -t "adbyby" "lazy更新:\`sed -n '1p' /tmp/data/lazy.txt\`"
  121. logger -t "adbyby" "video更新:\`sed -n '1p' /tmp/data/video.txt\`"
  122. /tmp/sh_mon.sh&
  123. if [ "\$CPUAverages" != "0" ] ; then
  124. /tmp/sh_CPUAverage.sh&
  125. fi
  126. fi
  127. fi
  128. EOF
  129. chmod 777 "/tmp/sh_func_load_adbyby.sh"
  130. sleep 5
  131. rm -f /tmp/cron_adb.lock
  132. /tmp/sh_func_load_adbyby.sh
  133. if [ ! -s "/tmp/adbyby" ] ;then
  134. rm -f /tmp/7620n.tar.gz
  135. logger -t "adbyby" "功能关闭"
  136. fi
  137. upanPath=`ls -l /media/ | awk '/^d/ {print $NF}' | sed -n '1p'`
  138. optw_enable=`nvram get optw_enable`
  139. if [ "$syncys" != "0" ] || [ "$FastDicks" = "1" ] || [ "$ssproxys" != "0" ] || [ "$phddns" != "0" ] && [ "$installs" = "1" ] ; then
  140. logger -t "opt" "optU盘安装,模式:$installs"
  141. if [ "$optw_enable" = "2" ] ; then
  142. SSPath="/media/$upanPath/opt"
  143. if [ ! -x "$SSPath" ]; then
  144. mkdir -p /media/$upanPath/opt
  145. mount -o bind /media/$upanPath/opt /opt
  146. fi
  147. ln -sf /media/$upanPath /tmp/AiDisk_00
  148. upopt
  149. /tmp/sh_installs.sh $ssfile
  150. else
  151. logger -t "opt" "U盘安装失败,需要开启Entware运行环境,请插入U盘,按要求设置"
  152. syncys=0
  153. xunleis=0
  154. logger -t "opt" "U盘安装失败,自动转换内存安装"
  155. "$installs" = "1" ] && installs=2
  156. "$FastDicks" = "1" ] && FastDicks=2
  157. fi
  158. fi
  159. if [ "$ssproxys" != "0" ] || [ "$phddns" != "0" ] && [ "$installs" = "2" ] ; then
  160. logger -t "opt" "opt内存安装,模式:$installs,没有百度云、迅雷"
  161. if [ "$optw_enable" = "0" ] ; then
  162. mkdir -p /tmp/AiDisk_00/opt
  163. mount -o bind /tmp/AiDisk_00/opt /opt
  164. upopt
  165. /tmp/sh_installs.sh $ssfile2
  166. rm -f /opt/opt.tgz
  167. rm -fR /opt/shadowsocks
  168. syncys=0
  169. xunleis=0
  170. URLDNSP="http://code.taobao.org/svn/padavanrt-n56uopt/Pcap_DNSProxy-0.4.4.5-statically_mipsel/opt/bin/Pcap_DNSProxy"
  171. "$DNSProxy" != "0" ] && /tmp/sh_download.sh "/opt/bin/Pcap_DNSProxy" $URLDNSP
  172. else
  173. logger -t "SS" "内存安装失败,需要关闭Entware运行环境,请按要求设置"
  174. syncys=0
  175. xunleis=0
  176. phddns=0
  177. ssproxys=0
  178. installs=0
  179. fi
  180. fi
  181. shadowsockssh="/tmp/AiDisk_00/shadowsocks/shadowsocks"
  182. err="请更新opt文件夹、检查U盘文件和Entware设置"
  183. if [ ! -s "/tmp/AiDisk_00/shadowsocks/shadowsocks" ] ;then
  184. ssproxys=0
  185. logger -t "SS" "opt缺少shadowsocks文件,$err"
  186. fi
  187. if [ "$ssproxys" != "0" ] ; then
  188. logger -t "SS" "生成服务器配置文件"
  189. logger -t "SS" "server_ip:$server_ip"
  190. if [ ! -z /opt/bin/resolveip ]; then
  191. server_ip=`/opt/bin/resolveip $server_ip | grep -v : | sed -n '1p'`
  192. logger -t "SS" "resolveip:$server_ip"
  193. fi
  194. cat > "/opt/etc/shadowsocks.json" <<-EOF
  195. {
  196. "server":"$server_ip",
  197. "server_port":$server_port,
  198. "local_address":"0.0.0.0",
  199. "local_port":$local_port,
  200. "password":"$server_password",
  201. "timeout":60,
  202. "method":"$server_method"
  203. }
  204. EOF
  205. echo $udprelay > /tmp/udprelay.lock
  206. echo $DNSProxy > /tmp/DNSProxy.lock
  207. if [ "$ssproxys" = "1" ] ; then
  208. if [ "$gfwlists" = "1" ] ; then
  209. logger -t "SS" "$ssproxys【1;方案一】"
  210. echo "1" > /tmp/SSProxy.lock
  211. $shadowsockssh set_up
  212. else
  213. logger -t "SS" "$ssproxys【2;方案二】"
  214. echo "2" > /tmp/SSProxy.lock
  215. $shadowsockssh set_up
  216. fi
  217. fi
  218. if [ "$ssproxys" = "2" ] ; then
  219. logger -t "SS" "$ssproxys【全部走代理】"
  220. echo "3" > /tmp/SSProxy.lock
  221. $shadowsockssh set_up
  222. fi
  223. /tmp/sh_ssmon.sh $gfwlists&
  224. fi
  225. if [ "$ssproxys" = "0" ] ; then
  226. logger -t "SS" "关闭,自动删除dnsmasqs配置"
  227. echo "0" > /tmp/SSProxy.lock
  228. /tmp/sh_dnsmasqs.sh 0 && restart_dhcpd && rm -f /var/log/shadowsocks.lock
  229. $shadowsockssh stop && sleep 2
  230. fi
  231. if [ "$syncys" != "0" ] ; then
  232. if [ ! -s "/opt/etc/syncy.py" ] ;then
  233. logger -t "syncy" "opt缺少syncy.py文件,$err"
  234. else
  235. logger -t "syncy" "启动syncy服务"
  236. sed -i 's/\r//g' /opt/etc/syncy
  237. python /opt/etc/syncy.py &
  238. sleep 25
  239. /tmp/sh_syncyquota.sh&
  240. fi
  241. fi
  242. if [ "$xunleis" != "0" ] ; then
  243. echo "1" > /tmp/xunleis.lock
  244. /tmp/sh_xun_lei.sh $xunleis /media/$upanPath/xunlei &
  245. fi
  246. if [ "$FastDicks" != "0" ] ; then
  247. echo "1" > /tmp/FastDicks.lock
  248. /tmp/sh_FastDick.sh $FastDicks $uid $pwd &
  249. fi
  250. if [ "$phddns" != "0" ] ; then
  251. if [ ! -s "/opt/phddns2/oraynewph.sh" ] ;then
  252. logger -t "花生壳内网版" "opt缺少oraynewph.sh文件,$err"
  253. else
  254. if [ "$installs" = "2" ] ; then
  255. ln -sf "/etc/storage/PhMain.ini" "/etc/PhMain.ini"
  256. ln -sf "/etc/storage/init.status" "/etc/init.status"
  257. wphddns2="http://code.taobao.org/svn/padavanrt-n56uopt/phddns2/bin"
  258. /tmp/sh_download.sh "/opt/phddns2/bin/oraynewph" "$wphddns2/oraynewph"
  259. /tmp/sh_download.sh "/opt/phddns2/bin/oraysl" "$wphddns2/oraysl"
  260. logger -t "花生壳内网版" "现在是免U盘运行,请绑定账号后【提交】内部存储保存配置"
  261. else
  262. ln -sf "/etc/storage/PhMain.ini" "/etc/PhMain.ini"
  263. ln -sf "/etc/storage/init.status" "/etc/init.status"
  264. fi
  265. /opt/phddns2/oraynewph.sh start &
  266. sleep 28
  267. /opt/phddns2/oraynewph.sh status &
  268. /tmp/sh_orayd.sh &
  269. sleep 5
  270. fi
  271. fi
  272. logger -t "自定义脚本1" "脚本完成"
  273. /etc/storage/crontabs_script.sh &
  274. upopt
  275. rm -f /tmp/script1.lock

 

自定义脚本2

  1. #!/bin/sh
  2. #copyright by hiboy
  3. [ -f /tmp/script2.lock ] && exit 0
  4. touch /tmp/script2.lock
  5. cat > "/tmp/sh_download.sh" <<-\EOF
  6. #!/bin/sh
  7. output=$1
  8. url1=$2
  9. url2=$3
  10. [ -z "$url2" ] && url2=$url1
  11. rm -f $output
  12. wget -O $output $url1 --continue
  13. if [ ! -s "$output" ] ;then
  14. logger -t "sh_download" "下载失败:【$output】 URL:【$url1】"
  15. logger -t "sh_download" "重新下载:【$output】 URL:【$url2】"
  16. rm -f $output
  17. sleep 16
  18. wget -O $output $url2 --continue
  19. fi
  20. if [ ! -s "$output" ] ;then
  21. logger -t "sh_download" "下载失败:【$output】 URL:【$url2】"
  22. exit 1
  23. else
  24. chmod 777 $output
  25. fi
  26. EOF
  27. chmod 777 "/tmp/sh_download.sh"
  28. cat > "/tmp/sh_untar.sh" <<-\EOF
  29. #!/bin/sh
  30. flie=$1
  31. output=$2
  32. outputflie=$3
  33. tar -xzvf $flie -C $output
  34. if [ ! -s "$outputflie" ] ;then
  35. logger -t "sh_untar" "解压不正常:$1"
  36. exit 1
  37. fi
  38. EOF
  39. chmod 777 "/tmp/sh_untar.sh"
  40. cat > "/tmp/sh_ddns.sh" <<-\EOF
  41. #!/bin/sh
  42. flie=$1
  43. url=$2
  44. logger -t "ddns" "更新IP地址-$flie"
  45. while [ "1" ];
  46. do
  47. wget -O $flie $url --continue
  48. sleep 666
  49. continue
  50. done
  51. EOF
  52. chmod 777 "/tmp/sh_ddns.sh"
  53. cat > "/tmp/sh_adb8118.sh" <<-\EOF
  54. #!/bin/sh
  55. adb=$1
  56. if [ "$adb" = "D" ] ; then
  57. iptables -t nat -D PREROUTING -p tcp --dport 80 -j ad_byby
  58. logger -t "iptables" "删除8118转发规则"
  59. #echo '127.0.0.1 update.adbyby.com' >> /etc/storage/dnsmasq/hosts
  60. iptables -t nat -D ad_byby -p tcp --dport 80 -j REDIRECT --to-ports 8118
  61. iptables -t nat -F ad_byby &> /dev/null
  62. iptables -t nat -X ad_byby &> /dev/null
  63. ipset destroy ad_byby &> /dev/null
  64. iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118
  65. else
  66. logger -t "iptables" "添加8118转发规则"
  67. sed -e '/.*update.adbyby.com/d' -i /etc/storage/dnsmasq/hosts
  68. iptables -t nat -N ad_byby
  69. iptables -t nat -A ad_byby -d `nvram get lan_ipaddr` -j RETURN
  70. iptables -t nat -A ad_byby -p tcp --dport 80 -j REDIRECT --to-ports 8118
  71. iptables -t nat -A PREROUTING -p tcp --dport 80 -j ad_byby
  72. fi
  73. /etc/storage/ez_buttons_script.sh 3 &
  74. restart_dhcpd
  75. EOF
  76. chmod 777 "/tmp/sh_adb8118.sh"
  77. cat > "/tmp/sh_mon.sh" <<-\EOF
  78. #!/bin/sh
  79. logger -t "adbyby" "adbyby 进程守护启动"
  80. rm -f /tmp/cron_adb.lock
  81. reb=1
  82. while [ "1" ];
  83. do
  84. if [ -s "/tmp/adbyby" ] ;then
  85. if [ ! -f /tmp/cron_adb.lock ]; then
  86. if [ "$reb" -gt 5 ] && [ ! -f /tmp/reb_0.lock ] ; then
  87. LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
  88. echo '['$LOGTIME'] 网络连接中断['$reb'],reboot.' >> /opt/log.txt 2>&1
  89. sleep 5
  90. reboot
  91. fi
  92. #wget --spider --quiet --timeout=6 www.baidu.com
  93. #if [ "$?" == "0" ]; then
  94. baidu='http://passport.baidu.com/passApi/img/small_blank.gif'
  95. /tmp/sh_download.sh /tmp/small_blank.gif $baidu
  96. if [ ! -s /tmp/small_blank.gif ]; then
  97. restart_dhcpd
  98. sleep 30
  99. /tmp/sh_download.sh /tmp/small_blank.gif $baidu
  100. fi
  101. if [ -s /tmp/small_blank.gif ]; then
  102. reb=1
  103. PIDS=$(ps | grep "/tmp/adbyby" | grep -v "grep" | wc -l)
  104. if [ "$PIDS" = 0 ]; then
  105. logger -t "adbyby" "网络连接正常"
  106. logger -t "adbyby" "找不到进程,重启adbyby"
  107. /tmp/sh_adb8118.sh D
  108. killall -15 adbyby
  109. killall -9 adbyby
  110. sleep 3
  111. /tmp/adbyby >/dev/null 2>&1 &
  112. sleep 20
  113. reb=`expr $reb + 1`
  114. continue
  115. fi
  116. if [ "$PIDS" -gt 2 ]; then
  117. logger -t "adbyby" "进程重复,重启adbyby"
  118. /tmp/sh_adb8118.sh D
  119. killall -15 adbyby
  120. killall -9 adbyby
  121. sleep 3
  122. /tmp/adbyby >/dev/null 2>&1 &
  123. sleep 20
  124. continue
  125. fi
  126. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  127. if [ "$port" = 0 ]; then
  128. logger -t "adbyby" "找不到8118转发规则,重新添加"
  129. /tmp/sh_adb8118.sh A
  130. fi
  131. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  132. if [ "$port" -gt 1 ]; then
  133. logger -t "adbyby" "有多个8118转发规则,删除多余"
  134. while [[ "$port" != 1 ]]
  135. do
  136. /tmp/sh_adb8118.sh D
  137. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  138. done
  139. fi
  140. sleep 66
  141. else
  142. logger -t "adbyby" "网络连接中断$reb,关闭adbyby"
  143. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  144. while [[ "$port" != 0 ]]
  145. do
  146. /tmp/sh_adb8118.sh D
  147. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  148. done
  149. PIDS=$(ps | grep "adbyby" | grep -v "grep" | wc -l)
  150. if [ "$PIDS" != 0 ]; then
  151. killall -15 adbyby
  152. killall -9 adbyby
  153. fi
  154. reb=`expr $reb + 1`
  155. fi
  156. fi
  157. fi
  158. /etc/storage/ez_buttons_script.sh 3 &
  159. sleep 65
  160. continue
  161. done
  162. EOF
  163. chmod 777 "/tmp/sh_mon.sh"
  164. cat > "/tmp/sh_CPUAverage.sh" <<-\EOF
  165. #!/bin/sh
  166. logger -t "adbyby" "路由器负载监控启动"
  167. while [ "1" ];
  168. do
  169. if [ ! -f /tmp/cron_adb.lock ]; then
  170. CPULoad=`uptime |sed -e 's/\ *//g' -e 's/.*://g' -e 's/,.*//g' -e 's/\..*//g'`
  171. if [ $((CPULoad)) -ge "2" ];then
  172. logger -t "adbyby" "CPU负载拥堵,关闭adbyby"
  173. /tmp/sh_adb8118.sh D
  174. killall -15 adbyby
  175. killall -9 adbyby
  176. touch /tmp/cron_adb.lock
  177. while [[ "$CPULoad" -ge "2" ]]
  178. do
  179. sleep 64
  180. CPULoad=`uptime |sed -e 's/\ *//g' -e 's/.*://g' -e 's/,.*//g' -e 's/\..*//g'`
  181. done
  182. logger -t "adbyby" "CPU负载正常"
  183. rm -f /tmp/cron_adb.lock
  184. fi
  185. fi
  186. sleep 63
  187. done
  188. EOF
  189. chmod 777 "/tmp/sh_CPUAverage.sh"
  190. cat > "/tmp/sh_installs.sh" <<-\EOF
  191. #!/bin/sh
  192. ssfile=$1
  193. [ ! -f "/tmp/AiDisk_00/shadowsocks/shadowsocks" ] && cp -fR /opt/shadowsocks /tmp/AiDisk_00 && chmod 777 /tmp/AiDisk_00/shadowsocks -R
  194. if [ ! -f "/tmp/AiDisk_00/shadowsocks/shadowsocks" ] || [ ! -f "/opt/optv.txt" ] ;then
  195. logger -t "SS" "自动安装(覆盖opt文件夹)"
  196. #rm -f /opt/* -R
  197. logger -t "SS" "opt第一次下载"
  198. wget -O /opt/opt.tgz $ssfile --continue
  199. tar -xzvf /opt/opt.tgz -C /opt
  200. if [ ! -f "/opt/shadowsocks/shadowsocks" ] ;then
  201. logger -t "SS" "/opt/opt.tgz下载SS失败"
  202. rm -f /opt/opt.tgz
  203. logger -t "SS" "opt第二次下载"
  204. wget -O /opt/opt.tgz $ssfile --continue
  205. tar -xzvf /opt/opt.tgz -C /opt
  206. fi
  207. if [ -s "/opt/shadowsocks/shadowsocks" ] ;then
  208. logger -t "SS" "opt解压完成"
  209. chmod 777 /opt -R
  210. cp -fR /opt/shadowsocks /tmp/AiDisk_00
  211. chmod 777 /tmp/AiDisk_00/shadowsocks -R
  212. fi
  213. fi
  214. EOF
  215. chmod 777 "/tmp/sh_installs.sh"
  216. cat > "/tmp/sh_xun_lei.sh" <<-\EOF
  217. #!/bin/sh
  218. export PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
  219. export LD_LIBRARY_PATH=/opt/lib:/lib
  220. xunleis=$1
  221. xunleiPath=$2
  222. xunleifile=$3
  223. if [ "$xunleis" != "0" ] ; then
  224. if [ ! -x $xunleiPath ]; then
  225. mkdir -p $xunleiPath
  226. fi
  227. if [ ! -s $xunleiPath"/portal" ] ;then
  228. logger -t "迅雷下载" "Xware1.0.31_mipsel_32_uclibc"
  229. Xware1="http://code.taobao.org/svn/padavanrt-n56uopt/Xware1.0.31_mipsel_32_uclibc.tgz"
  230. /tmp/sh_download.sh "$xunleiPath/Xware1.tgz" $Xware1
  231. /tmp/sh_untar.sh $xunleiPath"/Xware1.tgz" $xunleiPath "$xunleiPath/portal"
  232. fi
  233. if [ ! -s "$xunleiPath/portal" ] ;then
  234. logger -t "迅雷下载" "xunlei缺少portal文件"
  235. else
  236. chmod 777 "$xunleiPath/portal"
  237. "$xunleiPath/portal"&
  238. sleep 44
  239. /tmp/sh_download.sh "/tmp/xunlei.info" "http://`nvram get lan_ipaddr`:9000/getsysinfo" "http://`nvram get lan_ipaddr`:9001/getsysinfo"
  240. logger -t "迅雷下载" "启动xunlei,绑定设备页面【http://yuancheng.xunlei.com】"
  241. logger -t "迅雷下载" "在浏览器中输入【http://`nvram get lan_ipaddr`:9000/getsysinfo】"
  242. logger -t "迅雷下载" "显示错误则输入【http://`nvram get lan_ipaddr`:9001/getsysinfo】"
  243. logger -t "迅雷下载" "会看到类似如下信息:"
  244. logger -t "迅雷下载" "`cat /tmp/xunlei.info`"
  245. logger -t "迅雷下载" "其中有用的几项为:"
  246. logger -t "迅雷下载" "①:0表示返回结果成功"
  247. logger -t "迅雷下载" "②:1表示检测网络正常,0表示检测网络异常"
  248. logger -t "迅雷下载" "④:1表示已绑定成功,0表示未绑定"
  249. logger -t "迅雷下载" "⑤:未绑定的情况下,为绑定的需要的激活码"
  250. logger -t "迅雷下载" "⑥:1表示磁盘挂载检测成功,0表示磁盘挂载检测失败"
  251. /tmp/sh_Thunder.sh &
  252. fi
  253. fi
  254. EOF
  255. chmod 777 "/tmp/sh_xun_lei.sh"
  256. cat >/tmp/qos_scheduler.sh <<-\EOF
  257. #!/bin/sh
  258. qosc=$1
  259. echo 0 >/tmp/qos_scheduler.lock
  260. logger -t "QOS" "终端在线检查启动"
  261. while [ "1" ];
  262. do
  263. if [ "$(cat /tmp/qoss_state)" == "0" ] ; then
  264. logger -t "QOS" "终端在线检查暂停"
  265. rm -f /tmp/qos_scheduler.lock
  266. exit
  267. fi
  268. qos_t=`cat /proc/net/arp|fgrep -c 0x2`
  269. if [ $((qos_t)) -le $qosc ]; then
  270. if [ $(ifconfig |grep -c imq0) -gt 0 ]; then
  271. logger -t "QOS" "取消限速,当在线$qos_t台,小于或等于$qosc台"
  272. ip link set imq0 down
  273. ip link set imq1 down
  274. fi
  275. else
  276. if [ $(ifconfig |grep -c imq0) -eq 0 ] ; then
  277. logger -t "QOS" "开始限速,当在线$qos_t台,大于$qosc台"
  278. ip link set imq0 up
  279. ip link set imq1 up
  280. sleep 6
  281. port=$(iptables -t mangle -L | grep 'IMQ: todev 0' | wc -l)
  282. if [ "$port" = 0 ]; then
  283. logger -t "QOS" "找不到QOS规则,重新添加"
  284. /etc/storage/post_iptables_script.sh&
  285. fi
  286. fi
  287. fi
  288. sleep 69
  289. continue
  290. done
  291. EOF
  292. chmod 777 "/tmp/qos_scheduler.sh"
  293. logger -t "自定义脚本2" "脚本完成"
  294. rm -f /tmp/script2.lock

 

自定义脚本3

  1. #!/bin/sh
  2. #copyright by hiboy
  3. [ -f /tmp/script3.lock ] && exit 0
  4. touch /tmp/script3.lock
  5. ln -sf "/etc/storage/PhMain.ini" "/etc/PhMain.ini"
  6. ln -sf "/etc/storage/init.status" "/etc/init.status"
  7. rm -f "/opt/etc/init.d/S96sh3.sh"
  8. cat > "/tmp/sh_dnsmasqs.sh" <<-\END
  9. #!/bin/sh
  10. gfwlists=$1
  11. sed -Ei '/no-resolv|server=127.0.0.1|dns-forward-max=1000|min-cache-ttl=1800|shadowsocks\/dnsmasq/d' /etc/storage/dnsmasq/dnsmasq.conf
  12. if [ "$gfwlists" = "1" ] ; then
  13. logger -t "SS" "自动写入方案一dnsmasqs配置"
  14. cat >> "/etc/storage/dnsmasq/dnsmasq.conf" <<-EOF
  15. no-resolv
  16. server=127.0.0.1#5353
  17. dns-forward-max=1000
  18. min-cache-ttl=1800
  19. EOF
  20. fi
  21. if [ "$gfwlists" = "2" ] ; then
  22. logger -t "SS" "自动写入方案二dnsmasqs配置"
  23. cat >> "/etc/storage/dnsmasq/dnsmasq.conf" <<-EOF
  24. conf-dir=/tmp/AiDisk_00/shadowsocks/dnsmasq.d
  25. dns-forward-max=1000
  26. min-cache-ttl=1800
  27. EOF
  28. fi
  29. END
  30. chmod 777 "/tmp/sh_dnsmasqs.sh"
  31. cat > "/tmp/sh_ssmon.sh" <<-\EOF
  32. #!/bin/sh
  33. gfwlists=$1
  34. logger -t "SS" "shadowsocks 进程守护启动"
  35. rebss=1
  36. rm -f /tmp/cron_ss.lock
  37. while [ "1" ];
  38. do
  39. sleep 67
  40. /etc/storage/ez_buttons_script.sh 3 &
  41. if [ ! -f /tmp/cron_ss.lock ] && [ -f "/var/log/shadowsocks.lock" ]; then
  42. if [ "$rebss" -gt 5 ] && [ ! -f /tmp/reb_0.lock ] ; then
  43. LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
  44. logger -t "SS" "['$LOGTIME'] 网络连接shadowsocks中断['$rebss'],reboot."
  45. sleep 5
  46. reboot
  47. fi
  48. pstmp='ps'
  49. PROCESS=$($pstmp | grep "ss-redir" | grep -v "grep")
  50. if [ -z "$PROCESS" ] && [ -f "/var/log/shadowsocks.lock" ]; then
  51. /opt/etc/init.d/S22shadowsocks restart
  52. logger -t "SS" "找不到shadowsocks进程$rebss,重启shadowsocks"
  53. rebss=`expr $rebss + 1`
  54. fi
  55. PROCESS=$($pstmp | grep "chinadns" | grep -v "grep")
  56. if [ -z "$PROCESS" ] && [ -f "/var/log/chinadns.lock" ]; then
  57. /opt/etc/init.d/S24chinadns restart
  58. logger -t "SS" "找不到chinadns进程$rebss,重启chinadns"
  59. rebss=`expr $rebss + 1`
  60. fi
  61. PROCESS=$($pstmp | grep "pdnsd" | grep -v "grep")
  62. if [ -z "$PROCESS" ] && [ -f "/var/log/pdnsd.lock" ]; then
  63. chmod 755 /etc/pdnsd.conf
  64. /opt/etc/init.d/S26pdnsd restart
  65. logger -t "SS" "找不到pdnsd进程$rebss,重启pdnsd"
  66. fi
  67. PROCESS=$($pstmp | grep "ss-tunnel" | grep -v "grep")
  68. if [ -z "$PROCESS" ] && [ -f "/var/log/ss-tunnel.lock" ]; then
  69. /opt/etc/init.d/S23ss-tunnel restart
  70. logger -t "SS" "找不到ss-tunnel进程$rebss,重启ss-tunnel"
  71. fi
  72. PROCESS=$($pstmp | grep "Pcap_DNSProxy" | grep -v "grep")
  73. if [ -z "$PROCESS" ] && [ -f "/var/log/pcap_dnsproxy.lock" ]; then
  74. /opt/etc/init.d/S26pdnsd stop
  75. /opt/etc/init.d/S24chinadns stop
  76. /opt/etc/init.d/S27pcap-dnsproxy restart
  77. logger -t "SS" "找不到Pcap_DNSProxy进程$rebss,重启Pcap_DNSProxy"
  78. fi
  79. #wget --spider --quiet --timeout=10 www.google.co.jp
  80. #if [ "$?" == "0" ]; then
  81. google='http://www.google.com/images/icons/product/videos-32.png'
  82. /tmp/sh_download.sh /tmp/videos-32.png $google
  83. if [ ! -s /tmp/videos-32.png ]; then
  84. restart_dhcpd
  85. sleep 30
  86. /tmp/sh_download.sh /tmp/videos-32.png $google
  87. fi
  88. if [ -s /tmp/videos-32.png ]; then
  89. rm -f /tmp/videos-32.png
  90. rebss=1
  91. #logger -t "SS" "网络连接shadowsocks正常"
  92. sleep 68
  93. else
  94. logger -t "SS" "网络连接shadowsocks中断$rebss,重启shadowsocks$gfwlists"
  95. rebss=`expr $rebss + 1`
  96. /tmp/AiDisk_00/shadowsocks/shadowsocks set_up
  97. fi
  98. fi
  99. continue
  100. done
  101. EOF
  102. chmod 777 "/tmp/sh_ssmon.sh"
  103. cat > "/tmp/sh_syncyquota.sh" <<-\EOF
  104. #!/bin/sh
  105. logger -t "syncy" "等待SyncY同步软件启动,SyncY同步软件技术博客:http://www.syncy.cn/"
  106. while [ ! -s "/tmp/syncy.quota" ]
  107. do
  108. sleep 11
  109. if [ -s "/tmp/syncy.user_code" ] ;then
  110. user_code_log=`cat /tmp/syncy.user_code`
  111. logger -t "syncy" "$user_code_log"
  112. logger -t "syncy" "打开百度授权页面https://openapi.baidu.com/device"
  113. logger -t "syncy" "输入用户码【$user_code_log】(请在100秒内输入用户码)"
  114. while [ ! -s "/tmp/syncy.user_token" ]
  115. do
  116. sleep 12
  117. if [ -s "/tmp/syncy.user_token" ] ;then
  118. user_code_log=`cat /tmp/syncy.user_token`
  119. logger -t "syncy" "$user_code_log"
  120. logger -t "syncy" "显示【Get device token success.】表示授权完成。"
  121. /tmp/sh_syncyd.sh &
  122. fi
  123. done
  124. fi
  125. done
  126. user_code_log=`cat /tmp/syncy.quota`
  127. logger -t "syncy" "$user_code_log"
  128. logger -t "syncy" "SyncY同步启动成功"
  129. logger -t "syncy" "SyncY同步软件技术博客:http://www.syncy.cn/"
  130. EOF
  131. chmod 777 "/tmp/sh_syncyquota.sh"
  132. cat > "/tmp/sh_syncyd.sh" <<-\EOF
  133. #!/bin/sh
  134. logger -t "syncy" "SyncY守护进程启动"
  135. pid_file="/var/run/syncy.pid"
  136. start_cmd="/opt/etc/syncy.py &"
  137. while true; do
  138. running=$(ps | grep "/opt/etc/syncy.py" | grep -v "grep" | wc -l)
  139. if [ $running -le 0 ]; then
  140. eval $start_cmd
  141. echo "start syncy"
  142. logger -t "syncy" "SyncY重新启动"
  143. else
  144. echo "syncy is running"
  145. fi
  146. sleep 65
  147. done
  148. EOF
  149. chmod 777 "/tmp/sh_syncyd.sh"
  150. cat > "/tmp/sh_orayd.sh" <<-\EOF
  151. #!/bin/sh
  152. logger -t "花生壳内网版" "守护进程启动"
  153. online=""
  154. onlinetest()
  155. {
  156. orayslstatus=`head -n 3 /tmp/oraysl.status`
  157. online=$(echo $orayslstatus | grep "ONLINE" | wc -l)
  158. }
  159. onlinetest
  160. while [ $online -le 0 ]; do
  161. sleep 68
  162. onlinetest
  163. logger -t "花生壳内网版" "$online"
  164. done
  165. logger -t "花生壳内网版" "ONLINE"
  166. while true; do
  167. sleep 68
  168. onlinetest
  169. running=$(ps | grep "/opt/usr/oray-app/bin/oraynewph" | grep -v "grep" | wc -l)
  170. running2=$(ps | grep "/opt/usr/oray-app/bin/oraysl" | grep -v "grep" | wc -l)
  171. if [ $running -le 0 ] || [ $running2 -le 0 ] || [ $online -le 0 ]; then
  172. /opt/phddns2/oraynewph.sh reset &
  173. logger -t "花生壳内网版" "重新启动"
  174. else
  175. echo "oray is running"
  176. fi
  177. done
  178. EOF
  179. chmod 777 "/tmp/sh_orayd.sh"
  180. cat > "/tmp/sh_Thunder.sh" <<-\EOF
  181. #!/bin/sh
  182. upanPath=`ls -l /media/ | awk '/^d/ {print $NF}' | sed -n '1p'`
  183. logger -t "迅雷下载" "守护进程启动$upanPath"
  184. while true; do
  185. running=$(ps | grep "/xunlei/lib/" | grep -v "grep" | wc -l)
  186. if [ $running -le 2 ] ; then
  187. /media/$upanPath/xunlei/portal &
  188. logger -t "迅雷下载" "重新启动"
  189. else
  190. echo "xunlei is running"
  191. fi
  192. sleep 71
  193. done
  194. EOF
  195. chmod 777 "/tmp/sh_Thunder.sh"
  196. cat > "/tmp/sh_FastDick.sh" <<-\EOF
  197. #!/bin/sh
  198. #copyright by hiboy
  199. export PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
  200. export LD_LIBRARY_PATH=/opt/lib:/lib
  201. FastDicks=$1
  202. uid=$2
  203. pwd=$3
  204. if [ "$FastDicks" != "0" ] ; then
  205. logger -t "迅雷快鸟" "迅雷快鸟(diǎo)路由器版:https://github.com/fffonion/Xunlei-FastDick"
  206. if [ "$FastDicks" = "2" ] ; then
  207. logger -t "迅雷快鸟" "稍等几分钟,ssh到路由,控制台输入【ps】命令查看[/opt/FastDick/swjsq_wget.sh]进程是否存在,是否正常启动,提速是否成功。"
  208. logger -t "迅雷快鸟" "免U盘启动"
  209. chmod 777 "/etc/storage/FastDick_script.sh"
  210. /etc/storage/FastDick_script.sh &
  211. else
  212. rm -f "/opt/FastDick/" -R
  213. mkdir -p "/opt/FastDick"
  214. swjsqfile="https://raw.githubusercontent.com/fffonion/Xunlei-FastDick/master/swjsq.py"
  215. /tmp/sh_download.sh "/opt/FastDick/swjsq.py" $swjsqfile
  216. chmod 777 "/opt/FastDick/swjsq.py"
  217. logger -t "迅雷快鸟" "程序下载完成,正在启动 python /opt/FastDick/swjsq.py"
  218. echo "$uid,$pwd" >/opt/FastDick/swjsq.account.txt
  219. chmod 777 /opt/FastDick -R
  220. cd /opt/FastDick
  221. python /opt/FastDick/swjsq.py 2>&1 > /opt/FastDick/swjsq.log &
  222. chmod 777 "/opt/FastDick" -R
  223. sleep 30
  224. chmod 777 "/opt/FastDick" -R
  225. if [ -f /opt/FastDick/swjsq_wget.sh ]; then
  226. logger -t "迅雷快鸟" "自动备份swjsq文件到路由,【提交内部存储】后下次重启可以免U盘启动了"
  227. cat > "/etc/storage/FastDick_script.sh" <<-\EEF
  228. #!/bin/sh
  229. # 迅雷快鸟【2免U盘启动】功能需到【自定义脚本0】配置【FastDicks=2】,并在此输入swjsq_wget.sh文件内容
  230. #【2免U盘启动】需要填写在下方的【迅雷快鸟脚本】,生成脚本两种方法:
  231. # ①插入U盘,配置自定义脚本【1插U盘启动】启动快鸟一次即可自动生成
  232. # ②打开https://github.com/fffonion/Xunlei-FastDick,按照网页的说明在PC上运行脚本,登陆成功后会生成swjsq_wget.sh,把swjsq_wget.sh的内容粘贴此处即可
  233. # 生成后需要到【系统管理】 - 【恢复/导出/上传设置】 - 【路由器内部存储 (/etc/storage)】【提交】保存脚本
  234. EEF
  235. cat /opt/FastDick/swjsq_wget.sh >> /etc/storage/FastDick_script.sh
  236. chmod 777 "/etc/storage/FastDick_script.sh"
  237. fi
  238. logger -t "迅雷快鸟" "启动完成`cat /opt/FastDick/swjsq.log`"
  239. fi
  240. else
  241. rm -f "/opt/FastDick/" -R
  242. fi
  243. EOF
  244. chmod 777 "/tmp/sh_FastDick.sh"
  245. logger -t "自定义脚本3" "脚本完成"
  246. rm -f /tmp/script3.lock

 

迅雷快鸟脚本:(把swjsq_wget.sh的内容粘贴此处)

  1. #!/bin/sh
  2. # 迅雷快鸟【2免U盘启动】功能需到【自定义脚本0】配置【FastDicks=2】,并在此输入swjsq_wget.sh文件内容
  3. #【2免U盘启动】需要填写在下方的【迅雷快鸟脚本】,生成脚本两种方法:
  4. # ①插入U盘,配置自定义脚本【1插U盘启动】启动快鸟一次即可自动生成
  5. # ②打开https://github.com/fffonion/Xunlei-FastDick,按照网页的说明在PC上运行脚本,登陆成功后会生成swjsq_wget.sh,把swjsq_wget.sh的内容粘贴此处即可
  6. # 生成后需要到【系统管理】 - 【恢复/导出/上传设置】 - 【路由器内部存储 (/etc/storage)】【提交】保存脚本

 

adbyby 自定义过滤规则

  1. !  ------------------------------ ADByby 自定义过滤语法简--------------------------------
  2. !  --------------  规则基于abp规则,并进行了字符替换部分的扩展-----------------------------
  3. !  ABP规则请参考 https://adblockplus.org/zh_CN/filters ,下面为大致摘要
  4. !  "!" 为行注释符,注释行以该符号起始作为一行注释语义,用于规则描述。
  5. !  "*" 为字符通配符,能够匹配0长度或任意长度的字符串,该通配符不能与正则语法混用。
  6. !  "^" 为分隔符,可以是除了字母、数字或者 _ - . % 之外的任何字符。
  7. !  "|" 为管线符号,来表示地址的最前端或最末端
  8. !  "||" 为子域通配符,方便匹配主域名下的所有子域。
  9. !  "~" 为排除标识符,通配符能过滤大多数广告,但同时存在误杀, 可以通过排除标识符修正误杀链接。
  10. !  "##" 为元素选择器标识符,后面跟需要隐藏元素的CSS样式例如 #ad_id  .ad_class
  11. !!  元素隐藏暂不支持全局规则和排除规则
  12. !! 字符替换扩展
  13. !  文本替换选择器标识符,后面跟需要替换的文本数据,格式:$s@模式字符串@替换后的文本@
  14. !  支持通配符*和?

 

自定义Crontab定时任务配置

  1. #!/bin/sh
  2. #copyright by hiboy
  3. [ -f /tmp/crontabs.lock ] && exit 0
  4. touch /tmp/crontabs.lock
  5. http_username=`nvram get http_username`
  6. upanPath=`ls -l /media/ | awk '/^d/ {print $NF}' | sed -n '1p'`
  7. cat > "/etc/storage/cron/crontabs/$http_username" <<-EOF
  8. # 基本格式 : 
  9. # *  *  *  *  *  command 
  10. # 分 时 日 月 周 命令 
  11. # 在以上各个字段中,还可以使用以下特殊字符:
  12. # 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
  13. # 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
  14. # 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
  15. # 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
  16. # 定时运行脚本规则 (删除前面的#即可启动命令)
  17. # 每5小时重启adbyby
  18. 0 */5 * * * /tmp/sh_func_load_adbyby.sh &
  19. # 每天的一点25分更新中国路由表 
  20. 25 1 * * * /tmp/AiDisk_00/shadowsocks/shadowsocks update_chnroutes &
  21. # 每天的一点20分更新gfw表 
  22. 20 1 * * * /tmp/AiDisk_00/shadowsocks/shadowsocks update_gfwlist &
  23. # 每天的三点半重启
  24. #30 3 * * * reboot &
  25. # 每星期一的三点半重启
  26. #30 3 * * 1 reboot &
  27. # 凌晨2点定时关网:
  28. #0 2 * * * stop_wan
  29. # 早上8点定时开网(重启wan口):
  30. #0 8 * * * restart_wan
  31. # 每天的一点【切换WAN模式】和【重启wan口】
  32. #0 1 * * * /tmp/sh_wan_wips.sh wan &
  33. # 每天的十点切换wifi中继模式
  34. #0 10 * * * /tmp/sh_wan_wips.sh wips &
  35. # 每6小时重启迅雷快鸟
  36. 15 */6 * * * /tmp/sh_reFastDick.sh &
  37. # 每3小时重启迅雷下载
  38. 5 */3 * * * killall EmbedThunderManager &
  39. # 每1小时重启花生壳内网版
  40. 10 */1 * * * killall oraynewph && killall oraysl &
  41. EOF
  42. chmod 777 "/etc/storage/cron/crontabs/$http_username"
  43. cat > "/tmp/sh_wan_wips.sh" <<-\EOF
  44. #!/bin/sh
  45. logger -t "WAN、WIFI中继开关" "切换模式:$1"
  46. restartwan()
  47. {
  48. logger -t "WAN、WIFI中继开关" "重新链接wan口"
  49. restart_wan
  50. sleep 10
  51. logger -t "WAN、WIFI中继开关" "重新启动2.4GWIFI"
  52. radio2_restart
  53. }
  54. case "$1" in
  55. wan)
  56. #无线AP工作模式:"0"=【AP(桥接被禁用)】"1"=【WDS桥接(AP被禁用)】"2"=【WDS中继(网桥 + AP)】"3"=【AP-Client(AP被禁用)】"4"=【AP-Client + AP】
  57. nvram set rt_mode_x=0
  58. nvram commit
  59. restartwan
  60.   ;;
  61. wips)
  62. #无线AP工作模式:"0"=【AP(桥接被禁用)】"1"=【WDS桥接(AP被禁用)】"2"=【WDS中继(网桥 + AP)】"3"=【AP-Client(AP被禁用)】"4"=【AP-Client + AP】
  63. nvram set rt_mode_x=4
  64. nvram commit
  65. restartwan
  66.   ;;
  67. esac
  68. EOF
  69. chmod 777 "/tmp/sh_wan_wips.sh"
  70. cat > "/tmp/sh_reFastDick.sh" <<-\EOF
  71. #!/bin/sh
  72. if [ -f "/tmp/FastDicks.lock" ]; then
  73. logger -t "迅雷快鸟" "重新启动中……"
  74. killall FastDick_script.sh
  75. killall swjsq.py
  76. killall python /opt/FastDick/swjsq.py
  77. killall /opt/FastDick/swjsq.py
  78. logger -t "迅雷快鸟" "已经关闭,十五分钟后启动"
  79. sleep 900
  80. logger -t "迅雷快鸟" "启动/etc/storage/FastDick_script.sh"
  81. /etc/storage/FastDick_script.sh &
  82. fi
  83. EOF
  84. chmod 777 "/tmp/sh_reFastDick.sh"
  85. /etc/storage/ez_buttons_script.sh 3 &
  86. killall crond
  87. crond
  88. if [ ! -f /tmp/cron_adb.lock ] && [ -s "/tmp/adbyby" ]; then
  89. PIDS=$(ps | grep "/tmp/adbyby" | grep -v "grep" | wc -l)
  90. if [ "$PIDS" != 0 ]; then
  91. port=$(iptables -t nat -L | grep 'ports 8118' | wc -l)
  92. if [ "$port" = 0 ]; then
  93. logger -t "adbyby" "找不到8118转发规则,重新添加"
  94. /tmp/sh_adb8118.sh A
  95. fi
  96. fi
  97. fi
  98. rm -f /tmp/crontabs.lock

 

 

正文完
 0
HopoL
版权声明:本站原创文章,由 HopoL 于2015-12-27发表,共计37663字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)

HopoL's Blog

文章搜索
最新评论
MickeyDee MickeyDee Slightly off topic but anyone managed to get Unraid to boot off anything other than USB, like sata or nvme? If wrong place please delete and advise
Mrg Mrg I cannot Thank you enough. Thank you , Thank you , Thank you.
阿龙 阿龙 谢谢大佬分享
MickeyDee MickeyDee Cancell that, figured it out and it works, Much appriciated .
MickeyDee MickeyDee Hi Thanks for sharing, please clarify, do you mean Rename the folder "unraider-7.2.0" to unraider and copy it to the config . Thanks
lzdwudi lzdwudi 我也想试试 但我目前的版本是6.12.13 我不敢做大的动作
wice222 wice222 archive is demaged
tstUser01 tstUser01 Thanks for sharing!
saisu saisu how to install from scratch for noobs like me please :D What is GUID ??
Adrian Adrian How update works? Should we rename unraider file, do the update and rename back? from 7.2.0 to 7.2.1