diff --git a/luci-app-oaf/luasrc/controller/appfilter.lua b/luci-app-oaf/luasrc/controller/appfilter.lua
index 93daabbb..383682f5 100755
--- a/luci-app-oaf/luasrc/controller/appfilter.lua
+++ b/luci-app-oaf/luasrc/controller/appfilter.lua
@@ -8,14 +8,11 @@ function index()
end
local page
- --hide save button
- page = entry({"admin", "network", "appfilter"}, arcombine(cbi("appfilter/appfilter"), cbi("appfilter/dev_status", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true})), _("appfilter"), 100)
+ page = entry({"admin", "network", "appfilter"}, arcombine(cbi("appfilter/appfilter"), cbi("appfilter/dev_status", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true})), _("App Filter"), 100)
page.leaf = true
page.subindex = true
- --page.dependent = true
-
page = entry({"admin", "network", "user_status"}, call("user_status"), nil)
page.leaf = true
@@ -114,8 +111,6 @@ function user_status()
hostname=get_hostname_by_mac(user_array[i].mac),
appid=visit_array[j].appid,
appname=get_app_name_by_id(visit_array[j].appid),
- --total_num=visit_array[j].total_num,
- --drop_num=visit_array[j].drop_num,
total_num=0,
drop_num=0,
latest_action=visit_array[j].latest_action,
diff --git a/luci-app-oaf/luasrc/model/cbi/appfilter/appfilter.lua b/luci-app-oaf/luasrc/model/cbi/appfilter/appfilter.lua
index fc982b39..470decf4 100755
--- a/luci-app-oaf/luasrc/model/cbi/appfilter/appfilter.lua
+++ b/luci-app-oaf/luasrc/model/cbi/appfilter/appfilter.lua
@@ -14,56 +14,43 @@ local SYS = require "luci.sys"
local m, s
m = Map("appfilter",
- translate("appfilter"),
+ translate("App Filter"),
translate(""))
s = m:section(TypedSection, "global", translate("Basic Settings"))
s:option(Flag, "enable", translate("Enable App Filter"),translate(""))
-um = s:option(DummyValue, "")
-um.template="cbi/oaf_dvalue"
-local fullcone=SYS.exec("uci get firewall.@defaults[0].fullcone");
-local bbr=SYS.exec("uci get flowoffload.@flow[0].bbr");
-local flow_offloading=SYS.exec("uci get flowoffload.@flow[0].flow_offloading");
-if string.match(fullcone, "1") or string.match(bbr, "1") or string.match(flow_offloading, "1") then
- um.value="运行环境检测失败,请先关闭ACC加速模块!"
-end
s.anonymous = true
local rule_count=0
local version=""
-if nixio.fs.access("/etc/appfilter/feature.cfg") then
- rule_count=tonumber(SYS.exec("cat /etc/appfilter/feature.cfg | wc -l"))
- version=SYS.exec("cat /etc/appfilter/feature.cfg |grep \"#version\" | awk '{print $2}'")
+if nixio.fs.access("/tmp/feature.cfg") then
+ rule_count=tonumber(SYS.exec("cat /tmp/feature.cfg | wc -l"))
+ version=SYS.exec("cat /tmp/feature.cfg |grep \"#version\" | awk '{print $2}'")
end
-local display_str="当前版本: "..version.."
特征码个数: "..rule_count.."
下载地址:https://destan19.github.io"
-s = m:section(TypedSection, "feature", translate("特征库更新"), display_str )
+
+
+local display_str=""..translate("Current Version")..": "..version.."
"..translate("App Feature Num")..": "..rule_count
+s = m:section(TypedSection, "feature", translate("Update feature"), display_str )
fu = s:option(FileUpload, "")
fu.template = "cbi/oaf_upload"
s.anonymous = true
um = s:option(DummyValue, "rule_data")
-um.template="cbi/oaf_dvalue"
-s=m:section(TypedSection,"time",translate("时间控制")) s.anonymous = true
-hv = s:option(Value, "start_time", translate("开始时间")) hv.default="00:00"
+s=m:section(TypedSection,"time",translate("Time Setting")) s.anonymous = true
+hv = s:option(Value, "start_time", translate("Start Time")) hv.default="00:00"
hv.optional=false
-hv = s:option(Value, "end_time", translate("结束时间")) hv.default="23:59"
+hv = s:option(Value, "end_time", translate("End Time")) hv.default="23:59"
hv.optional=false days = s:option(MultiValue, "days", "", translate(""))
days.widget="checkbox" days.size=10
-days:value("0", "周日");
-days:value("1", "周一");
-days:value("2", "周二");
-days:value("3", "周三");
-days:value("4", "周四");
-days:value("5", "周五");
-days:value("6", "周六");
-
---um.value =rule_count .. " " .. translate("Records").. " "..version
-
-
-
-
+days:value("0", translate("Sun"));
+days:value("1", translate("Mon"));
+days:value("2", translate("Tue"));
+days:value("3", translate("Wed"));
+days:value("4", translate("Thur"));
+days:value("5", translate("Fri"));
+days:value("6", translate("Sat"));
s = m:section(TypedSection, "appfilter", translate("App Filter Rules"))
s.anonymous = true
@@ -80,13 +67,9 @@ if class_fd then
end
class = path:match("([^/]+)%.class$")
- -- add a tab
s:tab(class, translate(class))
- -- multi value option
apps = s:taboption(class, MultiValue, class.."apps", translate(""))
apps.rmempty=true
- --apps.delimiter=";"
- -- select
apps.widget="checkbox"
apps.size=10
@@ -121,9 +104,6 @@ if class_fd then
class_fd:close()
end
-
-
-
function get_hostname_by_mac(dst_mac)
leasefile="/tmp/dhcp.leases"
local fd = io.open(leasefile, "r")
@@ -143,6 +123,7 @@ function get_hostname_by_mac(dst_mac)
fd:close()
return nil
end
+
function get_cmd_result(command)
local fd
local result
@@ -213,14 +194,22 @@ http.setfilehandler(
local line=fd2:read("*l");
fd2:close()
local ret=string.match(line, "#version")
+ local lang=m.uci:get_all("luci.main.lang")
+ local feature_file=""
+ if "" == lang or "auto" == lang then
+ feature_file="/etc/appfilter/feature.cfg"
+ else
+ feature_file="/etc/appfilter/feature_"..lang..".cfg"
+ end
if ret ~= nil then
- local cmd="cp /tmp/upload/"..meta.file.." /etc/appfilter/feature.cfg";
+ local cmd="cp /tmp/upload/"..meta.file.." "..feature_file;
os.execute(cmd);
+ os.execute("chmod 666 "..feature_file);
os.execute("rm /tmp/appfilter -fr");
luci.sys.exec("/etc/init.d/appfilter restart &");
- um.value = translate("更新成功,请刷新页面!")
+ um.value = translate("Update the feature file successfully, please refresh the page")
else
- um.value = translate("更新失败,格式错误!")
+ um.value = translate("Failed to update feature file, format error")
end
os.execute("rm /tmp/upload/* -fr");
end
@@ -236,6 +225,4 @@ if luci.http.formvalue("upload") then
elseif luci.http.formvalue("download") then
Download()
end
-
-
return m
diff --git a/luci-app-oaf/luasrc/model/cbi/appfilter/dev_status.lua b/luci-app-oaf/luasrc/model/cbi/appfilter/dev_status.lua
index 55d3440c..09133b0a 100755
--- a/luci-app-oaf/luasrc/model/cbi/appfilter/dev_status.lua
+++ b/luci-app-oaf/luasrc/model/cbi/appfilter/dev_status.lua
@@ -13,7 +13,7 @@ local jsc = require "luci.jsonc"
local m, s
arg[1] = arg[1] or ""
m = Map("appfilter",
- translate("上网统计("..arg[1]..")"),
+ translate("Data Statistics").."("..arg[1]..")",
translate(""))
local v
diff --git a/luci-app-oaf/luasrc/view/admin_network/dev_status.htm b/luci-app-oaf/luasrc/view/admin_network/dev_status.htm
index 89a84486..58cf16ed 100755
--- a/luci-app-oaf/luasrc/view/admin_network/dev_status.htm
+++ b/luci-app-oaf/luasrc/view/admin_network/dev_status.htm
@@ -51,11 +51,11 @@
var total_time_str;
if (hour > 0)
- total_time_str=hour + "小时" + min + "分"
+ total_time_str=hour + "<%:h%>" + min + "<%:m%>"
else{
if (min == 0 && seconds2 != 0)
min = 1;
- total_time_str=min + "分"
+ total_time_str=min + "<%:m%>"
}
return total_time_str;
}
@@ -82,7 +82,7 @@
option = {
title: [
{
- text: 'APP时间统计',
+ text: "<%:App Time Statistics%>",
textStyle: {
fontSize: 16,
color: "black"
@@ -110,8 +110,8 @@
var total_time = get_display_time(parms.data.value);
var str= parms.seriesName+""+
parms.marker+""+parms.data.legendname+""+
- "时间:"+ total_time+""+
- "占比:"+ parms.percent+"%";
+ "<%:Visit Time%>: "+ total_time+""+
+ "<%:Percentage%>: "+ parms.percent+"%";
return str ;
}
},
@@ -128,11 +128,11 @@
},
series: [
{
- name: "访问时间",
+ name: "<%:Visit Time%>",
type:'pie',
center: ['35%', '50%'],
radius: ['40%', '65%'],
- clockwise: false, //饼图的扇区是否是顺时针排布
+ clockwise: false,
avoidLabelOverlap: false,
label: {
normal: {
@@ -164,8 +164,6 @@
var m2R2Data=new Array()
var total_time=0
for(var i = 0; i < data.length; i++){
- console.log("begin display222.");
-
var dev_obj = data[i];
if (dev_obj.visit_time == 0)
continue;
@@ -186,7 +184,7 @@
option = {
title: [
{
- text: 'APP分类时间统计',
+ text: "<%:App classification time statistics%>",
textStyle: {
fontSize: 16,
color: "black"
@@ -213,9 +211,8 @@
formatter:function (parms){
var total_time = get_display_time(parms.data.value);
var str= parms.seriesName+""+
- parms.marker+""+parms.data.legendname+""+
- "时间:"+ total_time +""+
- "占比:"+ parms.percent+"%";
+ parms.marker+""+parms.data.legendname+""+"<%:Visit Time%>: "+ total_time +"" +
+ "<%:Percentage%>: "+ parms.percent+"%";
return str ;
}
},
@@ -232,11 +229,11 @@
},
series: [
{
- name:'访问时间',
+ name:"<%:Visit Time%>",
type:'pie',
center: ['35%', '50%'],
radius: ['40%', '65%'],
- clockwise: false, //饼图的扇区是否是顺时针排布
+ clockwise: false,
avoidLabelOverlap: false,
label: {
normal: {
@@ -289,12 +286,12 @@
{
var action_status=""
if(st[i].latest_action == 1)
- action_status="已过滤"
+ action_status="<%:Filtered%>"
else
- action_status="未过滤"
+ action_status="<%:Unfiltered%>"
var hostname=""
if(st[i].hostname == "" || st[i].hostname == "*"){
- hostname="?";
+ hostname="--";
}
else{
hostname=st[i].hostname;
@@ -313,11 +310,11 @@
total_time_str="-"
else {
if (hour > 0)
- total_time_str=hour + "小时" + min + "分"
+ total_time_str=hour + "<%:h%>" + min + "<%:m%>"
else{
if (min == 0)
min = 1;
- total_time_str=min + "分"
+ total_time_str=min + "<%:m%>"
}
}
@@ -331,6 +328,7 @@
//]]>
+