include $(TOPDIR)/rules.mk PKG_NAME:=snowflake PKG_VERSION:=2.8.1 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git PKG_SOURCE_VERSION:=v$(PKG_VERSION) PKG_MIRROR_HASH:=27561a12117762cce618890202a906c582b7858356b315c93b316e8acb289b57 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Daniel Golle , Nick Hainke PKG_BUILD_DEPENDS:=golang/host PKG_BUILD_PARALLEL:=1 PKG_BUILD_FLAGS:=no-mips16 GO_PKG:=gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2 include $(INCLUDE_DIR)/package.mk include ../../lang/golang/golang-package.mk define Package/snowflake/Default TITLE:=Snowflake URL:=https://snowflake.torproject.org/ DEPENDS:=$(GO_ARCH_DEPENDS) SECTION:=net CATEGORY:=Network USERID:=snowflake:snowflake endef define Package/snowflake-broker $(call Package/snowflake/Default) TITLE+= Broker endef define Package/snowflake-client $(call Package/snowflake/Default) TITLE+= Client endef define Package/snowflake-probetest $(call Package/snowflake/Default) TITLE+= Probe test endef define Package/snowflake-proxy $(call Package/snowflake/Default) TITLE+= Proxy endef define Package/snowflake-server $(call Package/snowflake/Default) TITLE+= Server endef define Package/snowflake/description/Default Snowflake is a system that allows people from all over the world to access censored websites and applications. Similar to how VPNs assist users in getting around Internet censorship, Snowflake helps you avoid being noticed by Internet censors by making your Internet activity appear as though you're using the Internet for a regular video or voice call. endef define Package/snowflake-broker/description $(call Package/snowflake/description/Default) This package provides the Snowflake broker service. endef define Package/snowflake-client/description $(call Package/snowflake/description/Default) This package contains the Snowflake client which provides the bridge to TOR. endef define Package/snowflake-probetest/description $(call Package/snowflake/description/Default) This package provides the Snowflake probe test. endef define Package/snowflake-proxy/description $(call Package/snowflake/description/Default) This package provides the standalone Snowflake proxy. endef define Package/snowflake-server/description $(call Package/snowflake/description/Default) This package provides the Snowflake server. endef define Package/snowflake-broker/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/broker $(1)/usr/bin/snowflake-broker endef define Package/snowflake-client/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/client $(1)/usr/bin/snowflake-client endef define Package/snowflake-probetest/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/probetest $(1)/usr/bin/snowflake-probetest endef define Package/snowflake-proxy/install $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/proxy $(1)/usr/bin/snowflake-proxy $(INSTALL_BIN) ./files/snowflake-proxy.init $(1)/etc/init.d/snowflake-proxy endef define Package/snowflake-server/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/server $(1)/usr/bin/snowflake-server endef $(eval $(call BuildPackage,snowflake-broker)) $(eval $(call BuildPackage,snowflake-client)) $(eval $(call BuildPackage,snowflake-probetest)) $(eval $(call BuildPackage,snowflake-proxy)) $(eval $(call BuildPackage,snowflake-server))