├── .gitattributes ├── .github └── workflows │ └── build-gdock.yml ├── README.md ├── banner ├── diy.sh ├── diy └── mod-index.htm ├── luci-theme-argon ├── Makefile ├── README.md ├── htdocs │ └── luci-static │ │ └── argon │ │ ├── css │ │ ├── purecss.css │ │ ├── style.css │ │ ├── style.css.pink │ │ └── style.css.y │ │ ├── favicon.ico │ │ ├── fonts │ │ ├── TypoGraphica.eot │ │ ├── TypoGraphica.svg │ │ ├── TypoGraphica.ttf │ │ ├── TypoGraphica.woff │ │ ├── font.eot │ │ ├── font.svg │ │ ├── font.ttf │ │ ├── font.woff │ │ ├── icomoon.eot │ │ ├── icomoon.svg │ │ ├── icomoon.ttf │ │ ├── icomoon.woff │ │ ├── ssr.eot │ │ ├── ssr.svg │ │ ├── ssr.ttf │ │ └── ssr.woff │ │ ├── head-icon.jpg │ │ ├── img │ │ └── bg1.jpg │ │ ├── js │ │ ├── jquery.min.js │ │ └── script.js │ │ └── logo.png ├── luasrc │ └── view │ │ └── themes │ │ └── argon │ │ ├── footer.htm │ │ └── header.htm └── root │ └── etc │ └── uci-defaults │ └── 30_luci-theme-argon └── newifi3.config /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/workflows/build-gdock.yml: -------------------------------------------------------------------------------- 1 | #================================================= 2 | # Description: Newifi 3 FROM LEAN'S LEDE 3 | # Author: JK 4 | #================================================= 5 | 6 | name: Build Newifi 3 7 | 8 | on: 9 | release: 10 | types: [published] 11 | push: 12 | branches: 13 | - master 14 | schedule: 15 | - cron: 0 20 * * * 16 | jobs: 17 | build: 18 | runs-on: ubuntu-latest 19 | 20 | steps: 21 | - name: Checkout 22 | uses: actions/checkout@master 23 | 24 | - name: Initialization environment 25 | env: 26 | DEBIAN_FRONTEND: noninteractive 27 | run: | 28 | docker rmi `docker images -q` 29 | echo "Deleting files, please wait ..." 30 | sudo -E apt-get update 31 | sudo -E sudo apt install -y ack antlr3 aria2 asciidoc autoconf automake autopoint binutils bison build-essential bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev 32 | sudo -E apt-get -y autoremove --purge 33 | sudo -E apt-get clean 34 | 35 | - name: Clone source code 36 | run: | 37 | git clone https://github.com/coolsnowwolf/lede lede 38 | echo '开启魔法上网' 39 | cd lede 40 | echo 'src-git helloworld https://github.com/fw876/helloworld'>>./feeds.conf.default 41 | 42 | - name: Update feeds 43 | run: cd lede && ./scripts/feeds update -a 44 | 45 | - name: Install feeds 46 | run: cd lede && ./scripts/feeds install -a 47 | 48 | - name: Load custom configuration 49 | run: | 50 | cp -f newifi3.config ./lede/.config 51 | chmod +x diy.sh 52 | cd lede 53 | ../diy.sh 54 | make defconfig 55 | 56 | - name: Download package 57 | run: | 58 | echo -e "$(nproc) thread build." 59 | cd lede && make download -j$(nproc) 60 | 61 | - name: Build 62 | run: | 63 | cd lede 64 | echo -e "$(nproc) thread build." 65 | make -j$(nproc) V=s 66 | rm -rf ./bin/targets/ipq40xx/generic/packages 67 | 68 | - name : Upload artifact 69 | uses: actions/upload-artifact@master 70 | with: 71 | name: Newifi 3 72 | path: ./lede/bin 73 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NEWIFI3 2 | 3 | 自动从lean的lede源码clone并生成newifi3固件 4 | 5 | ***由于源码更新升级内核和更换了大量软件包,但此仓库配置文件为旧文件,若出现问题请在issue反馈*** 6 | 7 | ***目前使用的是开源驱动,若需要使用闭源驱动,请按以下说明更改配置*** 8 | ``` 9 | CONFIG_PACKAGE_kmod-mt7603=y #取消选中该包 10 | CONFIG_PACKAGE_kmod-mt7603e=n #选中该包 11 | CONFIG_PACKAGE_kmod-mt76x2=y #取消选中该包 12 | CONFIG_PACKAGE_kmod-mt76x2-common=y #取消选中该包 13 | CONFIG_PACKAGE_kmod-mt76x2e=n #选中该包 14 | 15 | CONFIG_PACKAGE_luci-app-mtwifi=n #选中该包 16 | ``` 17 | 18 | ============================================= 19 | 20 | 本仓库每天UTC 20:00自动拉取源码编译,可直接在action中下载最新固件 21 | 22 | [![Build Newifi 3](https://github.com/Cathgao/newifi3/actions/workflows/build-gdock.yml/badge.svg)](https://github.com/Cathgao/newifi3/actions/workflows/build-gdock.yml) 23 | 24 | 固件具体更新内容移步到 https://github.com/coolsnowwolf/lede 查看 25 | 26 | 固件的默认地址为`192.168.5.1`,密码默认`password` 27 | 28 | ============================================= 29 | 30 | 脚本参考https://github.com/ljk4160/GDOCK ,特此感谢 31 | -------------------------------------------------------------------------------- /banner: -------------------------------------------------------------------------------- 1 | _ _ ________ _______ ______ _____ 2 | | \ | | ____\ \ / /_ _| ____|_ _| 3 | | \| | |__ \ \ /\ / / | | | |__ | | 4 | | . ` | __| \ \/ \/ / | | | __| | | 5 | | |\ | |____ \ /\ / _| |_| | _| |_ 6 | |_| \_|______| \/ \/ |_____|_| |_____| 7 | ----------------------------------------------------- 8 | %D %V, %C 9 | ----------------------------------------------------- 10 | -------------------------------------------------------------------------------- /diy.sh: -------------------------------------------------------------------------------- 1 | echo '修改机器名称' 2 | ### 3 | # @Descripttion: 4 | # @version: 5 | # @Author: Cath 6 | # @Date: 2021-01-01 10:56:41 7 | # @LastEditors: Cath 8 | # @LastEditTime: 2021-01-01 10:57:14 9 | ### 10 | sed -i 's/OpenWrt/newifi3/g' package/base-files/files/bin/config_generate 11 | 12 | echo '修改网关地址' 13 | sed -i 's/192.168.1.1/192.168.5.1/g' package/base-files/files/bin/config_generate 14 | 15 | echo '修改时区' 16 | sed -i "s/'UTC'/'CST-8'\n set system.@system[-1].zonename='Asia\/Shanghai'/g" package/base-files/files/bin/config_generate 17 | 18 | echo '修改默认主题' 19 | sed -i 's/config internal themes/config internal themes\n option Argon \"\/luci-static\/argon\"/g' feeds/luci/modules/luci-base/root/etc/config/luci 20 | 21 | echo '去除默认bootstrap主题' 22 | sed -i '/set luci.main.mediaurlbase=\/luci-static\/bootstrap/d' feeds/luci/themes/luci-theme-bootstrap/root/etc/uci-defaults/30_luci-theme-bootstrap 23 | 24 | echo '删除旧版argon,链接新版' 25 | rm -rf ./package/lean/luci-theme-argon 26 | git clone --depth=1 -b 18.06 https://github.com/jerrykuku/luci-theme-argon ../diy/luci-theme-argon 27 | git clone --depth=1 https://github.com/jerrykuku/luci-app-argon-config ../diy/luci-app-argon-config 28 | #ln -s ../../../luci-theme-argon ./package/lean/ 29 | 30 | echo '修改wifi名称' 31 | sed -i 's/OpenWrt/newifi3/g' package/kernel/mac80211/files/lib/wifi/mac80211.sh 32 | 33 | echo '修改banner' 34 | rm -rf package/base-files/files/etc/banner 35 | cp -f ../banner package/base-files/files/etc/ 36 | 37 | echo '下载ServerChan' 38 | git clone https://github.com/tty228/luci-app-serverchan ../diy/luci-app-serverchan 39 | 40 | echo 'JD script' 41 | git clone https://github.com/jerrykuku/luci-app-jd-dailybonus ../diy/luci-app-jd-dailybonus 42 | 43 | echo '下载AdGuard Home' 44 | svn co https://github.com/Lienol/openwrt/trunk/package/diy/luci-app-adguardhome ../diy/luci-app-adguardhome 45 | svn co https://github.com/kenzok8/openwrt-packages/trunk/AdGuardHome ../diy/AdGuardHome 46 | 47 | echo '集成diy目录' 48 | ln -s ../../diy ./package/openwrt-packages 49 | 50 | #echo '首页增加CPU频率动态显示' 51 | #cp -f ../diy/mod-index.htm ./feeds/luci/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm 52 | 53 | -------------------------------------------------------------------------------- /diy/mod-index.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Copyright 2008 Steven Barth 3 | Copyright 2008-2011 Jo-Philipp Wich 4 | Licensed to the public under the Apache License 2.0. 5 | -%> 6 | 7 | <% 8 | local fs = require "nixio.fs" 9 | local util = require "luci.util" 10 | local stat = require "luci.tools.status" 11 | local ver = require "luci.version" 12 | 13 | local has_ipv6 = fs.access("/usr/sbin/ip6tables") 14 | local has_dhcp = fs.access("/etc/config/dhcp") 15 | local has_wifi = ((fs.stat("/etc/config/wireless", "size") or 0) > 0) 16 | 17 | local sysinfo = luci.util.ubus("system", "info") or { } 18 | local boardinfo = luci.util.ubus("system", "board") or { } 19 | local unameinfo = nixio.uname() or { } 20 | 21 | local meminfo = sysinfo.memory or { 22 | total = 0, 23 | free = 0, 24 | buffered = 0, 25 | shared = 0 26 | } 27 | 28 | local mem_cached = luci.sys.exec("sed -e '/^Cached: /!d; s#Cached: *##; s# kB##g' /proc/meminfo") 29 | 30 | local swapinfo = sysinfo.swap or { 31 | total = 0, 32 | free = 0 33 | } 34 | 35 | local has_dsl = fs.access("/etc/init.d/dsl_control") 36 | 37 | if luci.http.formvalue("status") == "1" then 38 | local ntm = require "luci.model.network".init() 39 | local wan = ntm:get_wannet() 40 | local wan6 = ntm:get_wan6net() 41 | 42 | local conn_count = tonumber( 43 | fs.readfile("/proc/sys/net/netfilter/nf_conntrack_count") or "") or 0 44 | 45 | local conn_max = tonumber(luci.sys.exec( 46 | "sysctl -n -e net.nf_conntrack_max net.ipv4.netfilter.ip_conntrack_max" 47 | ):match("%d+")) or 4096 48 | 49 | local user_info = luci.sys.exec("cat /proc/net/arp | grep 'br-lan' | grep '0x2' | wc -l") 50 | 51 | local cpu_usage = (luci.sys.exec("expr 100 - $(top -n 1 | grep 'CPU:' | awk -F '%' '{print$4}' | awk -F ' ' '{print$2}')") or "6") .. "%" 52 | local cpu_freq = {luci.sys.exec("cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq"),luci.sys.exec("cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq"),luci.sys.exec("cat /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_cur_freq"),luci.sys.exec("cat /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_cur_freq")} 53 | 54 | 55 | local rv = { 56 | cpuusage = cpu_usage, 57 | userinfo = user_info, 58 | uptime = sysinfo.uptime or 0, 59 | localtime = os.date(), 60 | loadavg = sysinfo.load or { 0, 0, 0 }, 61 | memory = meminfo, 62 | memcached = mem_cached, 63 | swap = swapinfo, 64 | connmax = conn_max, 65 | conncount = conn_count, 66 | leases = stat.dhcp_leases(), 67 | leases6 = stat.dhcp6_leases(), 68 | wifinets = stat.wifi_networks(), 69 | cpufreq = cpu_freq 70 | } 71 | 72 | if wan then 73 | rv.wan = { 74 | ipaddr = wan:ipaddr(), 75 | gwaddr = wan:gwaddr(), 76 | netmask = wan:netmask(), 77 | dns = wan:dnsaddrs(), 78 | expires = wan:expires(), 79 | uptime = wan:uptime(), 80 | proto = wan:proto(), 81 | ifname = wan:ifname(), 82 | link = wan:adminlink() 83 | } 84 | end 85 | 86 | if wan6 then 87 | rv.wan6 = { 88 | ip6addr = wan6:ip6addr(), 89 | gw6addr = wan6:gw6addr(), 90 | dns = wan6:dns6addrs(), 91 | ip6prefix = wan6:ip6prefix(), 92 | uptime = wan6:uptime(), 93 | proto = wan6:proto(), 94 | ifname = wan6:ifname(), 95 | link = wan6:adminlink() 96 | } 97 | end 98 | 99 | if has_dsl then 100 | local dsl_stat = luci.sys.exec("/etc/init.d/dsl_control lucistat") 101 | local dsl_func = loadstring(dsl_stat) 102 | if dsl_func then 103 | rv.dsl = dsl_func() 104 | end 105 | end 106 | 107 | luci.http.prepare_content("application/json") 108 | luci.http.write_json(rv) 109 | 110 | return 111 | elseif luci.http.formvalue("hosts") == "1" then 112 | luci.http.prepare_content("application/json") 113 | luci.http.write_json(luci.sys.net.host_hints()) 114 | 115 | return 116 | end 117 | -%> 118 | 119 | <%+header%> 120 | 121 | 122 | 697 | 698 |

