Skip to content

Commit

Permalink
oaf helper: lazy load kmod
Browse files Browse the repository at this point in the history
  • Loading branch information
jjm2473 committed Mar 14, 2024
1 parent f6577b2 commit 0ce333b
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 32 deletions.
4 changes: 2 additions & 2 deletions luci-app-oaf/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ LUCI_TITLE:=Open App Filter Module
LUCI_PKGARCH:=all
LUCI_DEPENDS:=+appfilter +kmod-oaf +luci-compat
PKG_NAME:=luci-app-oaf
PKG_VERSION:=5.0.2
PKG_RELEASE:=1
PKG_VERSION:=5.0.3
PKG_RELEASE:=
include $(TOPDIR)/feeds/luci/luci.mk
# call BuildPackage - OpenWrt buildroot signature
18 changes: 9 additions & 9 deletions luci-app-oaf/luasrc/controller/appfilter.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,27 @@ function index()
if not nixio.fs.access("/etc/config/appfilter") then
return
end

local page
entry({"admin", "services", "appfilter"},
alias("admin", "services", "appfilter", "user_list"),
_("App Filter"), 20).dependent = true
entry({"admin", "network", "appfilter"},
alias("admin", "network", "appfilter", "user_list"),
_("App Filter"), 100).dependent = true

