From f5ca587a6177b440dcd46e0269ddc61a1d228a7d Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Mon, 8 Oct 2018 22:34:28 +0800 Subject: [PATCH] re-add luci app zerotier --- package/lean/luci-app-zerotier/Makefile | 19 +++++++++++ .../luasrc/controller/zerotier.lua | 17 ++++++++++ .../luasrc/model/cbi/zerotier.lua | 32 +++++++++++++++++++ .../luasrc/view/zerotier/zerotier_status.htm | 23 +++++++++++++ .../root/etc/uci-defaults/40_luci-zerotier | 11 +++++++ 5 files changed, 102 insertions(+) create mode 100644 package/lean/luci-app-zerotier/Makefile create mode 100644 package/lean/luci-app-zerotier/luasrc/controller/zerotier.lua create mode 100644 package/lean/luci-app-zerotier/luasrc/model/cbi/zerotier.lua create mode 100644 package/lean/luci-app-zerotier/luasrc/view/zerotier/zerotier_status.htm create mode 100755 package/lean/luci-app-zerotier/root/etc/uci-defaults/40_luci-zerotier diff --git a/package/lean/luci-app-zerotier/Makefile b/package/lean/luci-app-zerotier/Makefile new file mode 100644 index 000000000..2a5d12d92 --- /dev/null +++ b/package/lean/luci-app-zerotier/Makefile @@ -0,0 +1,19 @@ +# +# Copyright (C) 2008-2014 The LuCI Team +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI for Zerotier +LUCI_DEPENDS:=+zerotier +LUCI_PKGARCH:=all +PKG_VERSION:=1.0 +PKG_RELEASE:=3 + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature + + diff --git a/package/lean/luci-app-zerotier/luasrc/controller/zerotier.lua b/package/lean/luci-app-zerotier/luasrc/controller/zerotier.lua new file mode 100644 index 000000000..3320f8408 --- /dev/null +++ b/package/lean/luci-app-zerotier/luasrc/controller/zerotier.lua @@ -0,0 +1,17 @@ +module("luci.controller.zerotier",package.seeall) + +function index() + if not nixio.fs.access("/etc/config/zerotier")then +return +end + +entry({"admin","services","zerotier"},cbi("zerotier"),_("ZeroTier"),90).dependent=true +entry({"admin","services","zerotier","status"},call("act_status")).leaf=true +end + +function act_status() +local e={} + e.running=luci.sys.call("pgrep /usr/bin/zerotier-one >/dev/null")==0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end diff --git a/package/lean/luci-app-zerotier/luasrc/model/cbi/zerotier.lua b/package/lean/luci-app-zerotier/luasrc/model/cbi/zerotier.lua new file mode 100644 index 000000000..21414ddc5 --- /dev/null +++ b/package/lean/luci-app-zerotier/luasrc/model/cbi/zerotier.lua @@ -0,0 +1,32 @@ +local e=require"nixio.fs" +local e=luci.http +local o=require"luci.model.network".init() +local a,t,e,b +a=Map("zerotier",translate("ZeroTier"),translate("ZeroTier 是一款可以创建P2P虚拟局域网的开源软件。")) +a:section(SimpleSection).template = "zerotier/zerotier_status" +t=a:section(NamedSection,"sample_config","zerotier",translate("全局设置")) +t.anonymous=true +t.addremove=false +e=t:option(Flag,"enabled",translate("启用")) +e.default=0 +e.rmempty=false +e=t:option(ListValue,"interface",translate("接口")) +for b,t in ipairs(o:get_networks())do +if t:name()~="loopback" then e:value(t:name())end +end +-- e=t:option(Value,"start_delay",translate("延时启动"),translate("Units:seconds")) +-- e.datatype="uinteger" +-- e.default="0" +-- e.rmempty=true +e=t:option(DynamicList,"join",translate('ZeroTier 网络 ID')) +e.password=true +e.rmempty=false +if nixio.fs.access("/etc/config/zerotier")then +e=t:option(Button,"Configuration",translate("网络配置管理")) +e.inputtitle=translate("打开网站") +e.inputstyle="reload" +e.write=function() +luci.http.redirect("https://my.zerotier.com/") +end +end +return a diff --git a/package/lean/luci-app-zerotier/luasrc/view/zerotier/zerotier_status.htm b/package/lean/luci-app-zerotier/luasrc/view/zerotier/zerotier_status.htm new file mode 100644 index 000000000..a4dfa39ec --- /dev/null +++ b/package/lean/luci-app-zerotier/luasrc/view/zerotier/zerotier_status.htm @@ -0,0 +1,23 @@ + + +
+ <%:Running Status%> +

+ <%:Collecting data...%> +

+
diff --git a/package/lean/luci-app-zerotier/root/etc/uci-defaults/40_luci-zerotier b/package/lean/luci-app-zerotier/root/etc/uci-defaults/40_luci-zerotier new file mode 100755 index 000000000..06f02e802 --- /dev/null +++ b/package/lean/luci-app-zerotier/root/etc/uci-defaults/40_luci-zerotier @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@zerotier[-1] + add ucitrack zerotier + set ucitrack.@zerotier[-1].init=zerotier + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0