Makefile 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. include $(TOPDIR)/rules.mk
  2. PKG_NAME:=client2server-unified
  3. PKG_VERSION:=2.0.0
  4. PKG_RELEASE:=1
  5. PKG_LICENSE:=MIT
  6. PKG_MAINTAINER:=Luis Rosales <lrosales@techno-world.net>
  7. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
  8. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  9. PKG_SOURCE_URL:=https://git3.techno-world.net/lrosales/client2server
  10. include $(INCLUDE_BASE)/package
  11. define Package/$(PKG_NAME)
  12. SECTION:=utils
  13. CATEGORY:=Utilities
  14. TITLE:=Event forwarder for OpenWrt to central server
  15. DESCRIPTION:=All-in-one Lua event forwarder that monitors DHCP, WAN link, and forwards to central server via WebSocket with offline buffering
  16. DEPENDS:=+lua +luasocket +openssl-util
  17. TITLE:=Client2Server Unified
  18. endef
  19. define Package/$(PKG_NAME)/description
  20. All-in-one Lua event forwarder for OpenWrt routers.
  21. Features:
  22. - WebSocket connection with auto-reconnect
  23. - Local buffer (store-and-forward while offline)
  24. - DHCP lease events (new/expire) via luv + hotplug
  25. - WiFi connect/disconnect events via hotplug
  26. - WAN link state monitoring
  27. - DHCP IP changes (new ISP detection)
  28. - Bidirectional commands from server (uci_set, shell, reboot)
  29. endef
  30. define Build/Prepare
  31. mkdir -p $(PKG_BUILD_DIR)
  32. $(CP) ./src/* $(PKG_BUILD_DIR)/
  33. chmod +x $(PKG_BUILD_DIR)/*
  34. endef
  35. define Build/Configure
  36. endef
  37. define Build/Compile
  38. endef
  39. define Package/$(PKG_NAME)/install
  40. $(CP) $(PKG_BUILD_DIR)/* $(1)/usr/sbin/
  41. chmod +x $(1)/usr/sbin/*.lua
  42. # Init script
  43. $(INSTALL_DIR) $(1)/etc/init.d
  44. $(INSTALL_BIN) ./files/etc/init.d/client2server $(1)/etc/init.d/client2server
  45. # Config
  46. $(INSTALL_DIR) $(1)/etc/config
  47. $(INSTALL_DATA) ./files/etc/config/client2server $(1)/etc/config/client2server
  48. # Hotplug scripts (instant WiFi/DHCP events)
  49. $(INSTALL_DIR) $(1)/etc/hotplug.d/wireless
  50. $(INSTALL_BIN) ./hotplug/01-wifi $(1)/etc/hotplug.d/wireless/01-wifi
  51. $(INSTALL_DIR) $(1)/etc/hotplug.d/dhcp
  52. $(INSTALL_BIN) ./hotplug/02-dhcp $(1)/etc/hotplug.d/dhcp/02-dhcp
  53. endef
  54. $(eval $(call BuildPackage,$(PKG_NAME)))