mirror of
				https://github.com/kenzok8/openwrt-packages.git
				synced 2025-11-03 08:28:50 +08:00 
			
		
		
		
	update 2024-03-21 01:07:38
This commit is contained in:
		@ -41,7 +41,7 @@ define Build/Compile
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/install
 | 
			
		||||
	$(INSTALL_DIR)  $(1)/usr/share/$(PKG_NAME)
 | 
			
		||||
	$(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)
 | 
			
		||||
	$(CP) $(PKG_BUILD_DIR)/$(PKG_NAME)/* $(1)/usr/share/$(PKG_NAME)
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -6,12 +6,12 @@
 | 
			
		||||
include $(TOPDIR)/rules.mk
 | 
			
		||||
 | 
			
		||||
PKG_NAME:=adguardhome
 | 
			
		||||
PKG_VERSION:=0.107.45
 | 
			
		||||
PKG_VERSION:=0.107.46
 | 
			
		||||
PKG_RELEASE:=1
 | 
			
		||||
 | 
			
		||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 | 
			
		||||
PKG_SOURCE_URL:=https://codeload.github.com/AdguardTeam/AdGuardHome/tar.gz/v$(PKG_VERSION)?
 | 
			
		||||
PKG_HASH:=14ffd999e0b688f75ee16caf24dcc00aaa465009241eb1613b7fe7e8b302fd10
 | 
			
		||||
PKG_HASH:=d803348688ff0d44f20bd201801720f2f0bd48528c20abc48da9a01a59de65a9
 | 
			
		||||
 | 
			
		||||
PKG_LICENSE:=GPL-3.0-only
 | 
			
		||||
PKG_LICENSE_FILES:=LICENSE.txt
 | 
			
		||||
@ -57,7 +57,7 @@ define Download/adguardhome-frontend
 | 
			
		||||
	URL:=https://github.com/AdguardTeam/AdGuardHome/releases/download/v$(PKG_VERSION)/
 | 
			
		||||
	URL_FILE:=AdGuardHome_frontend.tar.gz
 | 
			
		||||
	FILE:=$(FRONTEND_FILE)
 | 
			
		||||
	HASH:=ba21d7eb910d6b4c498ce11a3f5f4c9f261267065b1d6791f7a39aabebd7d9b0
 | 
			
		||||
	HASH:=c2dc0fac6a564a88575429576f88089dce76ca85b3be9c03e4c3722fa90bd186
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Build/Prepare
 | 
			
		||||
@ -65,9 +65,13 @@ define Build/Prepare
 | 
			
		||||
	if [ -d "$(BUILD_DIR)/AdGuardHome-$(PKG_VERSION)" ]; then \
 | 
			
		||||
		mv "$(BUILD_DIR)/AdGuardHome-$(PKG_VERSION)/"* "$(BUILD_DIR)/adguardhome-$(PKG_VERSION)/"; \
 | 
			
		||||
	fi
 | 
			
		||||
	if [ -d "$(BUILD_DIR)/AdGuardHome-$(PKG_VERSION)" ]; then \
 | 
			
		||||
		mv "$(BUILD_DIR)/AdGuardHome-$(PKG_VERSION)/"* "$(BUILD_DIR)/adguardhome-$(PKG_VERSION)/"; \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	gzip -dc $(DL_DIR)/$(FRONTEND_FILE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/ $(TAR_OPTIONS)
 | 
			
		||||
	( cd "$(BUILD_DIR)/adguardhome-$(PKG_VERSION)"; go mod tidy )
 | 
			
		||||
	( cd "$(BUILD_DIR)/adguardhome-$(PKG_VERSION)"; go mod tidy )
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/adguardhome/install
 | 
			
		||||
 | 
			
		||||
@ -1,67 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2015-2016 OpenWrt.org
 | 
			
		||||
# Copyright (C) 2020 jjm2473@gmail.com
 | 
			
		||||
#
 | 
			
		||||
# This is free software, licensed under the GNU General Public License v3.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
include $(TOPDIR)/rules.mk
 | 
			
		||||
 | 
			
		||||
PKG_ARCH_DDNSTO:=$(ARCH)
 | 
			
		||||
 | 
			
		||||
PKG_NAME:=ddnsto
 | 
			
		||||
PKG_VERSION:=3.0.4
 | 
			
		||||
PKG_RELEASE:=$(PKG_ARCH_DDNSTO)-7
 | 
			
		||||
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
 | 
			
		||||
PKG_SOURCE_URL:=http://fw.koolcenter.com/binary/ddnsto/
 | 
			
		||||
PKG_HASH:=486aa15a5e026b5a3aca72f1850746e127a7e86ef11db8a7c498dad29545eaf6
 | 
			
		||||
 | 
			
		||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-binary-$(PKG_VERSION)
 | 
			
		||||
 | 
			
		||||
PKG_BUILD_PARALLEL:=1
 | 
			
		||||
PKG_USE_MIPS16:=0
 | 
			
		||||
 | 
			
		||||
include $(INCLUDE_DIR)/package.mk
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)
 | 
			
		||||
	SECTION:=net
 | 
			
		||||
	CATEGORY:=Network
 | 
			
		||||
	SUBMENU:=Web Servers/Proxies
 | 
			
		||||
	TITLE:=DDNS.to - the reverse proxy
 | 
			
		||||
	DEPENDS:=
 | 
			
		||||
	PKGARCH:=all
 | 
			
		||||
	URL:=https://www.ddnsto.com/
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/description
 | 
			
		||||
  DDNS.to is a reverse proxy
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/conffiles
 | 
			
		||||
/etc/config/ddnsto
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/postinst
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
if [ -z "$${IPKG_INSTROOT}" ]; then
 | 
			
		||||
	[ -f /etc/uci-defaults/ddnsto ] && /etc/uci-defaults/ddnsto && rm -f /etc/uci-defaults/ddnsto
 | 
			
		||||
fi
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Build/Configure
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Build/Compile
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/install
 | 
			
		||||
	$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d $(1)/etc/uci-defaults
 | 
			
		||||
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/ddnsto.$(PKG_ARCH_DDNSTO) $(1)/usr/sbin/ddnstod
 | 
			
		||||
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/ddwebdav.$(PKG_ARCH_DDNSTO) $(1)/usr/sbin/ddwebdav
 | 
			
		||||
	$(INSTALL_CONF) ./files/ddnsto.config $(1)/etc/config/ddnsto
 | 
			
		||||
	$(INSTALL_BIN) ./files/ddnsto.init $(1)/etc/init.d/ddnsto
 | 
			
		||||
	$(INSTALL_BIN) ./files/ddnsto.uci-default $(1)/etc/uci-defaults/ddnsto
 | 
			
		||||
	$(LN) /usr/sbin/ddnstod $(1)/usr/sbin/ddnsto
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
$(eval $(call BuildPackage,$(PKG_NAME)))
 | 
			
		||||
@ -1,49 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
DEVICE_IDX=0
 | 
			
		||||
LOG_LEVEL=2
 | 
			
		||||
while getopts u:x:l: flag
 | 
			
		||||
do
 | 
			
		||||
    case "${flag}" in
 | 
			
		||||
        u) TOKEN=${OPTARG};;
 | 
			
		||||
        x) DEVICE_IDX=${OPTARG};;
 | 
			
		||||
        l) LOG_LEVEL=${OPTARG};;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if [ -z "${TOKEN}" ]; then
 | 
			
		||||
  logger "ddnsto: the token is empty, get token from https://www.ddnsto.com/ "
 | 
			
		||||
  exit 2
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "ddnsto version device_id is is:"
 | 
			
		||||
/usr/sbin/ddnsto -u ${TOKEN} -w
 | 
			
		||||
 | 
			
		||||
_term() {
 | 
			
		||||
  logger "ddnsto: SIGTERM"
 | 
			
		||||
  killall ddnsto 2>/dev/null
 | 
			
		||||
  killall ddwebdav 2>/dev/null
 | 
			
		||||
 | 
			
		||||
  rm -f /tmp/.ddnsto.pid
 | 
			
		||||
  rm -f /tmp/.ddnsto.status
 | 
			
		||||
  rm -f /tmp/.ddnsto.up
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
trap "_term;" SIGTERM
 | 
			
		||||
 | 
			
		||||
while true ; do
 | 
			
		||||
  if ! pidof "ddnsto" > /dev/null ; then
 | 
			
		||||
    logger "ddnsto try running"
 | 
			
		||||
    /usr/sbin/ddnsto -u ${TOKEN} -x ${DEVICE_IDX} &
 | 
			
		||||
    PID=$!
 | 
			
		||||
    wait $PID
 | 
			
		||||
    RET=$?
 | 
			
		||||
    logger "ddnsto EXIT CODE: ${RET}"
 | 
			
		||||
    if [ "${RET}" == "100" ]; then
 | 
			
		||||
      logger "ddnsto token error, please set a correct token from https://www.ddnsto.com/ "
 | 
			
		||||
      exit 100
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
  sleep 20
 | 
			
		||||
done
 | 
			
		||||
@ -1,5 +0,0 @@
 | 
			
		||||
config ddnsto
 | 
			
		||||
	option enabled '0'
 | 
			
		||||
	option feat_port '3033'
 | 
			
		||||
	option feat_enabled '0'
 | 
			
		||||
	option index '0'
 | 
			
		||||
@ -1,45 +0,0 @@
 | 
			
		||||
#!/bin/sh /etc/rc.common
 | 
			
		||||
 | 
			
		||||
START=99
 | 
			
		||||
USE_PROCD=1
 | 
			
		||||
 | 
			
		||||
get_config() {
 | 
			
		||||
        config_get_bool enabled $1 enabled 1
 | 
			
		||||
        config_get_bool logger $1 logger 0
 | 
			
		||||
        config_get token $1 token
 | 
			
		||||
        config_get index $1 index 0
 | 
			
		||||
        config_get_bool feat_enabled $1 feat_enabled 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ddnsto_prepare() {
 | 
			
		||||
        killall ddnstod 2>/dev/null
 | 
			
		||||
        killall ddwebdav 2>/dev/null
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stop_service() {
 | 
			
		||||
        ddnsto_prepare
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start_service() {
 | 
			
		||||
        ddnsto_prepare
 | 
			
		||||
        config_load ddnsto
 | 
			
		||||
        config_foreach get_config ddnsto
 | 
			
		||||
        if [ $enabled != 1 ]; then 
 | 
			
		||||
                return 1
 | 
			
		||||
        fi 
 | 
			
		||||
 | 
			
		||||
        if [ -z "$token" ]; then
 | 
			
		||||
                logger -t ddnsto -p warn "token not set"
 | 
			
		||||
                return 1
 | 
			
		||||
        fi
 | 
			
		||||
        
 | 
			
		||||
        procd_open_instance
 | 
			
		||||
        procd_set_param command /usr/sbin/ddnstod -u "$token" -x $index -F
 | 
			
		||||
        [ "$logger" == 1 ] && procd_set_param stderr 1
 | 
			
		||||
        procd_set_param respawn
 | 
			
		||||
        procd_close_instance 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service_triggers() {
 | 
			
		||||
        procd_add_reload_trigger "ddnsto"
 | 
			
		||||
}
 | 
			
		||||
@ -1,12 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
uci -q batch <<-EOF >/dev/null
 | 
			
		||||
	delete ucitrack.@ddnsto[-1]
 | 
			
		||||
	add ucitrack ddnsto
 | 
			
		||||
	set ucitrack.@ddnsto[-1].init=ddnsto
 | 
			
		||||
	commit ucitrack
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
/etc/init.d/ddnsto enable
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
@ -1,13 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
#-- Copyright (C) 2021 dz <dingzhong110@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
include $(TOPDIR)/rules.mk
 | 
			
		||||
 | 
			
		||||
LUCI_TITLE:=LuCI Support for easymesh
 | 
			
		||||
LUCI_DEPENDS:= +kmod-cfg80211 +batctl-default +kmod-batman-adv +wpad-mesh-openssl +dawn
 | 
			
		||||
PKG_VERSION:=2.0
 | 
			
		||||
 | 
			
		||||
include $(TOPDIR)/feeds/luci/luci.mk
 | 
			
		||||
 | 
			
		||||
# call BuildPackage - OpenWrt buildroot signature
 | 
			
		||||
@ -1,10 +0,0 @@
 | 
			
		||||
# luci-app-easymesh
 | 
			
		||||
水平有限写了基于kmod-batman-adv+802.11s 有线+无线回程的mesh luci设置插件。
 | 
			
		||||
 | 
			
		||||
新增ap设置让设置更加方便。
 | 
			
		||||
 | 
			
		||||
新增KVR设置并添加dawn依赖在ap之间切换延迟明显降低。
 | 
			
		||||
 | 
			
		||||
插件只对https://github.com/coolsnowwolf/lede lean版openwrt做了测试 其他源码出现问题请自行解决。
 | 
			
		||||
 | 
			
		||||
写的很烂暂时能用
 | 
			
		||||
@ -1,15 +0,0 @@
 | 
			
		||||
-- Copyright (C) 2021 dz <dingzhong110@gmail.com>
 | 
			
		||||
 | 
			
		||||
module("luci.controller.easymesh", package.seeall)
 | 
			
		||||
 | 
			
		||||
function index()
 | 
			
		||||
	if not nixio.fs.access("/etc/config/easymesh") then
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local page
 | 
			
		||||
 | 
			
		||||
	page = entry({"admin", "network", "easymesh"}, cbi("easymesh"), _("EASY MESH"), 60)
 | 
			
		||||
	page.dependent = true
 | 
			
		||||
	page.acl_depends = { "luci-app-easymesh" }
 | 
			
		||||
end
 | 
			
		||||
@ -1,127 +0,0 @@
 | 
			
		||||
-- Copyright (C) 2021 dz <dingzhong110@gmail.com>
 | 
			
		||||
 | 
			
		||||
local m,s,o
 | 
			
		||||
local sys = require "luci.sys"
 | 
			
		||||
local uci = require "luci.model.uci".cursor()
 | 
			
		||||
 | 
			
		||||
m = Map("easymesh")
 | 
			
		||||
 | 
			
		||||
function detect_Node()
 | 
			
		||||
	local data = {}
 | 
			
		||||
	local lps = luci.util.execi(" batctl n 2>/dev/null | tail +2 | sed 's/^[ ][ ]*//g' | sed 's/[ ][ ]*/ /g' | sed 's/$/ /g' ")
 | 
			
		||||
	for value in lps do
 | 
			
		||||
		local row = {}
 | 
			
		||||
		local pos = string.find(value, " ")
 | 
			
		||||
		local IFA = string.sub(value, 1, pos - 1)
 | 
			
		||||
		local value = string.sub(value, pos + 1, string.len(value))
 | 
			
		||||
		pos = string.find(value, " ")
 | 
			
		||||
		local pos = string.find(value, " ")
 | 
			
		||||
		local Neighbora = string.sub(value, 1, pos - 1)
 | 
			
		||||
		local value = string.sub(value, pos + 1, string.len(value))
 | 
			
		||||
		pos = string.find(value, " ")
 | 
			
		||||
		local pos = string.find(value, " ")
 | 
			
		||||
		local lastseena = string.sub(value, 1, pos - 1)
 | 
			
		||||
		local value = string.sub(value, pos + 1, string.len(value))
 | 
			
		||||
		pos = string.find(value, " ")
 | 
			
		||||
		row["IF"] = IFA
 | 
			
		||||
		row["Neighbor"] = Neighbora
 | 
			
		||||
		row["lastseen"] = lastseena
 | 
			
		||||
		table.insert(data, row)
 | 
			
		||||
	end
 | 
			
		||||
	return data
 | 
			
		||||
