mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-09-11 02:44:23 +08:00
112 lines
4.3 KiB
Makefile
112 lines
4.3 KiB
Makefile
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=clashoo
|
|
PKG_SHORT_SHA:=fd74ecb
|
|
PKG_COMMIT_DATE:=2026.09.05
|
|
|
|
PKG_VERSION:=$(PKG_COMMIT_DATE)~$(PKG_SHORT_SHA)
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-alpha-$(PKG_SHORT_SHA).tar.gz
|
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-alpha-$(PKG_SHORT_SHA)
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-alpha-$(PKG_SHORT_SHA)
|
|
PKG_SOURCE_URL:=https://github.com/kenzok8/openwrt-clashoo/releases/download/mihomo-src
|
|
PKG_SOURCE_VERSION:=fd74ecb6e22bbdba17a4d7441531fea69ee43036
|
|
PKG_HASH:=b88239c01871ba771b1e80caadf247feab42130783f5ab40be0c9fe27a9cc836
|
|
PKG_BUILD_VERSION:=alpha-$(PKG_SHORT_SHA)
|
|
|
|
PKG_LICENSE:=GPL3.0+
|
|
PKG_MAINTAINER:=kenzok8
|
|
|
|
PKG_BUILD_DEPENDS:=golang/host
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_BUILD_FLAGS:=no-mips16
|
|
|
|
PKG_BUILD_TIME:=$(shell date -u -Iseconds)
|
|
|
|
GO_PKG:=github.com/metacubex/mihomo
|
|
GO_PKG_LDFLAGS_X:=$(GO_PKG)/constant.Version=$(PKG_BUILD_VERSION) $(GO_PKG)/constant.BuildTime=$(PKG_BUILD_TIME)
|
|
GO_PKG_TAGS:=with_gvisor
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
|
|
|
define Package/clashoo
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
TITLE:=Clashoo (Mihomo)
|
|
DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +yq +firewall4 +ip-full +coreutils-nohup +coreutils-timeout +kmod-inet-diag +kmod-nft-socket +kmod-nft-tproxy +kmod-tun +kmod-dummy +unzip
|
|
PROVIDES:=mihomo clash-meta
|
|
endef
|
|
|
|
define Package/clashoo/description
|
|
Mihomo proxy core with runtime environment for Clashoo.
|
|
endef
|
|
|
|
define Package/clashoo/conffiles
|
|
/etc/config/clashoo
|
|
endef
|
|
|
|
define Package/clashoo/install
|
|
$(call GoPackage/Package/Install/Bin,$(1))
|
|
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
ln -sf /usr/bin/mihomo $(1)/usr/bin/clash-meta
|
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_DIR) $(1)/etc/clashoo
|
|
$(INSTALL_DIR) $(1)/etc/clashoo/provider
|
|
$(INSTALL_DIR) $(1)/etc/clashoo/proxyprovider
|
|
$(INSTALL_DIR) $(1)/etc/clashoo/ruleprovider
|
|
$(INSTALL_DIR) $(1)/usr/share/clashoo
|
|
$(INSTALL_DIR) $(1)/usr/share/clashbackup
|
|
$(INSTALL_DIR) $(1)/usr/share/clashoo/config
|
|
$(INSTALL_DIR) $(1)/usr/share/clashoo/config/sub
|
|
$(INSTALL_DIR) $(1)/usr/share/clashoo/config/upload
|
|
$(INSTALL_DIR) $(1)/usr/share/clashoo/config/custom
|
|
|
|
$(INSTALL_BIN) $(CURDIR)/files/etc/init.d/clashoo $(1)/etc/init.d/clashoo
|
|
$(INSTALL_CONF) $(CURDIR)/files/etc/config/clashoo $(1)/etc/config/clashoo
|
|
$(INSTALL_DATA) $(CURDIR)/files/etc/config/clashoo $(1)/usr/share/clashoo/clashoo.default
|
|
$(CP) $(CURDIR)/files/usr/share/clashoo/* $(1)/usr/share/clashoo/
|
|
$(INSTALL_BIN) $(CURDIR)/files/usr/share/clashoo/migrate_lan_acl.sh $(1)/usr/share/clashoo/migrate_lan_acl.sh
|
|
$(INSTALL_BIN) $(CURDIR)/files/usr/share/clashoo/migrate_fake_ip_filter.sh $(1)/usr/share/clashoo/migrate_fake_ip_filter.sh
|
|
$(INSTALL_BIN) $(CURDIR)/files/usr/share/clashoo/detect_core_arch.sh $(1)/usr/share/clashoo/detect_core_arch.sh
|
|
$(INSTALL_BIN) $(CURDIR)/files/usr/share/clashoo/diagnose_bypass.sh $(1)/usr/share/clashoo/diagnose_bypass.sh
|
|
|
|
$(RM) $(1)/usr/share/clashoo/dashboard
|
|
$(RM) $(1)/usr/share/clashoo/yacd
|
|
$(RM) $(1)/usr/share/clashoo/update.log
|
|
$(RM) $(1)/usr/share/clashoo/geoip.log
|
|
$(RM) $(1)/usr/share/clashoo/core_down_complete
|
|
endef
|
|
|
|
define Package/clashoo/postinst
|
|
#!/bin/sh
|
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
|
[ -x /usr/bin/mihomo ] && [ ! -x /usr/bin/clash-meta ] && ln -sf /usr/bin/mihomo /usr/bin/clash-meta
|
|
rm -f /usr/share/clashoo/check_luci_version.sh /usr/share/clashoo/check_clash_meta_version.sh /usr/share/clashoo/check_mihomo_core_version.sh
|
|
rm -f /usr/share/clashoo/cuslist.sh /usr/share/clashoo/groups.sh /usr/share/clashoo/load_groups.sh /usr/share/clashoo/panel_diag.sh
|
|
rm -f /usr/share/clashoo/rmlist.sh /usr/share/clashoo/uplist.sh /usr/share/clashoo/rpc_restart_async.sh /usr/share/clashoo/rpc_update_china_ip_async.sh
|
|
rm -rf /usr/share/clashoo/create
|
|
/usr/share/clashoo/migrate_lan_acl.sh >/dev/null 2>&1 || true
|
|
/usr/share/clashoo/migrate_fake_ip_filter.sh >/dev/null 2>&1 || true
|
|
/usr/share/clashoo/detect_core_arch.sh >/dev/null 2>&1 || true
|
|
if [ "$$(uci -q get clashoo.config.enable 2>/dev/null)" = "1" ]; then
|
|
/etc/init.d/clashoo enable 2>/dev/null || true
|
|
else
|
|
/etc/init.d/clashoo disable 2>/dev/null || true
|
|
fi
|
|
fi
|
|
exit 0
|
|
endef
|
|
|
|
define Build/Prepare
|
|
$(Build/Prepare/Default)
|
|
$(RM) -r $(PKG_BUILD_DIR)/rules/logic_test
|
|
endef
|
|
|
|
$(eval $(call GoBinPackage,clashoo))
|
|
$(eval $(call BuildPackage,clashoo))
|