entry({"admin", "services", "appfilter", "user_list"},
entry({"admin", "network", "appfilter", "user_list"},
arcombine(cbi("appfilter/user_list",{hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),
cbi("appfilter/dev_status", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true})),
_("User List"), 21).leaf=true

entry({"admin", "services", "appfilter", "base_setting"},
entry({"admin", "network", "appfilter", "base_setting"},
cbi("appfilter/base_setting"), _("Basic Settings"), 22).leaf=true

entry({"admin", "services", "appfilter", "user_setting"},
entry({"admin", "network", "appfilter", "user_setting"},
cbi("appfilter/user_setting"), _("Effective User"), 23).leaf=true

entry({"admin", "services", "appfilter", "time_setting"},
entry({"admin", "network", "appfilter", "time_setting"},
cbi("appfilter/time_setting"), _("Effective Time"), 24).leaf=true

entry({"admin", "services", "appfilter", "feature"},
entry({"admin", "network", "appfilter", "feature"},
cbi("appfilter/feature", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}), _("App Feature"), 25).leaf=true

page = entry({"admin", "network", "user_status"}, call("user_status"), nil)
Expand Down
4 changes: 2 additions & 2 deletions luci-app-oaf/luasrc/model/cbi/appfilter/dev_status.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ m = Map("appfilter", translate("Data Statistics") .. "(" .. arg[1] .. ")", trans

local v
v = m:section(SimpleSection)
v.template = "admin_network/dev_status"
v.template = "oaf/dev_status"
v.mac = arg[1]
m.redirect = luci.dispatcher.build_url("admin", "services", "appfilter")
m.redirect = luci.dispatcher.build_url("admin", "network", "appfilter")
return m
3 changes: 2 additions & 1 deletion luci-app-oaf/luasrc/model/cbi/appfilter/user_list.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ local m, s

m = Map("appfilter", translate(""), translate(""))

m:section(SimpleSection).template = "admin_network/user_status"

m:section(SimpleSection).template = "oaf/user_status"

return m
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
<% local dsp=require "luci.dispatcher" -%>
<script type="text/javascript">//<![CDATA[
XHR.poll(5, '<%=url('admin/network/dev_app_status')%>', null,
(function() {
var mac_vendor_api = false;
window.mac_vendor && window.mac_vendor.onready(function(api) {
$(document.getElementById('user_status_table')).find('tr.tr td a').each(function(i,e){
var mac = e.innerText;
var vendor = api.query(mac);
if (vendor && vendor.vendor_cn) {
var container = e.parentElement;
container.innerHTML="";
container.append(e, document.createTextNode(' ['+vendor.vendor_cn+']'));
}
});
mac_vendor_api = api;
});
XHR.poll(5, "<%=url('admin/network/dev_app_status')%>", null,
function (x, st) {
var tb = document.getElementById('user_status_table');
var dev_list_str = JSON.stringify(st);
Expand All @@ -20,7 +34,14 @@
tr.className = 'tr cbi-rowstyle-' + ((i % 2) + 1);
tr.insertCell(-1).innerHTML = i + 1;
tr.insertCell(-1).innerHTML = hostname;
tr.insertCell(-1).innerHTML = "<a href='<%=url('admin/services/appfilter/user_list/')%>" + devlist[i].mac + "'>" + devlist[i].mac + "</a>";
var comment = "";
if (mac_vendor_api) {
var vendor = mac_vendor_api.query(devlist[i].mac);
if (vendor && vendor.vendor_cn) {
comment = ' ['+vendor.vendor_cn+']';
}
}
tr.insertCell(-1).innerHTML = "<a href='<%=url('admin/network/appfilter/user_list/')%>" + devlist[i].mac + "'>" + devlist[i].mac + "</a>" + comment;
tr.insertCell(-1).innerHTML = devlist[i].ip;
var app_list_str = "";
for (var j = 0; j < devlist[i].applist.length; j++) {
Expand All @@ -47,7 +68,7 @@
}
}
);

})();
//]]></script>


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

uci -q batch <<-EOF >/dev/null
del ucitrack.@appfilter[-1]
add ucitrack appfilter
set ucitrack.@appfilter[-1].exec="/usr/bin/oaf_rule reload"
commit ucitrack
EOF

Expand Down
15 changes: 8 additions & 7 deletions open-app-filter/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ include $(TOPDIR)/rules.mk

PKG_NAME:=appfilter
PKG_VERSION:=5.0.2
PKG_RELEASE:=1
PKG_RELEASE:=4

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
Expand Down Expand Up @@ -39,15 +39,16 @@ endef


define Package/appfilter/install
$(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/appfilter
$(INSTALL_DIR) $(1)/etc/config
$(CP) ./files/*.cfg $(1)/etc/appfilter/
$(CP) ./files/*.cfg $(1)/etc/appfilter/
$(INSTALL_BIN) ./files/appfilter.init $(1)/etc/init.d/appfilter
$(INSTALL_BIN) ./files/oaf_rule $(1)/usr/bin
$(INSTALL_BIN) ./files/gen_class.sh $(1)/usr/bin
$(INSTALL_BIN) ./files/appfilter.config $(1)/etc/config/appfilter
$(INSTALL_BIN) $(PKG_BUILD_DIR)/oafd $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/libexec/oaf
$(INSTALL_BIN) ./files/oaf_rule $(1)/usr/libexec/oaf
$(INSTALL_BIN) ./files/gen_class.sh $(1)/usr/libexec/oaf
$(INSTALL_DATA) ./files/appfilter.config $(1)/etc/config/appfilter
$(INSTALL_BIN) $(PKG_BUILD_DIR)/oafd $(1)/usr/libexec/oaf
endef


Expand Down
17 changes: 11 additions & 6 deletions open-app-filter/files/appfilter.init
Original file line number Diff line number Diff line change
@@ -1,24 +1,25 @@
#!/bin/sh /etc/rc.common
. /usr/share/libubox/jshn.sh
. /lib/functions.sh

START=96
USE_PROCD=1
OAFD_BIN="/usr/bin/oafd"

OAFD_BIN="/usr/libexec/oaf/oafd"
FEATURE_FILE="/tmp/feature.cfg"
CLASS_FILE="/tmp/app_class.txt"
service_triggers()
{
procd_add_reload_trigger "appfilter"
}

stop_service(){
service_stopped(){
killall -9 oafd
rmmod oaf
}

start_service(){
local update
[ "x`uci get appfilter.global.enable`" = "x1" ] || return 0

rm $FEATURE_FILE
update=`uci get appfilter.feature.update`
if [ x"1" == x"$update" ];then
Expand All @@ -32,12 +33,16 @@ start_service(){
ln -s /etc/appfilter/feature_en.cfg $FEATURE_FILE
fi
fi
gen_class.sh /tmp/feature.cfg
/usr/libexec/oaf/gen_class.sh /tmp/feature.cfg
insmod oaf
/usr/bin/oaf_rule reload
/usr/libexec/oaf/oaf_rule reload
procd_open_instance
procd_set_param respawn 60 5 5
procd_set_param stderr 1
procd_set_param command "$OAFD_BIN"
procd_close_instance
}

service_started() {
[ "x`uci get appfilter.global.enable`" != "x1" ] && rmmod oaf
}

0 comments on commit 0ce333b

Please sign in to comment.