end
 | 
			
		||||
local Nodes = luci.sys.exec("batctl n 2>/dev/null| tail +3 | wc -l")
 | 
			
		||||
local Node = detect_Node()
 | 
			
		||||
v = m:section(Table, Node, "" ,"<b>" .. translate("Active node") .. ":" .. Nodes .. "</b>")
 | 
			
		||||
v:option(DummyValue, "IF", translate("IF"))
 | 
			
		||||
v:option(DummyValue, "Neighbor", translate("Neighbor"))
 | 
			
		||||
v:option(DummyValue, "lastseen", translate("lastseen"))
 | 
			
		||||
 | 
			
		||||
-- Basic
 | 
			
		||||
s = m:section(TypedSection, "easymesh", translate("Settings"), translate("General Settings"))
 | 
			
		||||
s.anonymous = true
 | 
			
		||||
 | 
			
		||||
---- Eanble
 | 
			
		||||
o = s:option(Flag, "enabled", translate("Enable"), translate("Enable or disable EASY MESH"))
 | 
			
		||||
o.default = 0
 | 
			
		||||
o.rmempty = false
 | 
			
		||||
 | 
			
		||||
o = s:option(ListValue, "role", translate("role"))
 | 
			
		||||
o:value("off", translate("off"))
 | 
			
		||||
