├── Makefile ├── README.md ├── files ├── etc │ ├── config │ │ └── youku │ ├── init.d │ │ └── youku │ ├── uci-defaults │ │ └── luci-youku │ └── youku │ │ ├── FILES │ │ ├── restart.log │ │ ├── youku-guard │ │ ├── youku-info │ │ └── youku-main └── usr │ ├── bin │ ├── getykbdlink │ └── ikuacc │ └── lib │ └── lua │ └── luci │ ├── controller │ ├── youku-info.lua │ └── youku.lua │ ├── model │ └── cbi │ │ └── youku.lua │ └── view │ └── youku │ ├── dvalue.htm │ └── tsection.htm └── releases ├── curl_7.40.0-3_ramips_24kec.ipk ├── curl_7.43.0-1_ramips_24kec.ipk ├── librt_0.9.33.2-1_ramips_24kec.ipk ├── librt_1.1.11-1_ramips_24kec.ipk ├── libstdcpp_4.8-linaro-1_ramips_24kec.ipk ├── libstdcpp_5.2.0-1_ramips_24kec.ipk ├── libthread-db_0.9.33.2-1_ramips_24kec.ipk ├── luci-app-youku_1.2.1-1_all.ipk ├── luci-lib-jsonc_git-15.305.47573-ce1456f-1_ramips_24kec.ipk └── wget_1.16.3-1_ramips_24kec.ipk /Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2010-2011 OpenWrt.org 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /LICENSE for more information. 6 | # http://blog.kuoruan.com/ kuoruan 7 | # 8 | 9 | include $(TOPDIR)/rules.mk 10 | 11 | PKG_NAME:=luci-app-youku 12 | PKG_VERSION:=1.2.1 13 | PKG_RELEASE:=1 14 | 15 | include $(INCLUDE_DIR)/package.mk 16 | 17 | define Package/luci-app-youku 18 | SECTION:=LuCI 19 | CATEGORY:=LuCI 20 | SUBMENU:=3. Applications 21 | TITLE:=Luci Support for Youku acc. 22 | DEPENDS:=+luci +luci-lib-jsonc +libstdcpp +libthread-db +librt +wget +curl 23 | PKGARCH:=all 24 | endef 25 | 26 | define Package/luci-app-youku/description 27 | Luci Support for Youku acc,only chinese. 28 | endef 29 | 30 | define Package/luci-app-youku/conffiles 31 | /etc/config/youku 32 | endef 33 | 34 | define Package/luci-app-youku/postinst 35 | #!/bin/sh 36 | [ -n "${IPKG_INSTROOT}" ] || { 37 | (. /etc/uci-defaults/luci-youku) && rm -f /etc/uci-defaults/luci-youku 38 | exit 0 39 | } 40 | endef 41 | 42 | define Package/luci-app-youku/prerm 43 | #!/bin/sh 44 | /etc/init.d/youku stop 45 | 46 | uci delete ucitrack.@youku[-1] >/dev/null 2>&1 47 | uci commit ucitrack 48 | 49 | rm -f /tmp/luci-indexcache 50 | exit 0 51 | endef 52 | 53 | define Build/Compile 54 | endef 55 | 56 | define Package/luci-app-youku/postrm 57 | #!/bin/sh 58 | rm -f /etc/config/youku 59 | rm -rf /etc/youku/ 60 | endef 61 | 62 | define Package/luci-app-youku/install 63 | $(CP) ./files/* $(1) 64 | endef 65 | 66 | $(eval $(call BuildPackage,luci-app-youku)) 67 | 68 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # luci-app-youku 2 | OpenWrt 优酷挖矿扩展,适用于MTK7620A(N) 3 | 4 | 参考了网上许多挖矿扩展,整合功能,完善界面 5 | 6 | ### 2015年12月5日 ### 7 | * 经本人测试,最新trunk源码无法编译使用本挖矿插件,因为官方现在将默认的c库从uClibc切换到了musl [Advanced configuration options (for developers) ---> Toolchain Options ---> C Library implementation (Use (e)glibc)],在找到切换回去的方法之前,是无法在trunk版本使用的,推荐用BB或者CC编译。 8 | 9 | ### 2015年11月22日 10 | * 将不规范的"uci get -q"全部改为"uci -q get"命令,现在Openwrt最新版也能使用了 11 | * 官方trunk默认不能编译libthread-db,编译本插件时会因为依赖不足而无法在Luci中显示,~~建议编译前修改目录下的Makefile文件的DEPENDS这一行,去掉"+libthread-db"之后编译,编译完之后安装我这里提供的libthread-db~~ 12 | 13 | ### 2015年11月3日 14 | * 再改版,许多小优化,感觉像是做了无用功... 15 | * 现在大家可以尝试安装挖矿试试! 16 | * 感谢恩山网友 @lucktu @andrewm10 大力支持 17 | 18 | ### 2015年11月2日 19 | * ~~大家暂时别用,挂了两天没收益,我正在排查问题~~ 20 | * 由于本人宽带无法获取外网IP,不知道能不能正常挖矿,希望能收到各位的反馈 21 | * 有没有谁有优酷路由宝真机啊,求联系... 22 | * 反馈地址:http://www.right.com.cn/forum/thread-177764-1-1.html 23 | 24 | ### 2015年10月29日 25 | * 去除实时统计; 26 | * 优化程序,使用jsonc解析数据,~~大幅降低占用~~; 27 | * 更新文件目录,修改部分文件名; 28 | * 去除无用内容. 29 | -------------------------------------------------------------------------------- /files/etc/config/youku: -------------------------------------------------------------------------------- 1 | 2 | config youku 'config' 3 | option enable '0' 4 | option mode '0' 5 | -------------------------------------------------------------------------------- /files/etc/init.d/youku: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | 3 | START=99 4 | 5 | start(){ 6 | killall -9 ikuacc youku-main 7 | sleep 1 8 | /etc/youku/youku-main & 9 | } 10 | 11 | stop(){ 12 | killall -9 ikuacc youku-main 13 | } 14 | 15 | restart(){ 16 | killall -9 ikuacc youku-main 17 | sleep 1 18 | /etc/youku/youku-main & 19 | } 20 | -------------------------------------------------------------------------------- /files/etc/uci-defaults/luci-youku: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@youku[-1] 5 | add ucitrack youku 6 | set ucitrack.@youku[-1].init=youku 7 | commit ucitrack 8 | EOF 9 | uci set firewall.youku="rule" 10 | uci set firewall.youku.enabled="1" 11 | uci set firewall.youku.target="ACCEPT" 12 | uci set firewall.youku.src="wan" 13 | uci set firewall.youku.proto="tcp udp" 14 | uci set firewall.youku.dest_port="4466" 15 | uci set firewall.youku.name="Youku-System" 16 | uci commit firewall 17 | 18 | rm -f /tmp/luci-indexcache 19 | exit 0 20 | -------------------------------------------------------------------------------- /files/etc/youku/FILES: -------------------------------------------------------------------------------- 1 | 1.5.0320.48610 e6b66dad522137ab3b653dd5ffffd552 http://desktop.youku.com/openwrt/1.5.0320.48610/1/mtn/packages/ikuacc_1.5.0320.48610-48610_ramips_24kec.ipk 2 | 1.5.0327.48994 00fe494e35baa5c0993c5c74a9d90e23 http://desktop.youku.com/openwrt/1.5.0327.48994/1/mtn/packages/ikuacc_1.5.0327.48994-48994_ramips_24kec.ipk 3 | 1.5.0327.49004 aa5ff080b92c2d8b36ad75b4927ac486 http://desktop.youku.com/openwrt/1.5.0327.49004/2/mtn/packages/ikuacc_1.5.0327.49004-49004_ramips_24kec.ipk 4 | 1.5.0414.49950 69b4f6699471825eb23163279b81e894 http://desktop.youku.com/openwrt/1.5.0414.49950/1/mtn/packages/ikuacc_1.5.0414.49950-49950_ramips_24kec.ipk 5 | 1.5.0417.50253 a913cc1c8c5d2a753d18eb4815bccad8 http://desktop.youku.com/openwrt/1.5.0417.50253/2/mtn/packages/ikuacc_1.5.0417.50253-50253_ramips_24kec.ipk 6 | 1.5.0418.50280 df4971abebfe71b5f81cd1f23dfdbbd3 http://desktop.youku.com/openwrt/1.5.0418.50280/1/mtn/packages/ikuacc_1.5.0418.50280-50280_ramips_24kec.ipk 7 | 1.5.0421.50375 0043aff03cfc4129573f1044ec9b00d4 http://desktop.youku.com/openwrt/1.5.0421.50375/1/mtn/packages/ikuacc_1.5.0421.50375-50375_ramips_24kec.ipk 8 | 1.5.0421.50378 ec4e4d1ce9495539cfa22e8b529cd52f http://desktop.youku.com/openwrt/1.5.0421.50378/2/mtn/packages/ikuacc_1.5.0421.50378-50378_ramips_24kec.ipk 9 | 1.5.0507.51287 03a45bbdfcb4e29c86467c0cd05a1a50 http://desktop.youku.com/openwrt/1.5.0507.51287/1/mtn/packages/ikuacc_1.5.0507.51287-51287_ramips_24kec.ipk 10 | 1.5.0507.51292 3cb64a04c08d2f801c1fece33fee48ad http://desktop.youku.com/openwrt/1.5.0507.51292/2/mtn/packages/ikuacc_1.5.0507.51292-51292_ramips_24kec.ipk 11 | -------------------------------------------------------------------------------- /files/etc/youku/restart.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/files/etc/youku/restart.log -------------------------------------------------------------------------------- /files/etc/youku/youku-guard: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "$(uci -q get youku.config.enable)" = "1" ]; then 4 | if [ "$(pidof ikuacc)" = "" -a "$(pidof youku-main)" = "" ]; then 5 | echo `date '+%Y/%m/%d %T'` > /etc/youku/restart.log 6 | /etc/youku/youku-main & 7 | sleep 5 8 | fi 9 | fi 10 | -------------------------------------------------------------------------------- /files/etc/youku/youku-info: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | wan="$(uci -q get network.wan.ifname)" 4 | rx1="$(cat /proc/net/dev|grep "$wan"|awk '{print $2}')" 5 | tx1="$(cat /proc/net/dev|grep "$wan"|awk '{print $10}')" 6 | sleep 1 7 | rx2="$(cat /proc/net/dev|grep "$wan"|awk '{print $2}')" 8 | tx2="$(cat /proc/net/dev|grep "$wan"|awk '{print $10}')" 9 | 10 | awk 'BEGIN{printf "