<%:Status%>

699 | 700 |
701 | <%:System%> 702 | 703 | 704 | 705 | 706 | 707 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 |
<%:Hostname%><%=luci.sys.hostname() or "?"%>
<%:Model%><%=pcdata(boardinfo.model or "?")%> <%=luci.sys.exec("cat /etc/bench.log") or " "%>
<%:Architecture%><%=pcdata(boardinfo.system or "?")%> x <%=luci.sys.exec("cat /proc/cpuinfo | grep 'processor' | wc -l") or "1"%>
<%:Firmware Version%> 708 | <%=pcdata(ver.distname)%> <%=pcdata(ver.distversion)%> / 709 | <%=pcdata(ver.luciname)%> (<%=pcdata(ver.luciversion)%>) 710 |
<%:Kernel Version%><%=unameinfo.release or "?"%>
<%:Local Time%>-
<%:Uptime%>-
<%:Load Average%>-
<%:CPU usage (%)%>-
CPU 频率-
719 |
720 | 721 |
722 | <%:Memory%> 723 | 724 | 725 | 726 | 727 |
<%:Total Available%>-
<%:Buffered%>-
728 |
729 | 730 | <% if swapinfo.total > 0 then %> 731 |
732 | <%:Swap%> 733 | 734 | 735 | 736 | 737 |
<%:Total Available%>-
<%:Free%>-
738 |
739 | <% end %> 740 | 741 |
742 | <%:Network%> 743 | 744 | 745 | 751 | <% if has_ipv6 then %> 752 | 758 | <% end %> 759 | 760 | 761 |
<%:IPv4 WAN Status%> 746 | 747 | 748 | 749 |