o:value("server", translate("host MESH"))
 | 
			
		||||
o:value("client", translate("son MESH"))
 | 
			
		||||
o.rmempty = false
 | 
			
		||||
 | 
			
		||||
apRadio = s:option(ListValue, "apRadio", translate("MESH Radio device"), translate("The radio device which MESH use"))
 | 
			
		||||
uci:foreach("wireless", "wifi-device",
 | 
			
		||||
							function(s)
 | 
			
		||||
								apRadio:value(s['.name'])
 | 
			
		||||
							end)
 | 
			
		||||
apRadio:value("all", translate("ALL"))
 | 
			
		||||
o.default = "radio0"
 | 
			
		||||
o.rmempty = false
 | 
			
		||||
 | 
			
		||||
---- mesh
 | 
			
		||||
o = s:option(Value, "mesh_id", translate("MESH ID"))
 | 
			
		||||
o.default = "easymesh"
 | 
			
		||||
o.description = translate("MESH ID")
 | 
			
		||||
 | 
			
		||||
enable = s:option(Flag, "encryption", translate("Encryption"), translate(""))
 | 
			
		||||
enable.default = 0
 | 
			
		||||
enable.rmempty = false
 | 
			
		||||
 | 
			
		||||
o = s:option(Value, "key", translate("Key"))
 | 
			
		||||
