diff --git a/package/ctcgfw/jpcre2/Makefile b/package/ctcgfw/jpcre2/Makefile new file mode 100644 index 0000000000..0b8ef48090 --- /dev/null +++ b/package/ctcgfw/jpcre2/Makefile @@ -0,0 +1,49 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=jpcre2 +PKG_VERSION:=10.31.03 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/jpcre2/jpcre2.git +PKG_SOURCE_VERSION:=709ec0e866c3ae3ac61e5683b7f9b3b6feaac3f6 +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz +PKG_HASH:=22deb97515e48adf80383ca691229b83d13d8850f6e8b98710426b24955ae5de + +PKG_LICENSE:=GPLv3 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=[CTCGFW]Project OpenWrt + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_INSTALL:=1 +PKG_FIXUP:=autoreconf +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=pcre2 + +include $(INCLUDE_DIR)/package.mk + +define Package/libjpcre2 + SECTION:=lib + CATEGORY:=Libraries + TITLE:=C++ wrapper for PCRE2 Library + URL:=https://github.com/jpcre2/jpcre2 +endef + +define Package/libjpcre2/description + This provides some C++ wrapper classes/functions to perform regex operations such as regex match and regex replace. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(INSTALL_DATA) $(PKG_BUILD_DIR)/src/jpcre2.hpp $(1)/usr/include/jpcre2.hpp +endef + +$(eval $(call BuildPackage,libjpcre2)) diff --git a/package/ctcgfw/rapidjson/Makefile b/package/ctcgfw/rapidjson/Makefile new file mode 100644 index 0000000000..42a1ad02c6 --- /dev/null +++ b/package/ctcgfw/rapidjson/Makefile @@ -0,0 +1,51 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=rapidjson +PKG_VERSION:=20200213 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/Tencent/rapidjson.git +PKG_SOURCE_VERSION:=a895ce150fa2d73f4ee55f8657761a6b3e96236f +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz +PKG_HASH:=bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e + +PKG_LICENSE:=GPLv3 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=[CTCGFW]Project OpenWrt + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_INSTALL:=1 +PKG_FIXUP:=autoreconf +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/$(PKG_NAME) + SECTION:=lib + CATEGORY:=Libraries + URL:=https://github.com/Tencent/rapidjson + TITLE:=rapidjson JSON parser/generator for C++ + MAINTAINER:=[CTCGFW]Project OpenWrt +endef + +define Package/$(PKG_NAME)/description + A fast JSON parser/generator for C++ with both SAX/DOM style API +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_BUILD_DIR)/include/rapidjson $(1)/usr/include/rapidjson +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/package/ctcgfw/subconverter/Makefile b/package/ctcgfw/subconverter/Makefile new file mode 100644 index 0000000000..9a1d639e36 --- /dev/null +++ b/package/ctcgfw/subconverter/Makefile @@ -0,0 +1,78 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=subconverter +PKG_VERSION:=0.3.1 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/tindy2013/subconverter.git +PKG_SOURCE_VERSION:=41b9f97d4ce1b7dea62f9b4a85396fefb7b18b38 +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz +PKG_HASH:=5b84efb52c6a907402dd95f20bdbe196c574a45f192aed68a1377cfff67157a6 + +PKG_LICENSE:=GPLv3 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=[CTCGFW]Project OpenWrt + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_INSTALL:=1 +PKG_FIXUP:=autoreconf +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=jpcre2 rapidjson + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=net + CATEGORY:=Network + TITLE:=Utility to convert between various subscription format. + URL:=https://github.com/tindy2013/subconverter + DEPENDS:=+libpthread +libstdcpp +libevent2 +libyaml-cpp +libpcre2 +libcurl +libopenssl +zlib +endef + +define Package/$(PKG_NAME)/description + Utility to convert between various subscription format. +endef + +define Build/Configure + mkdir -p $(PKG_BUILD_DIR)/obj +endef + +define Build/Compile + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/interfaces.cpp -o $(PKG_BUILD_DIR)/obj/interfaces.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/logger.cpp -o $(PKG_BUILD_DIR)/obj/logger.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/main.cpp -o $(PKG_BUILD_DIR)/obj/main.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/misc.cpp -o $(PKG_BUILD_DIR)/obj/misc.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/multithread.cpp -o $(PKG_BUILD_DIR)/obj/multithread.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/nodemanip.cpp -o $(PKG_BUILD_DIR)/obj/nodemanip.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/rapidjson_extra.cpp -o $(PKG_BUILD_DIR)/obj/rapidjson_extra.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/speedtestutil.cpp -o $(PKG_BUILD_DIR)/obj/speedtestutil.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/subexport.cpp -o $(PKG_BUILD_DIR)/obj/subexport.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/webget.cpp -o $(PKG_BUILD_DIR)/obj/webget.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/webserver_libevent.cpp -o $(PKG_BUILD_DIR)/obj/webserver_libevent.o + $(TARGET_CROSS)c++ -o $(PKG_BUILD_DIR)/subconverter $(PKG_BUILD_DIR)/obj/*.o -lpcre2-8 -levent -lpthread -lyaml-cpp -lcurl -lssl -lcrypto -lz -O3 -s +endef + +define Build/Install +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/subconverter $(1)/usr/bin/subconverter + $(INSTALL_DIR) $(1)/etc/subconverter + $(CP) $(PKG_BUILD_DIR)/base/* $(1)/etc/subconverter/ + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/subconverter.init $(1)/etc/init.d/subconverter + ( cd $(1) && ln -sf usr/bin/subconverter etc/subconverter/subconverter ) +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/package/ctcgfw/subconverter/files/subconverter.init b/package/ctcgfw/subconverter/files/subconverter.init new file mode 100755 index 0000000000..3bf6d29bb5 --- /dev/null +++ b/package/ctcgfw/subconverter/files/subconverter.init @@ -0,0 +1,14 @@ +#!/bin/sh /etc/rc.common + +START=99 +USE_PROCD=1 + +BIN=/etc/subconverter/subconverter + +start_service() { + procd_open_instance + procd_set_param command $BIN + procd_set_param respawn + procd_set_param stderr 1 + procd_close_instance +}