From ea97573efca29baf19ef3493f1b59ba7ca602eb3 Mon Sep 17 00:00:00 2001 From: SakuraFallingMad <31793080+SakuraFallingMad@users.noreply.github.com> Date: Sat, 28 Jun 2025 13:33:39 +0800 Subject: [PATCH 1/3] shadow-tls: add package --- net/shadow-tls/Makefile | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 net/shadow-tls/Makefile diff --git a/net/shadow-tls/Makefile b/net/shadow-tls/Makefile new file mode 100644 index 0000000000..dee9cd4507 --- /dev/null +++ b/net/shadow-tls/Makefile @@ -0,0 +1,49 @@ +# SPDX-License-Identifier: GPL-3.0-only +include $(TOPDIR)/rules.mk + +PKG_NAME:=shadow-tls +PKG_VERSION:=0.2.25 +PKG_RELEASE:=1 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/ihciah/shadow-tls.git +PKG_SOURCE_VERSION:=dee3a5a819d6f56cfdd56c44a0d42be186c44238 +PKG_MIRROR_HASH:=skip + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:= SakuraFallingMad + +PKG_BUILD_DIR:=$(BUILD_DIR)/shadow-tls-$(PKG_VERSION) + +PKG_BUILD_DEPENDS:=rust/host +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk +include ../../lang/rust/rust-package.mk + +define Package/shadow-tls + SECTION:=net + CATEGORY:=Network + SUBMENU:=Web Servers/Proxies + TITLE:=Shadow-TLS: A proxy to evade censorship + URL:=https://github.com/ihciah/shadow-tls + DEPENDS:=+libopenssl +endef + +define Package/shadow-tls/description + Shadow-TLS is a proxy to evade DPI and censorship, designed to mimic TLS traffic. +endef + +define Build/Compile + CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER="$(TARGET_CC)" \ + SHADOW_TLS_RUNTIME=tokio \ + cargo build --release --target $(RUSTC_TARGET_NAME) +endef + +define Package/shadow-tls/install + $(INSTALL_DIR) $(1)/usr/bin + $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/bin/$(1) $$(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,shadow-tls)) From 421c17e05e204a213b7655d3a0729e779895eeb4 Mon Sep 17 00:00:00 2001 From: SakuraFallingMad <31793080+SakuraFallingMad@users.noreply.github.com> Date: Sat, 28 Jun 2025 13:33:39 +0800 Subject: [PATCH 2/3] shadow-tls: add package --- net/shadow-tls/Makefile | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 net/shadow-tls/Makefile diff --git a/net/shadow-tls/Makefile b/net/shadow-tls/Makefile new file mode 100644 index 0000000000..2a6f1769a3 --- /dev/null +++ b/net/shadow-tls/Makefile @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: GPL-3.0-only +include $(TOPDIR)/rules.mk + +PKG_NAME:=shadow-tls +PKG_VERSION:=0.2.25 +PKG_RELEASE:=1 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/ihciah/shadow-tls.git +PKG_SOURCE_VERSION:=dee3a5a819d6f56cfdd56c44a0d42be186c44238 +PKG_MIRROR_HASH:=skip + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:= SakuraFallingMad + +PKG_BUILD_DIR:=$(BUILD_DIR)/shadow-tls-$(PKG_VERSION) + +PKG_BUILD_DEPENDS:=rust/host +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk +include ../../lang/rust/rust-package.mk + +define Package/shadow-tls + SECTION:=net + CATEGORY:=Network + SUBMENU:=Web Servers/Proxies + TITLE:=Shadow-TLS: A proxy to evade censorship + URL:=https://github.com/ihciah/shadow-tls + DEPENDS:=+libopenssl +endef + +define Package/shadow-tls/description + Shadow-TLS is a proxy to evade DPI and censorship, designed to mimic TLS traffic. +endef + +define Build/Compile + CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER="$(TARGET_CC)" \ + cargo build --release --target $(RUSTC_TARGET_NAME) --features tokio-runtime +endef + +define Package/shadow-tls/install + $(INSTALL_DIR) $(1)/usr/bin + $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/bin/$(1) $$(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,shadow-tls)) From 310f8eb8935443c13d278a9ec3de23e24faf362c Mon Sep 17 00:00:00 2001 From: SakuraFallingMad <31793080+SakuraFallingMad@users.noreply.github.com> Date: Sat, 28 Jun 2025 19:03:21 +0800 Subject: [PATCH 3/3] shadow-tls: add prebuilt package --- net/shadow-tls/Makefile | 76 ++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 32 deletions(-) diff --git a/net/shadow-tls/Makefile b/net/shadow-tls/Makefile index 2a6f1769a3..4fb20ac8e1 100644 --- a/net/shadow-tls/Makefile +++ b/net/shadow-tls/Makefile @@ -1,48 +1,60 @@ -# SPDX-License-Identifier: GPL-3.0-only +# SPDX-License-Identifier: GPL-2.0-only + include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/package.mk PKG_NAME:=shadow-tls PKG_VERSION:=0.2.25 PKG_RELEASE:=1 -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/ihciah/shadow-tls.git -PKG_SOURCE_VERSION:=dee3a5a819d6f56cfdd56c44a0d42be186c44238 -PKG_MIRROR_HASH:=skip -PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:= SakuraFallingMad - -PKG_BUILD_DIR:=$(BUILD_DIR)/shadow-tls-$(PKG_VERSION) - -PKG_BUILD_DEPENDS:=rust/host -PKG_USE_MIPS16:=0 -PKG_BUILD_PARALLEL:=1 - -include $(INCLUDE_DIR)/package.mk -include ../../lang/rust/rust-package.mk - -define Package/shadow-tls - SECTION:=net - CATEGORY:=Network - SUBMENU:=Web Servers/Proxies - TITLE:=Shadow-TLS: A proxy to evade censorship - URL:=https://github.com/ihciah/shadow-tls - DEPENDS:=+libopenssl +PKG_MAINTAINER:=FluffyTigerFear + +RELEASE_HEAD:=$(PKG_NAME) +RELEASE_FOOT:=unknown-linux-musl + +ifeq ($(ARCH),aarch64) + RELEASE_ARCH:=$(RELEASE_HEAD)-aarch64-$(RELEASE_FOOT) + PKG_HASH:=3295476b37f549a68906519d3eaecb74bf3b6eaf9094cebb16ee84f0151373c6 +else ifeq ($(ARCH),arm) + ifeq ($(CONFIG_CPU_TYPE),cortex-a7) + RELEASE_ARCH:=$(RELEASE_HEAD)-armv7-$(RELEASE_FOOT)eabihf + PKG_HASH:=e6f918a072557c50fd0ea950af9a156a9b102af72c1d010ff85d08d13006c54f + else ifeq ($(CONFIG_CPU_TYPE),cortex-a9) + RELEASE_ARCH:=$(RELEASE_HEAD)-armv7-$(RELEASE_FOOT)eabihf + PKG_HASH:=e6f918a072557c50fd0ea950af9a156a9b102af72c1d010ff85d08d13006c54f + else + RELEASE_ARCH:=$(RELEASE_HEAD)-arm-$(RELEASE_FOOT)eabi + PKG_HASH:=b6743bc60e1727972ece0fd5acf3a931e5be05cedee6f637e7e3d8c5b8d58f16 + endif +else ifeq ($(ARCH),x86_64) + RELEASE_ARCH:=$(RELEASE_HEAD)-x86_64-$(RELEASE_FOOT) + PKG_HASH:=a173f5f2d57f45211b68e10ceeddc15b1791077b914fa89747bc705fddc71532 +else + PKG_SOURCE:=dummy + PKG_HASH:=dummy +endif + +define Download/shadow-tls + FILE:=$(PKG_SOURCE) + URL:=$(PKG_SOURCE_URL) + URL_FILE:=$(PKG_SOURCE) + HASH:=$(PKG_HASH) endef +$(eval $(call Download,shadow-tls)) -define Package/shadow-tls/description - Shadow-TLS is a proxy to evade DPI and censorship, designed to mimic TLS traffic. -endef - -define Build/Compile - CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER="$(TARGET_CC)" \ - cargo build --release --target $(RUSTC_TARGET_NAME) --features tokio-runtime +define Package/shadow-tls + SECTION:=net + CATEGORY:=Network + SUBMENU:=Web Servers/Proxies + TITLE:=A proxy to expose real tls handshake to the firewall. + URL:=https://github.com/ihciah/shadow-tls + DEPENDS:=@USE_MUSL @(aarch64||arm||x86_64) @!(TARGET_x86_geode||TARGET_x86_legacy) endef define Package/shadow-tls/install $(INSTALL_DIR) $(1)/usr/bin - $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/bin/$(1) $$(1)/usr/bin/ + $(INSTALL_BIN) $(DL_DIR)/$(RELEASE_ARCH) $(1)/usr/bin/shadow-tls endef $(eval $(call BuildPackage,shadow-tls))