o.default = "easymesh"
 | 
			
		||||
o:depends("encryption", 1)
 | 
			
		||||
 | 
			
		||||
---- kvr
 | 
			
		||||
enable = s:option(Flag, "kvr", translate("K/V/R"), translate(""))
 | 
			
		||||
enable.default = 1
 | 
			
		||||
enable.rmempty = false
 | 
			
		||||
 | 
			
		||||
o = s:option(Value, "mobility_domain", translate("Mobility Domain"), translate("4-character hexadecimal ID"))
 | 
			
		||||
o.default = "4f57"
 | 
			
		||||
o.datatype = "and(hexstring,rangelength(4,4))"
 | 
			
		||||
o:depends("kvr", 1)
 | 
			
		||||
 | 
			
		||||
o = s:option(Value, "rssi_val", translate("Threshold for an good RSSI"))
 | 
			
		||||
o.default = "-60"
 | 
			
		||||
o.atatype = "range(-1,-120)"
 | 
			
		||||
o:depends("kvr", 1)
 | 
			
		||||
 | 
			
		||||
o = s:option(Value, "low_rssi_val", translate("Threshold for an bad RSSI"))
 | 
			
		||||
o.default = "-88"
 | 
			
		||||
o.atatype = "range(-1,-120)"
 | 
			
		||||
o:depends("kvr", 1)
 | 
			
		||||
 | 
			
		||||
---- 802.11F
 | 
			
		||||
--enable = s:option(Flag, "iapp", translate("inter-access point protocol"), translate("Wireless Access Points (APs) running on different vendors can communicate with each other"))
 | 
			
		||||
--enable.default = 0
 | 
			
		||||
--enable.rmempty = false
 | 
			
		||||
 | 
			
		||||
---- ap_mode
 | 
			
		||||
enable = s:option(Flag, "ap_mode", translate("AP MODE Enable"), translate("Enable or disable AP MODE"))
 | 
			
		||||
enable.default = 0
 | 
			
		||||
enable.rmempty = false
 | 
			
		||||
 | 
			
		||||
o = s:option(Value, "ipaddr", translate("IPv4-Address"))
 | 
			
		||||
o.default = "192.168.1.10"
 | 
			
		||||
o.datatype = "ip4addr"
 | 
			
		||||
o:depends("ap_mode", 1)
 | 
			
		||||
 | 
			
		||||
o = s:option(Value, "netmask", translate("IPv4 netmask"))
 | 
			
		||||
o.default = "255.255.255.0"
 | 
			
		||||
o.datatype = "ip4addr"
 | 
			
		||||
o:depends("ap_mode", 1)
 | 
			
		||||
 | 
			
		||||
o = s:option(Value, "gateway", translate("IPv4 gateway"))
 | 
			
		||||
o.default = "192.168.1.1"
 | 
			
		||||
o.datatype = "ip4addr"
 | 
			
		||||
o:depends("ap_mode", 1)
 | 
			
		||||
 | 
			
		||||
o = s:option(Value, "dns", translate("Use custom DNS servers"))
 | 
			
		||||
o.default = "192.168.1.1"
 | 
			
		||||
o.datatype = "ip4addr"
 | 
			
		||||
o:depends("ap_mode", 1)
 | 
			
		||||
 | 
			
		||||
return m
 | 
			
		||||
@ -1,89 +0,0 @@
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr "Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
 | 
			
		||||
msgid "easymesh"
 | 
			
		||||
msgstr "easymesh"
 | 
			
		||||
 | 
			
		||||
msgid "Active node"
 | 
			
		||||
msgstr "活动节点"
 | 
			
		||||
 | 
			
		||||
msgid "IF"
 | 
			
		||||
msgstr "IF"
 | 
			
		||||
 | 
			
		||||
msgid "Neighbor"
 | 
			
		||||
msgstr "节点邻居设备"
 | 
			
		||||
 | 
			
		||||
msgid "lastseen"
 | 
			
		||||
msgstr "上次连接延时"
 | 
			
		||||
 | 
			
		||||
msgid "EASY MESH"
 | 
			
		||||
msgstr "简单MESH"
 | 
			
		||||
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "设置"
 | 
			
		||||
 | 
			
		||||
msgid "General Settings"
 | 
			
		||||
msgstr "基本设置"
 | 
			
		||||
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "启用"
 | 
			
		||||
 | 
			
		||||
msgid "role"
 | 
			
		||||
msgstr "角色"
 | 
			
		||||
 | 
			
		||||
msgid "off"
 | 
			
		||||
msgstr "关闭"
 | 
			
		||||
 | 
			
		||||
msgid "host MESH"
 | 
			
		||||