?
<%:Collecting data...%>
750 |
<%:IPv6 WAN Status%> 753 | 754 | 755 | 756 |

?
<%:Collecting data...%>
757 |
<%:Online Users%>0
<%:Active Connections%>-
762 |
763 | 764 | <% if has_dhcp then %> 765 |
766 | <%:DHCP Leases%> 767 | 768 | 769 | 770 | 771 | 772 | 773 | 774 | 775 | 776 | 777 | 778 |
<%:Hostname%><%:IPv4-Address%><%:MAC-Address%><%:Leasetime remaining%>

<%:Collecting data...%>
779 |
780 | 781 | <% if has_ipv6 then %> 782 | 797 | <% end %> 798 | <% end %> 799 | 800 | <% if has_dsl then %> 801 |
802 | <%:DSL%> 803 | 804 | 810 |
<%:DSL Status%> 805 | 806 | 807 | 808 |

?
<%:Collecting data...%>
809 |
811 |
812 | <% end %> 813 | 814 | <% if has_wifi then %> 815 |
816 | <%:Wireless%> 817 | 818 | 819 | 820 |
<%:Collecting data...%>
821 |
822 | <% end %> 823 | 824 | <%+footer%> -------------------------------------------------------------------------------- /luci-theme-argon/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2008-2019 Jerrykuku 3 | # 4 | # This is free software, licensed under the Apache License, Version 2.0 . 5 | # 6 | 7 | include $(TOPDIR)/rules.mk 8 | 9 | LUCI_TITLE:=Argon Theme 10 | LUCI_DEPENDS:= 11 | PKG_VERSION:=1.3 12 | PKG_RELEASE:=01-20191111 13 | 14 | include $(TOPDIR)/feeds/luci/luci.mk 15 | 16 | # call BuildPackage - OpenWrt buildroot signature -------------------------------------------------------------------------------- /luci-theme-argon/README.md: -------------------------------------------------------------------------------- 1 | # luci-theme-argon 2 | A new Luci theme for LEDE/OpenWRT 3 | Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template 4 | Suitable for Openwrt 18.06.4 (for test) And Lean Luci (stable) 5 | 6 | The old version is still in another branch call old. If you need that you can checkout that branch. 7 | 8 | 9 | ## How to use 10 | 11 | Enter in your openwrt/package/lean or other 12 | 13 | ``` 14 | git clone https://github.com/jerrykuku/luci-theme-argon.git 15 | make menuconfig #choose LUCI->Theme->Luci-theme-argon 16 | make -j1 V=s 17 | ``` 18 | ## Install 19 | ``` 20 | opkg install https://github.com/jerrykuku/luci-theme-argon/releases/download/V1.3/luci-theme-argon_1.3-01-20191111_all.ipk 21 | ``` 22 | 23 | ## Update log 20191109 24 | 1. Minimal background file size. 25 | 2. Automatically detect the number of background images. 26 | 3. Delete unused image and file. 27 | 28 | ## Screenshots 29 | ![](/Screenshots/pc/screenshot1.png) 30 | ![](/Screenshots/pc/screenshot2.png) 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## Thanks to 40 | luci-theme-material: https://github.com/LuttyYang/luci-theme-material/ 41 | -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/css/purecss.css: -------------------------------------------------------------------------------- 1 | /*! 2 | Pure v1.0.1 3 | Copyright 2013 Yahoo! 4 | Licensed under the BSD License. 5 | https://github.com/pure-css/pure/blob/master/LICENSE.md 6 | */ 7 | .pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u,.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%} -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/favicon.ico -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.eot -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Created by FontForge 20090622 at Tue Jul 23 03:29:07 2019 6 | By deploy user 7 | TypoGraphica ©Sharkshock Productions 2015. All Rights Reserved 8 | 9 | 10 | 11 | 26 | 45 | 64 | 66 | 68 | 70 | 72 | 74 | 76 | 78 | 80 | 82 | 84 | 86 | 88 | 90 | 92 | 94 | 96 | 98 | 100 | 102 | 104 | 106 | 109 | 111 | 114 | 118 | 120 | 123 | 126 | 128 | 132 | 135 | 137 | 139 | 141 | 143 | 145 | 147 | 149 | 151 | 153 | 156 | 159 | 162 | 164 | 166 | 169 | 171 | 173 | 175 | 177 | 179 | 181 | 183 | 186 | 188 | 192 | 194 | 197 | 199 | 201 | 203 | 205 | 207 | 209 | 211 | 213 | 215 | 217 | 219 | 221 | 223 | 226 | 229 | 232 | 235 | 238 | 240 | 244 | 246 | 248 | 251 | 253 | 255 | 257 | 259 | 262 | 265 | 268 | 270 | 273 | 275 | 277 | 279 | 281 | 283 | 286 | 288 | 291 | 294 | 296 | 298 | 300 | 302 | 304 | 306 | 308 | 310 | 312 | 314 | 316 | 318 | 320 | 322 | 324 | 326 | 329 | 331 | 333 | 335 | 338 | 342 | 344 | 346 | 348 | 350 | 352 | 354 | 357 | 359 | 361 | 364 | 366 | 368 | 371 | 373 | 375 | 377 | 379 | 381 | 383 | 385 | 387 | 390 | 393 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 682 | 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 723 | 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | 732 | 733 | 734 | 735 | 736 | 737 | 738 | 739 | 740 | 741 | 742 | 743 | 744 | 745 | 746 | 747 | 748 | 749 | 750 | 751 | 752 | 753 | 754 | 755 | 756 | 757 | 758 | 759 | 760 | 761 | 762 | 763 | 764 | 765 | 766 | 767 | 768 | 769 | 770 | 771 | 772 | 773 | 774 | 775 | 776 | 777 | 778 | 779 | 780 | 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | 792 | 793 | 794 | 795 | 796 | 797 | 798 | 799 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 820 | 821 | 822 | 823 | 824 | 825 | 826 | 827 | 828 | 829 | 830 | 831 | 832 | 833 | 834 | 835 | 836 | 837 | 838 | 839 | 840 | 841 | 842 | 843 | 844 | 845 | 846 | 847 | 848 | 849 | 850 | 851 | 852 | 853 | 854 | 855 | 856 | 857 | 858 | 859 | 860 | 861 | 862 | 863 | 864 | 865 | 866 | 867 | 868 | 869 | 870 | 871 | 872 | 873 | 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | 882 | 883 | 884 | 885 | 886 | 887 | 888 | 889 | 890 | 891 | 892 | 893 | 894 | 895 | 896 | 897 | 898 | 899 | 900 | 901 | 902 | 903 | 904 | 905 | 906 | 907 | 908 | 909 | 910 | 911 | 912 | 913 | 914 | 915 | 916 | 917 | 918 | 919 | 920 | 921 | 922 | 923 | 924 | 925 | 926 | 927 | 928 | 929 | 930 | 931 | 932 | 933 | 934 | 935 | 936 | 937 | 938 | 939 | 940 | 941 | 942 | 943 | 944 | 945 | 946 | 947 | 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | 957 | 958 | 959 | 960 | 961 | 962 | 963 | 964 | 965 | 966 | 967 | 968 | 969 | 970 | 971 | 972 | 973 | 974 | 975 | 976 | 977 | 978 | 979 | 980 | 981 | 982 | 983 | 984 | 985 | 986 | 987 | 988 | 989 | 990 | 991 | 992 | 993 | 994 | 995 | 996 | 997 | 998 | 999 | 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 | 1009 | 1010 | 1011 | 1012 | 1013 | 1014 | 1015 | 1016 | 1017 | 1018 | 1019 | 1020 | 1021 | 1022 | 1023 | 1024 | 1025 | 1026 | 1027 | 1028 | 1029 | 1030 | 1031 | 1032 | 1033 | 1034 | 1035 | 1036 | 1037 | 1038 | 1039 | 1040 | 1041 | 1042 | 1043 | 1044 | 1045 | 1046 | 1047 | 1048 | 1049 | 1050 | 1051 | 1052 | 1053 | 1054 | 1055 | 1056 | 1057 | 1058 | 1059 | 1060 | 1061 | 1062 | 1063 | 1064 | 1065 | 1066 | 1067 | 1068 | 1069 | 1070 | 1071 | 1072 | 1073 | 1074 | 1075 | 1076 | 1077 | 1078 | 1079 | 1080 | 1081 | 1082 | 1083 | 1084 | 1085 | 1086 | 1087 | 1088 | 1089 | 1090 | 1091 | 1092 | 1093 | 1094 | 1095 | 1096 | 1097 | 1098 | 1099 | 1100 | 1101 | 1102 | 1103 | 1104 | 1105 | 1106 | 1107 | 1108 | 1109 | 1110 | 1111 | 1112 | 1113 | 1114 | 1115 | 1116 | 1117 | 1118 | 1119 | 1120 | 1121 | 1122 | 1123 | 1124 | 1125 | 1126 | 1127 | 1128 | 1129 | 1130 | 1131 | 1132 | 1133 | 1134 | 1135 | 1136 | 1137 | 1138 | 1139 | 1140 | 1141 | 1142 | 1143 | 1144 | 1145 | 1146 | 1147 | 1148 | 1149 | 1150 | 1151 | 1152 | 1153 | 1154 | 1155 | 1156 | 1157 | 1158 | 1159 | 1160 | 1161 | 1162 | 1163 | 1164 | 1165 | 1166 | 1167 | 1168 | 1169 | 1170 | 1171 | 1172 | 1173 | 1174 | 1175 | 1176 | 1177 | 1178 | 1179 | 1180 | 1181 | 1182 | 1183 | 1184 | 1185 | 1186 | 1187 | 1188 | 1189 | 1190 | 1191 | 1192 | -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.ttf -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.woff -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/font.eot -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/font.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/font.ttf -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/font.woff -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/icomoon.eot -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/icomoon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/icomoon.ttf -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/icomoon.woff -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/ssr.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/ssr.eot -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/ssr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/ssr.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/ssr.ttf -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/fonts/ssr.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/fonts/ssr.woff -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/head-icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/head-icon.jpg -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/js/script.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template 3 | * 4 | * luci-theme-argon 5 | * Copyright 2019 Jerrykuku 6 | * 7 | * Have a bug? Please create an issue here on GitHub! 8 | * https://github.com/jerrykuku/luci-theme-argon/issues 9 | * 10 | * luci-theme-bootstrap: 11 | * Copyright 2008 Steven Barth 12 | * Copyright 2008 Jo-Philipp Wich 13 | * Copyright 2012 David Menting 14 | * 15 | * MUI: 16 | * https://github.com/muicss/mui 17 | * 18 | * luci-theme-material: 19 | * https://github.com/LuttyYang/luci-theme-material/ 20 | * 21 | * Agron Theme 22 | * https://demos.creative-tim.com/argon-dashboard/index.html 23 | * 24 | * Login background 25 | * https://unsplash.com/ 26 | * 27 | * Licensed to the public under the Apache License 2.0 28 | */ 29 | 30 | /* 31 | * Font generate by Icomoon 32 | */ 33 | (function ($) { 34 | $(".main > .loading").fadeOut(); 35 | 36 | /** 37 | * trim text, Remove spaces, wrap 38 | * @param text 39 | * @returns {string} 40 | */ 41 | function trimText(text) { 42 | return text.replace(/[ \t\n\r]+/g, " "); 43 | } 44 | 45 | 46 | var lastNode = undefined; 47 | var mainNodeName = undefined; 48 | 49 | var nodeUrl = ""; 50 | (function (node) { 51 | if (node[0] == "admin") { 52 | luciLocation = [node[1], node[2]]; 53 | } else { 54 | luciLocation = node; 55 | } 56 | 57 | for (var i in luciLocation) { 58 | nodeUrl += luciLocation[i]; 59 | if (i != luciLocation.length - 1) { 60 | nodeUrl += "/"; 61 | } 62 | } 63 | })(luciLocation); 64 | 65 | /** 66 | * get the current node by Burl (primary) 67 | * @returns {boolean} success? 68 | */ 69 | function getCurrentNodeByUrl() { 70 | var ret = false; 71 | if (!$('body').hasClass('logged-in')) { 72 | luciLocation = ["Main", "Login"]; 73 | return true; 74 | } 75 | $(".main > .main-left > .nav > .slide > .active").next(".slide-menu").stop(true).slideUp("fast"); 76 | $(".main > .main-left > .nav > .slide > .menu").removeClass("active"); 77 | $(".main > .main-left > .nav > .slide > .menu").each(function () { 78 | var ulNode = $(this); 79 | 80 | ulNode.next().find("a").each(function () { 81 | var that = $(this); 82 | var href = that.attr("href"); 83 | 84 | if (href.indexOf(nodeUrl) != -1) { 85 | ulNode.click(); 86 | ulNode.next(".slide-menu").stop(true, true); 87 | lastNode = that.parent(); 88 | lastNode.addClass("active"); 89 | ret = true; 90 | return true; 91 | } 92 | }); 93 | }); 94 | return ret; 95 | } 96 | 97 | /** 98 | * menu click 99 | */ 100 | $(".main > .main-left > .nav > .slide > .menu").click(function () { 101 | var ul = $(this).next(".slide-menu"); 102 | var menu = $(this); 103 | if (!menu.hasClass("exit")) { 104 | $(".main > .main-left > .nav > .slide > .active").next(".slide-menu").stop(true).slideUp("fast"); 105 | $(".main > .main-left > .nav > .slide > .menu").removeClass("active"); 106 | if (!ul.is(":visible")) { 107 | menu.addClass("active"); 108 | ul.addClass("active"); 109 | ul.stop(true).slideDown("fast"); 110 | } else { 111 | ul.stop(true).slideUp("fast", function () { 112 | menu.removeClass("active"); 113 | ul.removeClass("active"); 114 | }); 115 | } 116 | 117 | return false; 118 | } 119 | 120 | }); 121 | 122 | 123 | 124 | 125 | // define what element should be observed by the observer 126 | // and what types of mutations trigger the callback 127 | if ($("#cbi-dhcp-lan-ignore").length > 0) { 128 | observer.observe(document.getElementById("cbi-dhcp-lan-ignore"), { 129 | subtree: true, 130 | attributes: true 131 | }); 132 | } 133 | 134 | /** 135 | * hook menu click and add the hash 136 | */ 137 | $(".main > .main-left > .nav > .slide > .slide-menu > li > a").click(function () { 138 | if (lastNode != undefined) 139 | lastNode.removeClass("active"); 140 | $(this).parent().addClass("active"); 141 | $(".main > .loading").fadeIn("fast"); 142 | return true; 143 | }); 144 | 145 | /** 146 | * fix menu click 147 | */ 148 | $(".main > .main-left > .nav > .slide > .slide-menu > li").click(function () { 149 | if (lastNode != undefined) 150 | lastNode.removeClass("active"); 151 | $(this).addClass("active"); 152 | $(".main > .loading").fadeIn("fast"); 153 | window.location = $($(this).find("a")[0]).attr("href"); 154 | return false; 155 | }); 156 | 157 | /** 158 | * fix submenu click 159 | */ 160 | $("#maincontent > .container > .tabs > li").click(function () { 161 | $(".main > .loading").fadeIn("fast"); 162 | window.location = $($(this).find("a")[0]).attr("href"); 163 | return false; 164 | }); 165 | 166 | /** 167 | * get current node and open it 168 | */ 169 | if (getCurrentNodeByUrl()) { 170 | mainNodeName = "node-" + luciLocation[0] + "-" + luciLocation[1]; 171 | mainNodeName = mainNodeName.replace(/[ \t\n\r\/]+/g, "_").toLowerCase(); 172 | $("body").addClass(mainNodeName); 173 | } 174 | $(".cbi-button-up").val(""); 175 | $(".cbi-button-down").val(""); 176 | 177 | 178 | /** 179 | * hook other "A Label" and add hash to it. 180 | */ 181 | $("#maincontent > .container").find("a").each(function () { 182 | var that = $(this); 183 | var onclick = that.attr("onclick"); 184 | if (onclick == undefined || onclick == "") { 185 | that.click(function () { 186 | var href = that.attr("href"); 187 | if (href.indexOf("#") == -1) { 188 | $(".main > .loading").fadeIn("fast"); 189 | return true; 190 | } 191 | }); 192 | } 193 | }); 194 | 195 | /** 196 | * Sidebar expand 197 | */ 198 | var showSide = false; 199 | $(".showSide").click(function () { 200 | if (showSide) { 201 | $(".darkMask").stop(true).fadeOut("fast"); 202 | $(".main-left").stop(true).animate({ 203 | width: "0" 204 | }, "fast"); 205 | $(".main-right").css("overflow-y", "auto"); 206 | showSide = false; 207 | } else { 208 | $(".darkMask").stop(true).fadeIn("fast"); 209 | $(".main-left").stop(true).animate({ 210 | width: "15rem" 211 | }, "fast"); 212 | $(".main-right").css("overflow-y", "hidden"); 213 | showSide = true; 214 | } 215 | }); 216 | 217 | 218 | $(".darkMask").click(function () { 219 | if (showSide) { 220 | showSide = false; 221 | $(".darkMask").stop(true).fadeOut("fast"); 222 | $(".main-left").stop(true).animate({ 223 | width: "0" 224 | }, "fast"); 225 | $(".main-right").css("overflow-y", "auto"); 226 | } 227 | }); 228 | 229 | $(window).resize(function () { 230 | if ($(window).width() > 921) { 231 | $(".main-left").css("width", ""); 232 | $(".darkMask").stop(true); 233 | $(".darkMask").css("display", "none"); 234 | showSide = false; 235 | } 236 | }); 237 | 238 | /** 239 | * fix legend position 240 | */ 241 | $("legend").each(function () { 242 | var that = $(this); 243 | that.after("" + that.text() + ""); 244 | }); 245 | 246 | $(".cbi-section-table-titles, .cbi-section-table-descr, .cbi-section-descr").each(function () { 247 | var that = $(this); 248 | if (that.text().trim() == "") { 249 | that.css("display", "none"); 250 | } 251 | }); 252 | 253 | $(".node-main-login > .main .cbi-value.cbi-value-last .cbi-input-text").focus(function () { 254 | //$(".node-main-login > .main > .main-right > .login-bg").addClass("blur"); 255 | }); 256 | $(".node-main-login > .main .cbi-value.cbi-value-last .cbi-input-text").blur(function () { 257 | //$(".node-main-login > .main > .main-right > .login-bg").removeClass("blur"); 258 | }); 259 | 260 | 261 | $(".main-right").focus(); 262 | $(".main-right").blur(); 263 | $("input").attr("size", "0"); 264 | 265 | if (mainNodeName != undefined) { 266 | console.log(mainNodeName); 267 | switch (mainNodeName) { 268 | case "node-status-system_log": 269 | case "node-status-kernel_log": 270 | $("#syslog").focus(function () { 271 | $("#syslog").blur(); 272 | $(".main-right").focus(); 273 | $(".main-right").blur(); 274 | }); 275 | break; 276 | case "node-status-firewall": 277 | var button = $(".node-status-firewall > .main fieldset li > a"); 278 | button.addClass("cbi-button cbi-button-reset a-to-btn"); 279 | break; 280 | case "node-system-reboot": 281 | var button = $(".node-system-reboot > .main > .main-right p > a"); 282 | button.addClass("cbi-button cbi-input-reset a-to-btn"); 283 | break; 284 | } 285 | } 286 | 287 | })(jQuery); 288 | -------------------------------------------------------------------------------- /luci-theme-argon/htdocs/luci-static/argon/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cathgao/newifi3/d3eb4ecfb865ee58442e222af1de6fa0023f7dcb/luci-theme-argon/htdocs/luci-static/argon/logo.png -------------------------------------------------------------------------------- /luci-theme-argon/luasrc/view/themes/argon/footer.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template 3 | 4 | luci-theme-argon 5 | Copyright 2019 Jerrykuku 6 | 7 | Have a bug? Please create an issue here on GitHub! 8 | https://github.com/jerrykuku/luci-theme-argon/issues 9 | 10 | luci-theme-bootstrap: 11 | Copyright 2008 Steven Barth 12 | Copyright 2008-2016 Jo-Philipp Wich 13 | Copyright 2012 David Menting 14 | 15 | MUI: 16 | https://github.com/muicss/mui 17 | 18 | luci-theme-material: 19 | https://github.com/LuttyYang/luci-theme-material/ 20 | 21 | Agron Theme 22 | https://demos.creative-tim.com/argon-dashboard/index.html 23 | 24 | Login background 25 | https://unsplash.com/ 26 | 27 | Font generate by Icomoon 28 | https://icomoon.io/ 29 | 30 | Licensed to the public under the Apache License 2.0 31 | -%> 32 | 33 | <% 34 | local ver = require "luci.version" 35 | local disp = require "luci.dispatcher" 36 | local request = disp.context.path 37 | local category = request[1] 38 | local tree = disp.node() 39 | local categories = disp.node_childs(tree) 40 | %> 41 | 42 | 53 | 54 | 55 | 56 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /luci-theme-argon/luasrc/view/themes/argon/header.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI and Argon Template 3 | 4 | luci-theme-argon 5 | Copyright 2019 Jerrykuku 6 | 7 | Have a bug? Please create an issue here on GitHub! 8 | https://github.com/jerrykuku/luci-theme-argon/issues 9 | 10 | luci-theme-bootstrap: 11 | Copyright 2008 Steven Barth 12 | Copyright 2008-2016 Jo-Philipp Wich 13 | Copyright 2012 David Menting 14 | 15 | MUI: 16 | https://github.com/muicss/mui 17 | 18 | Agron Theme 19 | https://demos.creative-tim.com/argon-dashboard/index.html 20 | 21 | Licensed to the public under the Apache License 2.0 22 | -%> 23 | 24 | <% 25 | local sys = require "luci.sys" 26 | local util = require "luci.util" 27 | local http = require "luci.http" 28 | local disp = require "luci.dispatcher" 29 | local fs = require "nixio.fs" 30 | local nutil = require "nixio.util" 31 | 32 | local boardinfo = util.ubus("system", "board") 33 | 34 | local request = disp.context.path 35 | local request2 = disp.context.request 36 | 37 | local category = request[1] 38 | local cattree = category and disp.node(category) 39 | 40 | local leaf = request2[#request2] 41 | 42 | local tree = disp.node() 43 | local node = disp.context.dispatched 44 | 45 | local categories = disp.node_childs(tree) 46 | 47 | local c = tree 48 | local i, r 49 | 50 | function glob(...) 51 | local iter, code, msg = fs.glob(...) 52 | if iter then 53 | return nutil.consume(iter) 54 | else 55 | return nil, code, msg 56 | end 57 | end 58 | 59 | -- tag all nodes leading to this page 60 | for i, r in ipairs(request) do 61 | if c.nodes and c.nodes[r] then 62 | c = c.nodes[r] 63 | c._menu_selected = true 64 | end 65 | end 66 | 67 | -- send as HTML5 68 | http.prepare_content("text/html") 69 | 70 | local function nodeurl(prefix, name, query) 71 | local u = url(prefix, name) 72 | if query then 73 | u = u .. http.build_querystring(query) 74 | end 75 | return pcdata(u) 76 | end 77 | 78 | local function render_tabmenu(prefix, node, level) 79 | if not level then 80 | level = 1 81 | end 82 | 83 | local childs = disp.node_childs(node) 84 | if #childs > 0 then 85 | if level > 2 then 86 | write('
    ') 87 | end 88 | 89 | local selected_node 90 | local selected_name 91 | local i, v 92 | 93 | for i, v in ipairs(childs) do 94 | local nnode = node.nodes[v] 95 | if nnode._menu_selected then 96 | selected_node = nnode 97 | selected_name = v 98 | end 99 | 100 | if level > 2 then 101 | write('
  • %s
  • ' %{ 102 | v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', 103 | nodeurl(prefix, v, nnode.query), 104 | striptags(translate(nnode.title)) 105 | }) 106 | end 107 | end 108 | 109 | if level > 2 then 110 | write('
') 111 | end 112 | 113 | if selected_node then 114 | render_tabmenu(prefix .. "/" .. selected_name, selected_node, level + 1) 115 | end 116 | end 117 | end 118 | 119 | local function render_submenu(prefix, node) 120 | local childs = disp.node_childs(node) 121 | if #childs > 0 then 122 | write('
    ') 123 | 124 | for i, r in ipairs(childs) do 125 | local nnode = node.nodes[r] 126 | local title = pcdata(striptags(translate(nnode.title))) 127 | 128 | write('
  • %s
  • ' %{ 129 | title, 130 | nodeurl(prefix, r, nnode.query), 131 | title 132 | }) 133 | end 134 | 135 | write('
') 136 | end 137 | end 138 | 139 | local function render_topmenu() 140 | local childs = disp.node_childs(cattree) 141 | if #childs > 0 then 142 | write('') 170 | end 171 | end 172 | 173 | local function render_changes() 174 | -- calculate the number of unsaved changes 175 | if tree.nodes[category] and tree.nodes[category].ucidata then 176 | local ucichanges = 0 177 | local i, j 178 | for i, j in pairs(require("luci.model.uci").cursor():changes()) do 179 | ucichanges = ucichanges + #j 180 | end 181 | 182 | if ucichanges > 0 then 183 | write('%s: %d' %{ 184 | url(category, 'uci/changes'), 185 | http.urlencode(http.formvalue('redir') or table.concat(disp.context.request, "/")), 186 | translate('Unsaved Changes'), 187 | ucichanges 188 | }) 189 | end 190 | end 191 | end 192 | 193 | math.randomseed(os.time()) 194 | 195 | local bgcount = 0 196 | for f in ipairs(glob("/www/luci-static/argon/img/*")) do 197 | bgcount = bgcount + 1 198 | end 199 | 200 | 201 | -%> 202 | 203 | 204 | 205 | 206 | <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | - LuCI"> 220 | - LuCI"> 221 | 222 | 223 | 224 | 225 | 226 | 227 | <% if node and node.css then %> 228 | 229 | <% end -%> 230 | <% if css then %> 231 | 232 | <% end -%> 233 | 234 | 235 | 236 | 237 | 238 | 239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 | <%=boardinfo.hostname or "?"%> ™ 251 |
252 | 253 |
254 |
255 | 256 | 257 | 258 |
259 |
260 |
261 |
262 | <% render_topmenu() %> 263 |
264 |
265 |
266 |
267 |
268 | 269 | <%=boardinfo.hostname or "?"%> ™ 270 |
271 | <% render_changes() %> 272 | 276 |
277 |
278 |
279 |
280 |
281 | 282 |
283 |
284 | <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> 285 |
286 |

<%:No password set!%>

287 |

<%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%>

288 | 289 |
290 | <%- end -%> 291 | 292 | 298 | 299 | <% if category then render_tabmenu(category, cattree) end %> 300 | -------------------------------------------------------------------------------- /luci-theme-argon/root/etc/uci-defaults/30_luci-theme-argon: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | uci batch <<-EOF 3 | set luci.themes.Argon=/luci-static/argon 4 | set luci.main.mediaurlbase=/luci-static/argon 5 | commit luci 6 | EOF 7 | exit 0 8 | -------------------------------------------------------------------------------- /newifi3.config: -------------------------------------------------------------------------------- 1 | # 2 | # 机型选择 3 | # 4 | CONFIG_TARGET_ramips=y 5 | CONFIG_TARGET_ramips_mt7621=y 6 | CONFIG_TARGET_ramips_mt7621_DEVICE_d-team_newifi-d2=y 7 | 8 | # 9 | # IPV6支持 10 | # 11 | CONFIG_IPV6=y 12 | CONFIG_PACKAGE_dnsmasq_full_dhcpv6=y 13 | CONFIG_PACKAGE_ipv6helper=y 14 | CONFIG_PACKAGE_odhcp6c=y 15 | CONFIG_PACKAGE_odhcpd-ipv6only=y 16 | CONFIG_PACKAGE_luci-proto-ipv6=y 17 | CONFIG_PACKAGE_kmod-ipt-nat6=y 18 | CONFIG_PACKAGE_ipv6helper=y 19 | CONFIG_PACKAGE_kmod-ip6tables=y 20 | CONFIG_PACKAGE_kmod-ip6tables-extra=y 21 | CONFIG_PACKAGE_6in4=y 22 | 23 | # 24 | # samba扩展 25 | # 26 | CONFIG_PACKAGE_autosamba=n 27 | #CONFIG_PACKAGE_samba36-server is not set 28 | 29 | 30 | 31 | # 32 | # USB与存储相关支持 33 | # 34 | CONFIG_PACKAGE_automount=y 35 | CONFIG_PACKAGE_kmod-fs-qntfs=y 36 | CONFIG_PACKAGE_kmod-scsi-core=y 37 | CONFIG_PACKAGE_kmod-fs-exfat=y 38 | CONFIG_PACKAGE_kmod-fs-ext4=y 39 | CONFIG_PACKAGE_ntfs-3g=y 40 | CONFIG_PACKAGE_kmod-fs-vfat=y 41 | CONFIG_PACKAGE_kmod-fuse=y 42 | CONFIG_PACKAGE_kmod-mtd-rw=y 43 | CONFIG_PACKAGE_kmod-mmc=y 44 | CONFIG_PACKAGE_kmod-sdhci=y 45 | CONFIG_PACKAGE_kmod-mmc-spi=y 46 | CONFIG_PACKAGE_kmod-usb-core=y 47 | CONFIG_PACKAGE_kmod-usb-dwc3=y 48 | CONFIG_PACKAGE_kmod-usb-dwc3-of-simple=y 49 | CONFIG_PACKAGE_kmod-usb-ehci=y 50 | CONFIG_PACKAGE_kmod-usb-ohci=y 51 | CONFIG_PACKAGE_kmod-usb-printer=y 52 | CONFIG_PACKAGE_kmod-usb-storage=y 53 | CONFIG_PACKAGE_kmod-usb-storage-extras=y 54 | CONFIG_PACKAGE_kmod-usb-uhci=y 55 | CONFIG_PACKAGE_kmod-usb2=y 56 | CONFIG_PACKAGE_kmod-usb3=y 57 | 58 | # 59 | # 无线驱动 60 | # 61 | CONFIG_PACKAGE_wireless-regdb=y 62 | CONFIG_PACKAGE_kmod-cfg80211=y 63 | CONFIG_PACKAGE_kmod-mac80211=y 64 | CONFIG_PACKAGE_MAC80211_DEBUGFS=y 65 | CONFIG_PACKAGE_MAC80211_MESH=y 66 | #use opensource wifi driver 67 | CONFIG_PACKAGE_kmod-mt7603=n 68 | CONFIG_PACKAGE_kmod-mt7603e=y 69 | CONFIG_PACKAGE_kmod-mt76x2=n 70 | CONFIG_PACKAGE_kmod-mt76x2-common=n 71 | CONFIG_PACKAGE_kmod-mt76x2e=y 72 | CONFIG_PACKAGE_wpad-openssl=y 73 | CONFIG_PACKAGE_wpa-supplicant=y 74 | 75 | # 76 | # 插件集成 77 | # 78 | #CONFIG_PACKAGE_luci-app-accesscontrol is not set 79 | CONFIG_PACKAGE_luci-app-adbyby-plus=n 80 | CONFIG_PACKAGE_luci-app-adguardhome=y #adguard home 81 | CONFIG_PACKAGE_luci-app-aria2=n 82 | CONFIG_PACKAGE_luci-app-arpbind=y 83 | CONFIG_PACKAGE_luci-app-autoreboot=n 84 | CONFIG_PACKAGE_luci-app-ddns=y 85 | CONFIG_PACKAGE_luci-app-dnspod=n 86 | CONFIG_PACKAGE_luci-app-dnsforwarder=n 87 | CONFIG_PACKAGE_luci-app-filetransfer=n 88 | CONFIG_PACKAGE_luci-app-firewall=y 89 | CONFIG_PACKAGE_luci-app-flowoffload=y 90 | CONFIG_PACKAGE_luci-app-frpc=y 91 | CONFIG_PACKAGE_luci-app-ipsec-vpnd=n 92 | CONFIG_PACKAGE_luci-app-mwan3=n 93 | CONFIG_PACKAGE_luci-app-mwan3helper=n 94 | CONFIG_PACKAGE_luci-app-nlbwmon=n 95 | CONFIG_PACKAGE_luci-app-pptp-server=n 96 | CONFIG_PACKAGE_luci-app-ramfree=y 97 | CONFIG_PACKAGE_luci-app-samba=n 98 | CONFIG_PACKAGE_luci-app-serverchan=y 99 | CONFIG_PACKAGE_luci-app-sqm=n 100 | CONFIG_PACKAGE_xray=y 101 | CONFIG_XRAY_EXCLUDE_ASSETS=y 102 | CONFIG_XRAY_COMPRESS_UPX=y 103 | CONFIG_v2ray-plugin_INCLUDE_GOPROXY=y 104 | CONFIG_PACKAGE_luci-app-uugamebooster=n #默认不启用uu加速器 105 | CONFIG_PACKAGE_uugamebooster=n 106 | CONFIG_PACKAGE_luci-app-jd-dailybonus=n 107 | CONFIG_PACKAGE_luci-app-netdata=n 108 | CONFIG_PACKAGE_luci-app-cifsd=y 109 | CONFIG_PACKAGE_luci-app-cifs-mount=y 110 | CONFIG_PACKAGE_luci-app-ssr-plus=y 111 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Xray=y 112 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_NaiveProxy=n 113 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y 114 | CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_ShadowsocksR_Server=y 115 | CONFIG_PACKAGE_luci-app-syncdial=n 116 | CONFIG_PACKAGE_luci-app-transmission=n 117 | CONFIG_PACKAGE_luci-app-ttyd=n 118 | CONFIG_PACKAGE_luci-app-uhttpd=y 119 | CONFIG_PACKAGE_luci-app-unblockmusic=y 120 | CONFIG_UnblockNeteaseMusic_Go=y 121 | CONFIG_PACKAGE_luci-app-upnp=y 122 | CONFIG_PACKAGE_luci-app-usb-printer=y 123 | CONFIG_PACKAGE_luci-app-v2ray-server=n 124 | CONFIG_PACKAGE_luci-app-vlmcsd=y 125 | CONFIG_PACKAGE_luci-app-vsftpd=y 126 | CONFIG_PACKAGE_luci-app-wifischedule=y 127 | CONFIG_PACKAGE_luci-app-wol=y 128 | CONFIG_PACKAGE_luci-app-xlnetacc=n 129 | CONFIG_PACKAGE_luci-app-zerotier=n 130 | CONFIG_PACKAGE_luci-app-diskman=y 131 | CONFIG_PACKAGE_luci-app-mtwifi=y 132 | # CONFIG_PACKAGE_qBittorrent is not set 133 | # CONFIG_DEFAULT_luci-app-qbittorrent is not set 134 | 135 | # 136 | # 主题 137 | # 138 | CONFIG_PACKAGE_luci-theme-argon=y 139 | CONFIG_PACKAGE_luci-app-argon-config=y 140 | CONFIG_PACKAGE_luci-theme-bootstrap=n 141 | 142 | # 143 | # 基础命令及其他 144 | # 145 | CONFIG_PACKAGE_openssh-sftp-server=y 146 | CONFIG_PACKAGE_nano=y 147 | CONFIG_PACKAGE_fdisk=y 148 | CONFIG_PACKAGE_bash=y 149 | CONFIG_PACKAGE_lscpu=y 150 | CONFIG_PACKAGE_mount-utils=y 151 | --------------------------------------------------------------------------------