1 include $(TOPDIR
)/rules.mk
8 PKG_SOURCE_URL
=https
://gitlab.torproject.org
/tpo
/anti-censorship
/pluggable-transports
/snowflake.git
9 PKG_SOURCE_VERSION
:=v
$(PKG_VERSION
)
10 PKG_MIRROR_HASH
:=20ff3c292be6d91f535b009b95578d708daeb8b88cc2290e69feade7b844bf60
12 PKG_LICENSE
:=BSD-3-Clause
13 PKG_LICENSE_FILES
:=LICENSE
14 PKG_MAINTAINER
:=Daniel Golle
<daniel@makrotopia.org
>, Nick Hainke
<vincent@systemli.org
>
16 PKG_BUILD_DEPENDS
:=golang
/host
18 PKG_BUILD_FLAGS
:=no-mips16
20 GO_PKG
:=gitlab.torproject.org
/tpo
/anti-censorship
/pluggable-transports
/snowflake
/v2
22 include $(INCLUDE_DIR
)/package.mk
23 include ..
/..
/lang
/golang
/golang-package.mk
25 define Package
/snowflake
/Default
27 URL
:=https
://snowflake.torproject.org
/
28 DEPENDS
:=$(GO_ARCH_DEPENDS
)
31 USERID
:=snowflake
:snowflake
34 define Package
/snowflake-broker
35 $(call Package
/snowflake
/Default
)
39 define Package
/snowflake-client
40 $(call Package
/snowflake
/Default
)
44 define Package
/snowflake-probetest
45 $(call Package
/snowflake
/Default
)
49 define Package
/snowflake-proxy
50 $(call Package
/snowflake
/Default
)
54 define Package
/snowflake-server
55 $(call Package
/snowflake
/Default
)
59 define Package
/snowflake
/description
/Default
60 Snowflake is a system that allows people from
all over the world to
61 access censored websites and applications. Similar to how VPNs assist
62 users in getting around Internet censorship
, Snowflake helps you avoid
63 being noticed by Internet censors by making your Internet activity appear
64 as though you
're using the Internet for a regular video or voice call.
67 define Package/snowflake-broker/description
68 $(call Package/snowflake/description/Default)
70 This package provides the Snowflake broker service.
73 define Package/snowflake-client/description
74 $(call Package/snowflake/description/Default)
76 This package contains the Snowflake client which provides the bridge to TOR.
79 define Package/snowflake-probetest/description
80 $(call Package/snowflake/description/Default)
82 This package provides the Snowflake probe test.
85 define Package/snowflake-proxy/description
86 $(call Package/snowflake/description/Default)
88 This package provides the standalone Snowflake proxy.
91 define Package/snowflake-server/description
92 $(call Package/snowflake/description/Default)
94 This package provides the Snowflake server.
97 define Package/snowflake-broker/install
98 $(INSTALL_DIR) $(1)/usr/bin
99 $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/broker $(1)/usr/bin/snowflake-broker
102 define Package/snowflake-client/install
103 $(INSTALL_DIR) $(1)/usr/bin
104 $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/client $(1)/usr/bin/snowflake-client
107 define Package/snowflake-probetest/install
108 $(INSTALL_DIR) $(1)/usr/bin
109 $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/probetest $(1)/usr/bin/snowflake-probetest
112 define Package/snowflake-proxy/install
113 $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d
114 $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/proxy $(1)/usr/bin/snowflake-proxy
115 $(INSTALL_BIN) ./files/snowflake-proxy.init $(1)/etc/init.d/snowflake-proxy
118 define Package/snowflake-server/install
119 $(INSTALL_DIR) $(1)/usr/bin
120 $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/server $(1)/usr/bin/snowflake-server
123 $(eval $(call BuildPackage,snowflake-broker))
124 $(eval $(call BuildPackage,snowflake-client))
125 $(eval $(call BuildPackage,snowflake-probetest))
126 $(eval $(call BuildPackage,snowflake-proxy))
127 $(eval $(call BuildPackage,snowflake-server))