下行速度:%.2fKB/s | 上行速度:%.2fKB/s

\n", '$(( rx2 - rx1 ))' / '1024', '$(( tx2 - tx1 ))' / '1024'}' 11 | ifconfig $wan|grep "RX bytes:"|tr -d '()'|awk '{print "

总下载量:"$3$4" | 总上传量:"$7$8"

"}' 12 | echo "

当前连接数:"$(netstat -apn|grep ikuacc|wc -l)"

" 13 | df -h|grep 'G'|awk '{print "

挂载目录:"$6" 总容量:"$2" 剩余空间:"$4"

"}' 14 | ifstatus wan|grep '"address":'|awk -F '"' '{print "

WAN口IP:"$4"

"}' 15 | echo "

外网IP:"$(wget -qO - ddns.oray.com/checkip|tr -cd [0-9.])"

" 16 | -------------------------------------------------------------------------------- /files/etc/youku/youku-main: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export YoukuHome="/tmp/youku" 4 | 5 | old=$(cat /tmp/youku-main.pid) 6 | echo $$ > /tmp/youku-main.pid 7 | [ "$old" ] && killall -9 $old > /dev/null 2>&1 8 | 9 | bootup() { 10 | [ -d "$YoukuHome" ] && return 0; 11 | mkdir -p $YoukuHome 12 | mkdir -p $YoukuHome/ipk 13 | mkdir -p $YoukuHome/bin 14 | mkdir -p $YoukuHome/data 15 | return 0 16 | # for plugin needed 17 | /etc/init.d/cron enable 18 | /etc/init.d/cron start 19 | } 20 | 21 | optimize() { 22 | local data="\ 23 | linux-vm-max-cpu-busy-linger=10&\ 24 | linux-vm-max-net-upload-k-speed=2000&\ 25 | linux-vm-max-net-download-k-speed=2000&\ 26 | upload-limit-model=0&\ 27 | pcdn-work-mode=0&\ 28 | upload-max-uploading-count=2000&\ 29 | upload-max-waiting-count=80&\ 30 | pcdn-radic-max-download-size-per-hour=8294967296&\ 31 | pcdn-radic-max-remove-size-per-hour=8294967296&\ 32 | peak-period=07:00-24:00&\ 33 | download-disable-in-peak-period=0&\ 34 | enable-flash-p2p-hint=1&\ 35 | max-cache-buffer-size=24&\ 36 | "; 37 | curl --connect-timeout 2 --data "${data}" "http://127.0.0.1:8908/peer/config/xml?m=put" 38 | return 0 39 | } 40 | local ikuacc="ikuacc" 41 | path=$(uci -q get youku.@paths[0].path) 42 | if [ "$path" = "" ]; then 43 | killall -9 ikuacc 44 | uci set youku.config.enable="0" 45 | uci commit youku 46 | exit 0 47 | fi 48 | [ -d "$path" ] || return 0; 49 | bootup 50 | 51 | [ -e $path/ikuacc ] || mkdir -p $path/ikuacc 52 | [ -d "$path/meta" ] || mkdir -p $path/meta 53 | ln -sfn $path/meta $YoukuHome 54 | 55 | if [ "$(uci -q get youku.config.enable)" = "0" ]; then 56 | [ "$(cat /etc/crontabs/root|grep /etc/youku/youku-guard)" ] && sed -i 's/\*\/5 \* \* \* \* sh \/etc\/youku\/youku-guard > \/dev\/null 2>&1//g' /etc/crontabs/root 57 | [ "$(cat /etc/firewall.user|grep "tcp --dport 4466")" ] && sed -i 's/iptables \-I INPUT \-p tcp \-\-dport 4466 \-j ACCEPT//g' /etc/firewall.user 58 | [ "$(cat /etc/firewall.user|grep "udp --dport 4466")" ] && sed -i 's/iptables \-I INPUT \-p udp \-\-dport 4466 \-j ACCEPT//g' /etc/firewall.user 59 | [ "$(cat /etc/firewall.user|grep "input_wan_rule -p udp")" ] && sed -i 's/iptables \-I input_wan_rule \-p udp \-j ACCEPT//g' /etc/firewall.user 60 | killall -9 ikuacc 61 | exit 0 62 | else 63 | [ "$(cat /etc/crontabs/root|grep /etc/youku/youku-guard)" ] || echo "*/5 * * * * sh /etc/youku/youku-guard > /dev/null 2>&1" >> /etc/crontabs/root #每5分钟检测程序是否运行 64 | [ "$(cat /etc/firewall.user|grep "tcp --dport 4466")" ] || echo "iptables -I INPUT -p tcp --dport 4466 -j ACCEPT" >> /etc/firewall.user 65 | [ "$(cat /etc/firewall.user|grep "udp --dport 4466")" ] || echo "iptables -I INPUT -p udp --dport 4466 -j ACCEPT" >> /etc/firewall.user 66 | [ "$(cat /etc/firewall.user|grep "input_wan_rule -p udp")" ] || echo "iptables -I input_wan_rule -p udp -j ACCEPT" >> /etc/firewall.user 67 | fi 68 | 69 | version=$(uci -q get youku.config.version) 70 | url=$(grep "\<$version\>" /etc/youku/FILES|awk '{print $3}') 71 | tmd5=$(grep "\<$version\>" /etc/youku/FILES|awk '{print $2}') 72 | if [ ! -z "$version" ]; then 73 | if [ ! -e $path/ikuacc/ikuacc.${version} ]; then 74 | while [ "$md5" != "$tmd5" ]; do #比对MD5. 75 | wget -qO /tmp/youku/ipk/youku.ipk -T 120 -t 10 --no-check-certificate ${url} 76 | tar zxf /tmp/youku/ipk/youku.ipk -C /tmp/youku/ipk 77 | tar zxf /tmp/youku/ipk/data.tar.gz -C /tmp/youku/ipk 78 | cp $(find /tmp/youku/ipk/ -name "ikuacc") $path/ikuacc/ikuacc.${version} 79 | md5=$(md5sum $path/ikuacc/ikuacc.${version}|awk '{print $1}') 80 | sleep 1 81 | rm -rf /tmp/youku/ipk/* 82 | done 83 | chmod 755 $path/ikuacc/ikuacc.${version} 84 | fi 85 | cp -f $path/ikuacc/ikuacc.${version} $YoukuHome/bin/ikuacc 86 | ikuacc="$YoukuHome/bin/ikuacc" 87 | fi 88 | sleep 1 89 | wksn="$(uci -q get youku.config.sn)" 90 | str="--device-serial-number="0000$wksn" --mobile-meta-path="$YoukuHome/meta" --mobile-data-path=" 91 | i=0 92 | while [ "$(uci -q get youku.@paths[$i].path)" != "" ]; do 93 | partsize=`df -m | grep $(uci -q get youku.@paths[$i].path)|awk '{print $2 }'` 94 | [ ${partsize} -gt 500 ] && { 95 | if [ $(uci -q get youku.@paths[$i].cache) != "" ]; then 96 | cache=":$(uci -q get youku.@paths[$i].cache)" 97 | else 98 | cache="" 99 | fi 100 | [ -d "$path/youku" ] || mkdir -p $path/youku 101 | path=$(uci -q get youku.@paths[$i].path) 102 | if [ -d $path/youku/data ]; then #兼容官方缓存 103 | ln -sfn $path/youku/data $YoukuHome/data/data$i 104 | else 105 | ln -sfn $path $YoukuHome/data/data$i 106 | fi 107 | str="$str$YoukuHome/data/data$i$cache;" 108 | i=$(($i+1)) 109 | } 110 | done 111 | sdt="0" 112 | while true; do 113 | sleep 1 114 | if [ "$(uci -q get youku.config.restart)" = "$(date +%H%M)" ]; then 115 | sleep 30 116 | if [ "$(uci -q get youku.config.ikrestart)" = "1" ]; then 117 | killall -9 ikuacc 118 | echo `date '+%Y/%m/%d %T'` > /etc/youku/restart.log 119 | sleep 3 120 | else 121 | reboot 122 | fi 123 | fi 124 | sleep 5 125 | 126 | if [ "$(uci -q get youku.config.enable)" = "1" ]; then 127 | if [ "$(pidof ikuacc)" = "" ]; then 128 | sleep 5 129 | $ikuacc ${str%?} & 130 | sleep 20 131 | #optimize 132 | sdt="1" 133 | fi 134 | else 135 | killall -9 ikuacc 136 | exit 0 137 | fi 138 | 139 | if [ "$sdt" = "1" ]; then 140 | wget -O - 'http://127.0.0.1:8908/peer/limit/network/set?upload_model='"$(uci -q get youku.config.mode)" > /dev/null 2>&1 141 | sleep 2 142 | sdt="0" 143 | fi 144 | sleep 30 145 | done 146 | -------------------------------------------------------------------------------- /files/usr/bin/getykbdlink: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/files/usr/bin/getykbdlink -------------------------------------------------------------------------------- /files/usr/bin/ikuacc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/files/usr/bin/ikuacc -------------------------------------------------------------------------------- /files/usr/lib/lua/luci/controller/youku-info.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.youku-info", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/youku") then 5 | return 6 | end 7 | 8 | entry({"youku-info"}, call("getinfo")) 9 | end 10 | 11 | function getinfo() 12 | if (luci.sys.call("pidof ikuacc > /dev/null") == 0) then 13 | local info = luci.sys.exec("/etc/youku/youku-info") 14 | luci.http.prepare_content("application/json") 15 | luci.http.write_json({success = 1, data = info }) 16 | else 17 | luci.http.prepare_content("application/json") 18 | luci.http.write_json({success = 0, data = 'Not working' }) 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /files/usr/lib/lua/luci/controller/youku.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.youku", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/youku") then 5 | return 6 | end 7 | 8 | entry({"admin", "services", "youku"}, cbi("youku"), _("优酷路由宝")).dependent = true 9 | end 10 | -------------------------------------------------------------------------------- /files/usr/lib/lua/luci/model/cbi/youku.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Copyright 2015 kuoruan 3 | Licensed to the public under the Apache License 2.0. 4 | --]] 5 | 6 | local jsonc = require "luci.jsonc" 7 | local function isempty(obj) 8 | return obj == nil or obj == "" 9 | end 10 | -- 根据MAC计算的S/N 11 | local macsn = luci.sys.exec("echo 2115$(cat /sys/class/net/br-lan/address|tr -d ':'|md5sum |tr -dc [0-9]|cut -c 0-12)") 12 | -- S/N 13 | local sn = luci.sys.exec("uci -q get youku.config.sn") 14 | -- 提示信息 15 | local notice = "" 16 | local sbtn = "" 17 | -- 状态 18 | local status = -1 19 | -- 获取信息 20 | luci.sys.exec("wget -qO /tmp/user http://pcdnapi.youku.com/pcdn/user/check_bindinfo?pid=0000"..sn) 21 | luci.sys.exec("wget -qO /tmp/credit http://pcdnapi.youku.com/pcdn/credit/summary?pid=0000"..sn) 22 | 23 | local user = jsonc.parse(luci.sys.exec("cat /tmp/user")) 24 | 25 | if not isempty(user) then 26 | status = user.code 27 | end 28 | 29 | if (luci.sys.call("pidof ikuacc > /dev/null") == 0) then 30 | local speed = luci.sys.exec("/etc/youku/youku-info") 31 | m = Map("youku", translate("优酷路由宝"), translate("正在运行...")..""..speed.."") 32 | local link = luci.sys.exec("printf http://$(uci -q get network.lan.ipaddr):8908/peer/config/config.htm") 33 | sbtn = "" 34 | elseif (luci.sys.call("pidof youku-main > /dev/null") == 0) then 35 | m = Map("youku", translate("优酷路由宝"), ""..translate("正在准备,请稍候...").."") 36 | else 37 | m = Map("youku", translate("优酷路由宝"), ""..translate("已停止...").."") 38 | end 39 | 40 | m.redirect = luci.dispatcher.build_url("admin/services/youku") 41 | s1 = m:section(TypedSection, "youku", translate("点击进入官方金币平台>>")..sbtn) 42 | s1.template = "youku/tsection" 43 | s1.anonymous = true 44 | 45 | if (status == 0) then 46 | s1:tab("info", translate("信息")) 47 | cursn = s1:taboption("info", DummyValue, "cursn", translate("当前使用的S/N:")) 48 | cursn.template = "youku/dvalue" 49 | cursn.default = sn 50 | name = s1:taboption("info", DummyValue, "name", translate("已绑定的用戶:")) 51 | name.template = "youku/dvalue" 52 | name.default = user.data.name 53 | elseif (status == 25) then 54 | local bdlink = luci.sys.exec("getykbdlink 0000$(uci -q get youku.config.sn)|sed -e's/&/&/g'") 55 | notice = "" 56 | elseif (status == 10259) then 57 | notice = ""..translate("S/N格式错误!").."" 58 | elseif (status == -1) then 59 | notice = ""..translate("请检查网络连接!").."" 60 | else 61 | notice = ""..user.text.."" 62 | end 63 | 64 | s1:tab("config", translate("设置")) 65 | 66 | if isempty(sn) or (sn <= "0") then 67 | o = s1:taboption("config", Flag, "enable", translate("启用"), ""..translate("S/N不能为空或者负数!").."") 68 | o.rmempty = false 69 | else 70 | o = s1:taboption("config", Flag, "enable", translate("启用"), ""..translate("S/N: ")..""..sn..""..notice) 71 | o.rmempty = false 72 | end 73 | 74 | o = s1:taboption("config", Value, "sn", translate("S/N"), translate("请输入S/N后保存,可以使用路由宝原版S/N")) 75 | if not isempty(sn) then 76 | o:value(sn) 77 | end 78 | o:value(macsn, macsn..translate("(根据MAC获得)")) 79 | 80 | o = s1:taboption("config", ListValue, "version", translate("插件版本")) 81 | o:value("", translate("1.5.0211.47252(默认)")) 82 | for _, p_ipk in luci.util.vspairs(luci.util.split(luci.sys.exec("ls $(uci -q get youku.@paths[0].path)/ikuacc |grep ikuacc|sed 's/ikuacc.//'"))) do 83 | if isempty(p_ipk) == false then 84 | o:value(p_ipk) 85 | end 86 | end 87 | for _, p_ipk in luci.util.vspairs(luci.util.split(luci.sys.exec("awk '{print $1}' /etc/youku/FILES"))) do 88 | if not isempty(p_ipk) then 89 | o:value(p_ipk) 90 | end 91 | end 92 | 93 | o = s1:taboption("config", ListValue, "mode", translate("挖矿模式")) 94 | o:value("0", translate("激进模式:赚取收益优先")) 95 | o:value("2", translate("平衡模式:赚钱上网兼顾")) 96 | o:value("3", translate("保守模式:上网体验优先")) 97 | 98 | o = s1:taboption("config", Value, "restart", translate("定时重启"), translate("定时重启,可以自定义重启时间,例:3点重启就输入0300即可,5点半重启就输入0530即可.")) 99 | o:value("", translate("不重启")) 100 | o:value("0100", translate("凌晨1点")) 101 | o:value("0245", translate("凌晨2点45")) 102 | o:value("0300", translate("凌晨3点")) 103 | s1:taboption("config", Flag, "ikrestart", translate("只重启矿机"), translate("勾选表示只重启挖矿程序,不勾选则重启路由器。")) 104 | 105 | s2 = m:section(TypedSection, "paths", translate("缓存目录"), translate("请在“系统-挂载点”里把磁盘挂载到/mnt目录下,缓存的大小是按1000MB=1GB算的,如7GB缓存空间就填写7000.")) 106 | s2.template = "cbi/tblsection" 107 | s2.sortable = true 108 | s2.anonymous = true 109 | s2.addremove = true 110 | 111 | pth = s2:option(Value, "path", translate("缓存文件路径")) 112 | local p_user 113 | for _, p_user in luci.util.vspairs(luci.util.split(luci.sys.exec("df|grep '/mnt/'|awk '{print$6}'"))) do 114 | if not isempty(p_user) then 115 | pth:value(p_user) 116 | end 117 | end 118 | 119 | cache = s2:option(Value, "cache", translate("缓存目录大小限制")) 120 | cache:value("", translate("保持默认")) 121 | cache:value("1000", translate("1GB缓存")) 122 | cache:value("2000", translate("2GB缓存")) 123 | cache:value("7000", translate("7GB缓存")) 124 | cache:value("14000", translate("14GB缓存")) 125 | cache:value("28000", translate("28GB缓存")) 126 | cache:value("56000", translate("56GB缓存")) 127 | 128 | clear = s2:option(Button, "clear", translate("清空缓存")) 129 | clear.render = function(self, section, scope) 130 | self.inputstyle = "清空缓存" 131 | Button.render(self, section, scope) 132 | end 133 | 134 | clear.write = function(self, section, scope) 135 | luci.sys.exec("rm -rf %s/youku/youkudisk" % m:get(section, "path")) 136 | end 137 | return m 138 | -------------------------------------------------------------------------------- /files/usr/lib/lua/luci/view/youku/dvalue.htm: -------------------------------------------------------------------------------- 1 | <%=self.title%><%=self.default%> 2 | -------------------------------------------------------------------------------- /files/usr/lib/lua/luci/view/youku/tsection.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Copyright 2015 kuoruan -- kuoruan@gmail.com 3 | Licensed to the public under the Apache License 2.0. 4 | Based on tsection.htm, ucisection.htm, tabcontainer.htm 5 | -%> 6 | 7 | <% 8 | local jsonc = require "luci.jsonc" 9 | local credit = jsonc.parse(luci.sys.exec("cat /tmp/credit")) 10 | %> 11 |
12 | <% if self.title and #self.title > 0 then -%> 13 | <%=self.title%> 14 | <%- end %> 15 |
<%=self.description%>
16 | <% local isempty = true for i, k in ipairs(self:cfgsections()) do -%> 17 | <% if not self.anonymous then -%> 18 |

<%=section:upper()%>

19 | <%- end %> 20 | 21 | <%- section = k; isempty = false -%> 22 | 23 | <%+cbi/tabmenu%> 24 | 25 |
26 | <% for tab, data in pairs(self.tabs) do -%> 27 | <% if tab == "info" then -%> 28 |
style="display:none"<% end %>> 29 | 35 | 36 | <% self:render_tab(tab, section, scope or {}) %> 37 | <% if(credit.code == 11) then -%> 38 | 39 | <% elseif (credit.code == 0) then -%> 40 | 41 | 42 | 43 | <% else -%> 44 | 45 | <% end -%> 46 |
<%:无任何信息: %>绑定新用户后需要一段时间之后才会显示收益信息!
<%:今日收益: %><%=credit.data.credits_today%>
<%:昨日收益: %><%=credit.data.credits_lastday%>
<%:总收益: %><%=credit.data.total_credits%>
<%:获取信息出错: %><%=credit.text%>
47 |
48 | 49 | <%- else -%> 50 |
style="display:none"<% end %>> 51 | <% if data.description then %>
<%=data.description%>
<% end %> 52 | <% self:render_tab(tab, section, scope or {}) %> 53 |
54 | 55 | <%- end %> 56 | <%- end %> 57 |
58 |
59 | <%- end %> 60 | 61 | <% if isempty then -%> 62 | <%:This section contains no values yet%>

63 | <%- end %> 64 |
65 | 66 | 67 | -------------------------------------------------------------------------------- /releases/curl_7.40.0-3_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/curl_7.40.0-3_ramips_24kec.ipk -------------------------------------------------------------------------------- /releases/curl_7.43.0-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/curl_7.43.0-1_ramips_24kec.ipk -------------------------------------------------------------------------------- /releases/librt_0.9.33.2-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/librt_0.9.33.2-1_ramips_24kec.ipk -------------------------------------------------------------------------------- /releases/librt_1.1.11-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/librt_1.1.11-1_ramips_24kec.ipk -------------------------------------------------------------------------------- /releases/libstdcpp_4.8-linaro-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/libstdcpp_4.8-linaro-1_ramips_24kec.ipk -------------------------------------------------------------------------------- /releases/libstdcpp_5.2.0-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/libstdcpp_5.2.0-1_ramips_24kec.ipk -------------------------------------------------------------------------------- /releases/libthread-db_0.9.33.2-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/libthread-db_0.9.33.2-1_ramips_24kec.ipk -------------------------------------------------------------------------------- /releases/luci-app-youku_1.2.1-1_all.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/luci-app-youku_1.2.1-1_all.ipk -------------------------------------------------------------------------------- /releases/luci-lib-jsonc_git-15.305.47573-ce1456f-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/luci-lib-jsonc_git-15.305.47573-ce1456f-1_ramips_24kec.ipk -------------------------------------------------------------------------------- /releases/wget_1.16.3-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuoruan/luci-app-youku/211c8de7872d2f47d5a3f6ca21ed27aa878de8bb/releases/wget_1.16.3-1_ramips_24kec.ipk --------------------------------------------------------------------------------