msgstr "主MESH"
 | 
			
		||||
 | 
			
		||||
msgid "son MESH"
 | 
			
		||||
msgstr "子MESH"
 | 
			
		||||
 | 
			
		||||
msgid "MESH Radio device"
 | 
			
		||||
msgstr "MESH无线设备"
 | 
			
		||||
 | 
			
		||||
msgid "The radio device which MESH use"
 | 
			
		||||
msgstr "使用MESH组网的无线设备"
 | 
			
		||||
 | 
			
		||||
msgid "AUTO"
 | 
			
		||||
msgstr "自动"
 | 
			
		||||
 | 
			
		||||
msgid "Enable or disable EASY MESH"
 | 
			
		||||
msgstr "启用或禁用简单MESH"
 | 
			
		||||
 | 
			
		||||
msgid "Encryption"
 | 
			
		||||
msgstr "加密"
 | 
			
		||||
 | 
			
		||||
msgid "Key"
 | 
			
		||||
msgstr "密码"
 | 
			
		||||
 | 
			
		||||
msgid "inter-access point protocol"
 | 
			
		||||
msgstr "接入点内部协议"
 | 
			
		||||
 | 
			
		||||
msgid "Wireless Access Points (APs) running on different vendors can communicate with each other"
 | 
			
		||||
msgstr "运行在不同供应商的无线访问点(AP)可以相互交流"
 | 
			
		||||
 | 
			
		||||
msgid "Threshold for an good RSSI"
 | 
			
		||||
msgstr "快速漫游接入值"
 | 
			
		||||
 | 
			
		||||
msgid "Threshold for an bad RSSI"
 | 
			
		||||
msgstr "快速漫游踢出值"
 | 
			
		||||
 | 
			
		||||
msgid "AP MODE Enable"
 | 
			
		||||
msgstr "启用AP模式"
 | 
			
		||||
 | 
			
		||||
msgid "Enable or disable AP MODE"
 | 
			
		||||
msgstr "启用或禁用AP模式"
 | 
			
		||||
 | 
			
		||||
msgid "IPv4-Address"
 | 
			
		||||
msgstr "IPv4 地址"
 | 
			
		||||
 | 
			
		||||
msgid "IPv4 netmask"
 | 
			
		||||
msgstr "IPv4 子网掩码"
 | 
			
		||||
 | 
			
		||||
msgid "IPv4 gateway"
 | 
			
		||||
msgstr "IPv4 网关"
 | 
			
		||||
 | 
			
		||||
msgid "Use custom DNS servers"
 | 
			
		||||
msgstr "使用自定义的 DNS 服务器"
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
zh-cn
 | 
			
		||||
@ -1,3 +0,0 @@
 | 
			
		||||
 | 
			
		||||
config easymesh 'config'
 | 
			
		||||
	option enabled '0'
 | 
			
		||||
@ -1,261 +0,0 @@
 | 
			
		||||
#!/bin/sh /etc/rc.common
 | 
			
		||||
START=99
 | 
			
		||||
STOP=70
 | 
			
		||||
 | 
			
		||||
