Implements Meshname DNS for Yggdrasil mesh networks with gossip-based service discovery and dnsmasq integration. New packages: - secubox-app-meshname-dns: Core service with meshnamectl CLI - luci-app-meshname-dns: LuCI dashboard for service management Features: - Services announce .ygg domains via gossip protocol (meshname_announce) - dnsmasq integration via /tmp/hosts/meshname dynamic hosts file - Cross-node resolution through gossip message propagation - RPCD handler with 8 methods for LuCI integration CLI commands: announce, revoke, resolve, list, sync, status, daemon Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 lines
1.1 KiB
Makefile
31 lines
1.1 KiB
Makefile
# SPDX-License-Identifier: MIT
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
LUCI_TITLE:=LuCI Meshname DNS Dashboard
|
|
LUCI_DEPENDS:=+secubox-app-meshname-dns +luci-base
|
|
LUCI_PKGARCH:=all
|
|
|
|
PKG_NAME:=luci-app-meshname-dns
|
|
PKG_VERSION:=1.0.0
|
|
PKG_RELEASE:=1
|
|
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
|
|
PKG_LICENSE:=MIT
|
|
|
|
include $(TOPDIR)/feeds/luci/luci.mk
|
|
|
|
define Package/luci-app-meshname-dns/install
|
|
$(INSTALL_DIR) $(1)/www/luci-static/resources/view/meshname
|
|
$(INSTALL_DATA) ./htdocs/luci-static/resources/view/meshname/*.js $(1)/www/luci-static/resources/view/meshname/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
|
|
$(INSTALL_BIN) ./root/usr/libexec/rpcd/luci.meshname $(1)/usr/libexec/rpcd/luci.meshname
|
|
|
|
$(INSTALL_DIR) $(1)/usr/share/rpcd/acl.d
|
|
$(INSTALL_DATA) ./root/usr/share/rpcd/acl.d/luci-app-meshname-dns.json $(1)/usr/share/rpcd/acl.d/luci-app-meshname-dns.json
|
|
|
|
$(INSTALL_DIR) $(1)/usr/share/luci/menu.d
|
|
$(INSTALL_DATA) ./root/usr/share/luci/menu.d/luci-app-meshname-dns.json $(1)/usr/share/luci/menu.d/luci-app-meshname-dns.json
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,luci-app-meshname-dns))
|