Compare commits

..

No commits in common. "7727f17ed5c4fbb96b027e52c84a9146f46f79f1" and "a0b127873ef07f97c468c65801876cef12e20351" have entirely different histories.

5 changed files with 295 additions and 384 deletions

View file

@ -4,30 +4,21 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-smartdns
PKG_VERSION:=1.2025.47.2
PKG_RELEASE:=2
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Nick Peng <pymumu@gmail.com>
PKG_VERSION:=1.2025.47.2
PKG_RELEASE:=1
LUCI_TITLE:=LuCI for smartdns
LUCI_DESCRIPTION:=Provides Luci for smartdns
LUCI_DEPENDS:=+smartdns
LUCI_PKGARCH:=all
LUCI_DEPENDS:=+luci-base +smartdns \
+PACKAGE_$(PKG_NAME)_INCLUDE_smartdns_ui:smartdns-ui
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)/config
# shown in make menuconfig <Help>
help
$(LUCI_TITLE)
Version: $(PKG_VERSION)-$(PKG_RELEASE)
config PACKAGE_$(PKG_NAME)_INCLUDE_smartdns_ui
bool "Include smartdns-ui"
default n
endef
include $(TOPDIR)/feeds/luci/luci.mk

View file

@ -90,7 +90,7 @@ return view.extend({
var button = ev.target;
button.disabled = true;
button.textContent = _('Clear Logs...');
fs.exec('/usr/libexec/smartdns-call', ['clear_log'])
fs.exec_direct('/usr/libexec/smartdns-call', ['clear_log'])
.then(function () {
button.textContent = _('Logs cleared successfully!');
setTimeout(function () {
@ -114,9 +114,9 @@ return view.extend({
poll.add(L.bind(function () {
return fs.exec('/usr/libexec/smartdns-call', ['tail'])
return fs.exec_direct('/usr/libexec/smartdns-call', ['tail'])
.then(function (res) {
var log = E('pre', { 'wrap': 'pre' }, [res.stdout.trim() || _('Log is clean.')]);
var log = E('pre', { 'wrap': 'pre' }, [res.trim() || _('Log is clean.')]);
dom.content(log_textarea, log);
log.scrollTop = log.scrollHeight;

View file

@ -61,16 +61,8 @@ function smartdnsRenderStatus(res) {
var smartdnsEnable = uci.get_first('smartdns', 'smartdns', 'enabled');
var dnsmasqServer = uci.get_first('dhcp', 'dnsmasq', 'server');
var uiEnable = uci.get_first('smartdns', 'smartdns', 'ui') || "0";
var uiPort = uci.get_first('smartdns', 'smartdns', 'ui_port') || "6080";
if (isRunning) {
renderHTML += "<span style=\"color:green;font-weight:bold\">SmartDNS - " + _("RUNNING") + "</span>";
if (uiEnable === '1') {
var uiLink = "http://" + window.location.hostname + ":" + uiPort + "/";
renderHTML += "<a class=\"cbi-button cbi-button-action\" style=\"margin-left: 10px;\" href=\"" + uiLink + "\" target=\"_blank\">" + _("Open the WebUI") + "</a>";
}
} else {
renderHTML += "<span style=\"color:red;font-weight:bold\">SmartDNS - " + _("NOT RUNNING") + "</span>";
if (smartdnsEnable === '1') {
@ -92,28 +84,17 @@ function smartdnsRenderStatus(res) {
return renderHTML;
}
function isSmartdnsUiAvailable() {
return fs.stat('/usr/lib/libsmartdns_ui.so').then(function (res) {
return res && res.type === 'file';
}).catch(function () {
return false;
});
}
return view.extend({
load: function () {
return Promise.all([
uci.load('dhcp'),
uci.load('smartdns'),
isSmartdnsUiAvailable()
]);
},
render: function (stats) {
var m, s, o;
var ss, so;
var servers, download_files;
var hasUi = stats[2];
m = new form.Map('smartdns', _('SmartDNS'));
m.title = _("SmartDNS Server");
@ -185,31 +166,6 @@ return view.extend({
o.rmempty = false;
o.default = o.enabled;
//WebUI
if (hasUi) {
o = s.taboption("settings", form.Flag, "ui", _("Enable WebUI"), _("Enable or disable smartdns webui plugin."));
o.rmempty = false;
o.default = o.disabled;
o = s.taboption("settings", form.Value, "ui_port", _("WebUI Port"), _("WebUI server port."));
o.placeholder = 6080;
o.datatype = "port";
o.rempty = false;
o.depends('ui', '1');
o = s.taboption("settings", form.Value, "ui_data_dir", _("WebUI Data Dir"), _("Directory for storing the webui database."));
o.placeholder = "/var/lib/smartdns";
o.datatype = "string";
o.rempty = false;
o.depends('ui', '1');
o = s.taboption("settings", form.Value, "ui_log_max_age", _("WebUI Log Retention"), _("Number of days to retain webui logs."));
o.placeholder = 30;
o.datatype = "uinteger";
o.rempty = false;
o.depends('ui', '1');
}
///////////////////////////////////////
// advanced settings;
///////////////////////////////////////

File diff suppressed because it is too large Load diff

View file

@ -11,13 +11,13 @@ PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://www.github.com/pymumu/smartdns.git
PKG_MIRROR_HASH:=7570cff824f4dca0b350f8a42ed64f94604c46d711d803b691e6e3eeefa3f69d
PKG_SOURCE_VERSION:=130a9c06016d4aa12fede5edc94dc847c81640d7
PKG_SOURCE_VERSION:=d9d274c0f62c24051671798802f28c76bda2ddfa
PKG_MIRROR_HASH:=6415775cf0b109fb443d7ad46912c2dbc4f28bea423c6cca24f6a1fde9bf546d
SMARTDNS_WEBUI_VERSION:=1.0.0
SMAETDNS_WEBUI_SOURCE_PROTO:=git
SMARTDNS_WEBUI_SOURCE_URL:=https://github.com/pymumu/smartdns-webui.git
SMARTDNS_WEBUI_SOURCE_VERSION:=c610c52492b3988e7cee370424013afdf0e7a00b
SMARTDNS_WEBUI_SOURCE_VERSION:=35cbf4a1940f5dd32670c69bd5cc02437ad073e7
SMARTDNS_WEBUI_FILE:=smartdns-webui-$(SMARTDNS_WEBUI_VERSION).tar.gz
PKG_MAINTAINER:=Nick Peng <pymumu@gmail.com>
@ -115,7 +115,7 @@ define Download/smartdns-webui
FILE:=$(SMARTDNS_WEBUI_FILE)
PROTO:=$(SMAETDNS_WEBUI_SOURCE_PROTO)
URL:=$(SMARTDNS_WEBUI_SOURCE_URL)
MIRROR_HASH:=400a0d5a9d57f24058261d5c6f64502e389e40aac36bc40f62e68dbd7cb4121a
MIRROR_HASH:=b3f4f73b746ee169708f6504c52b33d9bbeb7c269b731bd7de4f61d0ad212d74
VERSION:=$(SMARTDNS_WEBUI_SOURCE_VERSION)
HASH:=$(SMARTDNS_WEBUI_HASH)
SUBDIR:=smartdns-webui