load_easymesh_config() {
 | 
			
		||||
	enable=$(uci -q get easymesh.config.enabled)
 | 
			
		||||
	mesh_bat0=$(uci -q get network.bat0)
 | 
			
		||||
	ap_mode=$(uci -q get easymesh.config.ap_mode)
 | 
			
		||||
	lan=$(uci -q get network.lan.ifname)
 | 
			
		||||
	ipaddr=$(uci -q get easymesh.config.ipaddr)
 | 
			
		||||
	netmask=$(uci -q get easymesh.config.netmask)
 | 
			
		||||
	gateway=$(uci -q get easymesh.config.gateway)
 | 
			
		||||
	dns=$(uci -q get easymesh.config.dns)
 | 
			
		||||
	ap_ipaddr=$(uci -q get network.lan.ipaddr)
 | 
			
		||||
	ap_ipaddr1=$(sed -n '1p' /etc/easymesh 2>/dev/null)
 | 
			
		||||
	apRadio=$(uci -q get easymesh.config.apRadio)
 | 
			
		||||
	kvr=$(uci -q get easymesh.config.kvr)
 | 
			
		||||
	iapp=$(uci -q get easymesh.config.iapp)
 | 
			
		||||
	brlan=$(uci -q get network.@device[0].name)
 | 
			
		||||
	role=$(uci -q get easymesh.config.role)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ap_mode_stop() {
 | 
			
		||||
	ap_ipaddr=$(uci -q get network.lan.ipaddr)
 | 
			
		||||
	ap_ipaddr1=$(sed -n '1p' /etc/easymesh 2>/dev/null)
 | 
			
		||||
	dns1=$(sed -n '2p' /etc/easymesh 2>/dev/null)
 | 
			
		||||
	if [ "$ap_ipaddr" = "$ap_ipaddr1" ]; then
 | 
			
		||||
		uci -q delete network.lan.gateway
 | 
			
		||||
		uci -q del_list network.lan.dns=$dns1
 | 
			
		||||
		uci commit network
 | 
			
		||||
 | 
			
		||||
		echo "" >/etc/easymesh
 | 
			
		||||
 | 
			
		||||
		uci -q delete dhcp.lan.dynamicdhcp
 | 
			
		||||
		uci -q delete dhcp.lan.ignore
 | 
			
		||||
		uci commit dhcp
 | 
			
		||||
 | 
			
		||||
		/etc/init.d/odhcpd enable && /etc/init.d/odhcpd start
 | 
			
		||||
		/etc/init.d/firewall enable && /etc/init.d/firewall start >/dev/null 2>&1
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
add_wifi_mesh() {
 | 
			
		||||
	mesh_nwi_mesh=$(uci -q get network.nwi_mesh_${apall})
 | 
			
		||||
	mesh_apRadio=$(uci -q get wireless.mesh_${apall}.device)
 | 
			
		||||
	mesh_mesh=$(uci -q get wireless.mesh_${apall})
 | 
			
		||||
	mesh_id=$(uci -q get easymesh.config.mesh_id)
 | 
			
		||||
	mobility_domain=$(uci -q get easymesh.config.mobility_domain)
 | 
			
		||||
	key=$(uci -q get easymesh.config.key)
 | 
			
		||||
	encryption=$(uci -q get easymesh.config.encryption)
 | 
			
		||||
 | 
			
		||||
	if [ "$mesh_nwi_mesh" != "interface" ]; then
 | 
			
		||||
		uci set network.nwi_mesh_$apall=interface
 | 
			
		||||
		uci set network.nwi_mesh_$apall.proto='batadv_hardif'
 | 
			
		||||
		uci set network.nwi_mesh_$apall.master='bat0'
 | 
			
		||||
		uci set network.nwi_mesh_$apall.mtu='1536'
 | 
			
		||||
		uci commit network
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ "$mesh_mesh" != "wifi-iface" ]; then
 | 
			
		||||
		uci set wireless.mesh_$apall=wifi-iface
 | 
			
		||||
		uci set wireless.mesh_$apall.device=$apall
 | 
			
		||||
		uci set wireless.mesh_$apall.ifname=mesh_${apall}
 | 
			
		||||
		uci set wireless.mesh_$apall.network=nwi_mesh_${apall}
 | 
			
		||||
		uci set wireless.mesh_$apall.mode='mesh'
 | 
			
		||||
		uci set wireless.mesh_$apall.mesh_id=$mesh_id
 | 
			
		||||
		uci set wireless.mesh_$apall.mesh_fwding='0'
 | 
			
		||||
		uci set wireless.mesh_$apall.mesh_ttl='1'
 | 
			
		||||
		uci set wireless.mesh_$apall.mcast_rate='24000'
 | 
			
		||||
		uci set wireless.mesh_$apall.disabled='0'
 | 
			
		||||
		uci commit wireless
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ "$mesh_mesh" = "wifi-iface" ]; then
 | 
			
		||||
		if [ "$mesh_apRadio" != "$apall" ]; then
 | 
			
		||||
			uci set wireless.mesh_$apall.device=$apall
 | 
			
		||||
			uci commit wireless
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ "$encryption" != 1 ]; then
 | 
			
		||||
		uci set wireless.mesh_$apall.encryption='none'
 | 
			
		||||
		uci commit wireless
 | 
			
		||||
	else
 | 
			
		||||
		uci set wireless.mesh_$apall.encryption='sae'
 | 
			
		||||
		uci set wireless.mesh_$apall.key=$key
 | 
			
		||||
		uci commit wireless
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
add_kvr() {
 | 
			
		||||
	kvr=$(uci -q get easymesh.config.kvr)
 | 
			
		||||
	mobility_domain=$(uci -q get easymesh.config.mobility_domain)
 | 
			
		||||
	iapp=$(uci -q get easymesh.config.iapp)
 | 
			
		||||
	for apall in $(uci -X show wireless | grep wifi-device | awk -F'[.=]' '{print $2}'); do
 | 
			
		||||
		if [ "$kvr" = 1 ]; then
 | 
			
		||||
			uci set wireless.default_$apall.ieee80211k='1'
 | 
			
		||||
			uci set wireless.default_$apall.rrm_neighbor_report='1'
 | 
			
		||||
			uci set wireless.default_$apall.rrm_beacon_report='1'
 | 
			
		||||
			uci set wireless.default_$apall.ieee80211v='1'
 | 
			
		||||
			uci set wireless.default_$apall.bss_transition='1'
 | 
			
		||||
			uci set wireless.default_$apall.ieee80211r='1'
 | 
			
		||||
			uci set wireless.default_$apall.encryption='psk2+ccmp'
 | 
			
		||||
			uci set wireless.default_$apall.mobility_domain=$mobility_domain
 | 
			
		||||
			uci set wireless.default_$apall.ft_over_ds='1'
 | 
			
		||||
			uci set wireless.default_$apall.ft_psk_generate_local='1'
 | 
			
		||||
			uci commit wireless
 | 
			
		||||
		else
 | 
			
		||||
			uci -q delete wireless.default_$apall.ieee80211k
 | 
			
		||||
			uci -q delete wireless.default_$apall.ieee80211v
 | 
			
		||||
			uci -q delete wireless.default_$apall.ieee80211r
 | 
			
		||||
			uci commit wireless
 | 
			
		||||
		fi
 | 
			
		||||
		if [ "$iapp" = 1 ]; then
 | 
			
		||||
			uci set wireless.default_$apall.iapp_interface='br-lan'
 | 
			
		||||
			uci commit wireless
 | 
			
		||||
		else
 | 
			
		||||
			uci -q delete wireless.default_$apall.iapp_interface
 | 
			
		||||
			uci commit wireless
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
add_dawn() {
 | 
			
		||||
	kvr=$(uci -q get easymesh.config.kvr)
 | 
			
		||||
	rssi_val=$(uci -q get easymesh.config.rssi_val)
 | 
			
		||||
	low_rssi_val=$(uci -q get easymesh.config.low_rssi_val)
 | 
			
		||||
 | 
			
		||||
	if [ "$kvr" = 1 ]; then
 | 
			
		||||
		uci set dawn.@metric[0].rssi_val=$rssi_val
 | 
			
		||||
		uci set dawn.@metric[0].low_rssi_val=$low_rssi_val
 | 
			
		||||
		uci commit dawn
 | 
			
		||||
		/etc/init.d/dawn enable && /etc/init.d/dawn start
 | 
			
		||||
	else
 | 
			
		||||
		/etc/init.d/dawn stop && /etc/init.d/dawn disable
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_easymesh() {
 | 
			
		||||
	load_easymesh_config
 | 
			
		||||
	if [ "$enable" = 1 ]; then
 | 
			
		||||
		if [ "$mesh_bat0" != "interface" ]; then
 | 
			
		||||
			uci set network.bat0=interface
 | 
			
		||||
			uci set network.bat0.proto='batadv'
 | 
			
		||||
			uci set network.bat0.routing_algo='BATMAN_IV'
 | 
			
		||||
			uci set network.bat0.aggregated_ogms='1'
 | 
			
		||||
			uci set network.bat0.ap_isolation='0'
 | 
			
		||||
			uci set network.bat0.bonding='0'
 | 
			
		||||
			uci set network.bat0.bridge_loop_avoidance='1'
 | 
			
		||||
			uci set network.bat0.distributed_arp_table='1'
 | 
			
		||||
			uci set network.bat0.fragmentation='1'
 | 
			
		||||
			# uci set network.bat0.gw_bandwidth='10000/2000'
 | 
			
		||||
			# uci set network.bat0.gw_sel_class='20'
 | 
			
		||||
			uci set network.bat0.hop_penalty='30'
 | 
			
		||||
			uci set network.bat0.isolation_mark='0x00000000/0x00000000'
 | 
			
		||||
			uci set network.bat0.log_level='0'
 | 
			
		||||
			uci set network.bat0.multicast_fanout='16'
 | 
			
		||||
			uci set network.bat0.multicast_mode='1'
 | 
			
		||||
			uci set network.bat0.network_coding='0'
 | 
			
		||||
			uci set network.bat0.orig_interval='1000'
 | 
			
		||||
 | 
			
		||||
			if [ "$role" = "server" ]; then
 | 
			
		||||
				uci set network.bat0.gw_mode='server'
 | 
			
		||||
			elif [ "$role" = "client" ]; then
 | 
			
		||||
				uci set network.bat0.gw_mode='client'
 | 
			
		||||
			else
 | 
			
		||||
				uci set network.bat0.gw_mode='off'
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
			if [ "$brlan" = "br-lan" ]; then
 | 
			
		||||
				uci add_list network.@device[0].ports='bat0'
 | 
			
		||||
			else
 | 
			
		||||
				uci set network.lan.ifname="${lan} bat0"
 | 
			
		||||
			fi
 | 
			
		||||
			uci commit network
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		if [ "$apRadio" = "all" ]; then
 | 
			
		||||
			for apall in $(uci -X show wireless | grep wifi-device | awk -F'[.=]' '{print $2}'); do
 | 
			
		||||
				add_wifi_mesh
 | 
			
		||||
			done
 | 
			
		||||
		else
 | 
			
		||||
			apall=$apRadio
 | 
			
		||||
			add_wifi_mesh
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		add_kvr
 | 
			
		||||
		add_dawn
 | 
			
		||||
 | 
			
		||||
		if [ "$ap_mode" = 1 ]; then
 | 
			
		||||
			if [ "$ap_ipaddr" != "$ipaddr" ]; then
 | 
			
		||||
				uci set network.lan.ipaddr=$ipaddr
 | 
			
		||||
				uci set network.lan.netmask=$netmask
 | 
			
		||||
				uci set network.lan.gateway=$gateway
 | 
			
		||||
				uci add_list network.lan.dns=$dns
 | 
			
		||||
				uci commit network
 | 
			
		||||
 | 
			
		||||
				echo "" >/etc/easymesh
 | 
			
		||||
				echo "$ipaddr" >/etc/easymesh
 | 
			
		||||
				echo "$dns" >>/etc/easymesh
 | 
			
		||||
 | 
			
		||||
				uci set dhcp.lan.dynamicdhcp='0'
 | 
			
		||||
				uci set dhcp.lan.ignore='1'
 | 
			
		||||
				uci -q delete dhcp.lan.ra
 | 
			
		||||
				uci -q delete dhcp.lan.dhcpv6
 | 
			
		||||
				uci -q delete dhcp.lan.ra_management
 | 
			
		||||
				uci commit dhcp
 | 
			
		||||
 | 
			
		||||
				/etc/init.d/odhcpd stop && /etc/init.d/odhcpd disable
 | 
			
		||||
				/etc/init.d/firewall stop && /etc/init.d/firewall disable >/dev/null 2>&1
 | 
			
		||||
			fi
 | 
			
		||||
		else
 | 
			
		||||
			ap_mode_stop
 | 
			
		||||
		fi
 | 
			
		||||
	else
 | 
			
		||||
		if [ "$mesh_bat0" = "interface" ]; then
 | 
			
		||||
			uci -q delete network.bat0
 | 
			
		||||
			if [ "$brlan" = "br-lan" ]; then
 | 
			
		||||
				uci -q del_list network.@device[0].ports='bat0'
 | 
			
		||||
			else
 | 
			
		||||
				sed -i 's/ bat0//' /etc/config/network
 | 
			
		||||
			fi
 | 
			
		||||
			uci commit network
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		for apall in $(uci -X show wireless | grep wifi-device | awk -F'[.=]' '{print $2}'); do
 | 
			
		||||
			mesh_nwi_mesh=$(uci -q get network.nwi_mesh_${apall})
 | 
			
		||||
			mesh_mesh=$(uci -q get wireless.mesh_${apall})
 | 
			
		||||
 | 
			
		||||
			if [ "$mesh_nwi_mesh" = "interface" ]; then
 | 
			
		||||
				uci -q delete network.nwi_mesh_$apall
 | 
			
		||||
				uci commit network
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
			if [ "$mesh_mesh" = "wifi-iface" ]; then
 | 
			
		||||
				uci -q delete wireless.mesh_$apall
 | 
			
		||||
				uci commit wireless
 | 
			
		||||
			fi
 | 
			
		||||
		done
 | 
			
		||||
 | 
			
		||||
		add_kvr
 | 
			
		||||
		add_dawn
 | 
			
		||||
 | 
			
		||||
		if [ "$ap_mode" = 1 ]; then
 | 
			
		||||
			ap_mode_stop
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
	/etc/init.d/network restart
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start() {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stop() {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
restart() {
 | 
			
		||||
	set_easymesh
 | 
			
		||||
}
 | 
			
		||||
@ -1,11 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
uci -q batch <<-EOF >/dev/null
 | 
			
		||||
	delete ucitrack.@easymesh[-1]
 | 
			
		||||
	add ucitrack easymesh
 | 
			
		||||
	set ucitrack.@easymesh[-1].init=easymesh
 | 
			
		||||
	commit ucitrack
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
rm -f /tmp/luci-indexcache
 | 
			
		||||
exit 0
 | 
			
		||||
@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
    "luci-app-easymesh": {
 | 
			
		||||
        "description": "Grant UCI access for luci-app-easymesh",
 | 
			
		||||
        "read": {
 | 
			
		||||
            "uci": [ "easymesh" ]
 | 
			
		||||
        },
 | 
			
		||||
        "write": {
 | 
			
		||||
            "uci": [ "easymesh" ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,68 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2015-2016 OpenWrt.org
 | 
			
		||||
# Copyright (C) 2020 jjm2473@gmail.com
 | 
			
		||||
#
 | 
			
		||||
# This is free software, licensed under the GNU General Public License v3.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
include $(TOPDIR)/rules.mk
 | 
			
		||||
 | 
			
		||||
PKG_ARCH_quickstart:=$(ARCH)
 | 
			
		||||
 | 
			
		||||
PKG_NAME:=quickstart
 | 
			
		||||
PKG_VERSION:=0.8.9
 | 
			
		||||
PKG_RELEASE:=1
 | 
			
		||||
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
 | 
			
		||||
PKG_SOURCE_URL:=https://github.com/linkease/istore-packages/releases/download/prebuilt/
 | 
			
		||||
PKG_HASH:=ed929e653176f6a0115e35d50cbdaa8631b2c13c56f6264045959a02dba5f0af
 | 
			
		||||
 | 
			
		||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-binary-$(PKG_VERSION)
 | 
			
		||||
 | 
			
		||||
PKG_BUILD_PARALLEL:=1
 | 
			
		||||
PKG_USE_MIPS16:=0
 | 
			
		||||
 | 
			
		||||
include $(INCLUDE_DIR)/package.mk
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)
 | 
			
		||||
	SECTION:=net
 | 
			
		||||
	CATEGORY:=Network
 | 
			
		||||
	SUBMENU:=Web Servers/Proxies
 | 
			
		||||
	TITLE:=Quickstart, the quick start.
 | 
			
		||||
	DEPENDS:=@(x86_64||aarch64||arm) +shadow-utils +shadow-useradd +mount-utils +block-mount +lsblk +e2fsprogs +parted +smartmontools +smartd +mdadm +ip-full +ubus +uci +bash
 | 
			
		||||
	URL:=https://easepi.linkease.com/
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/description
 | 
			
		||||
  Quickstart is a dashboard & user guide
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/conffiles
 | 
			
		||||
/etc/config/quickstart
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/postinst
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
if [ -z "$${IPKG_INSTROOT}" ]; then
 | 
			
		||||
	if [ -f /etc/uci-defaults/09-quickstart ]; then
 | 
			
		||||
		chmod 755 /etc/uci-defaults/09-quickstart
 | 
			
		||||
		/etc/uci-defaults/09-quickstart && rm -f /etc/uci-defaults/09-quickstart
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Build/Configure
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Build/Compile
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
define Package/$(PKG_NAME)/install
 | 
			
		||||
	$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/uci-defaults $(1)/etc/hotplug.d/block $(1)/etc/config
 | 
			
		||||
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/quickstart.$(PKG_ARCH_quickstart) $(1)/usr/sbin/quickstart
 | 
			
		||||
	$(INSTALL_BIN) ./files/quickstart.init $(1)/etc/init.d/quickstart
 | 
			
		||||
	$(INSTALL_BIN) ./files/quickstart.uci-default $(1)/etc/uci-defaults/09-quickstart
 | 
			
		||||
	$(INSTALL_BIN) ./files/quickstart.hotplug $(1)/etc/hotplug.d/block/09-quickstart
 | 
			
		||||
	$(INSTALL_CONF) ./files/quickstart.config $(1)/etc/config/quickstart
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
$(eval $(call BuildPackage,$(PKG_NAME)))
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
config quickstart 'main'
 | 
			
		||||
@ -1,3 +0,0 @@
 | 
			
		||||
if [ "$ACTION" = "add" -o "$ACTION" = "remove" ]; then
 | 
			
		||||
    quickstart blockChange
 | 
			
		||||
fi
 | 
			
		||||
@ -1,13 +0,0 @@
 | 
			
		||||
#!/bin/sh /etc/rc.common
 | 
			
		||||
 | 
			
		||||
START=92
 | 
			
		||||
USE_PROCD=1
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
start_service() { 
 | 
			
		||||
	procd_open_instance
 | 
			
		||||
	procd_set_param command /usr/sbin/quickstart serve --unix /var/run/quickstart/local.sock
 | 
			
		||||
	procd_set_param stderr 1
 | 
			
		||||
	procd_set_param respawn
 | 
			
		||||
	procd_close_instance
 | 
			
		||||
}
 | 
			
		||||
@ -1,8 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
if [ "$PKG_UPGRADE" = 1 ]; then
 | 
			
		||||
    /etc/init.d/quickstart enable
 | 
			
		||||
    /etc/init.d/quickstart start
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
		Reference in New Issue
	
	Block a user