You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.5 KiB

  1. #
  2. # Copyright (C) 2018 Jeffery To
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=obfs4proxy
  9. PKG_VERSION:=0.0.9
  10. PKG_RELEASE:=1
  11. PKG_SOURCE:=obfs4-$(PKG_NAME)-$(PKG_VERSION).tar.bz2
  12. PKG_SOURCE_URL:=https://gitlab.com/yawning/obfs4/-/archive/$(PKG_NAME)-$(PKG_VERSION)/
  13. PKG_HASH:=ab2608014fae15b4e0dad2f8128e81f912ab27277539004b759180c1fb5007dd
  14. PKG_BUILD_DIR:=$(BUILD_DIR)/obfs4-$(PKG_NAME)-$(PKG_VERSION)
  15. PKG_LICENSE:=BSD-2-Clause
  16. PKG_LICENSE_FILES:=LICENSE
  17. PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
  18. PKG_BUILD_DEPENDS:=golang/host
  19. PKG_BUILD_PARALLEL:=1
  20. PKG_USE_MIPS16:=0
  21. GO_PKG:=gitlab.com/yawning/obfs4.git
  22. include $(INCLUDE_DIR)/package.mk
  23. include ../../lang/golang/golang-package.mk
  24. define Package/obfs4proxy/Default
  25. TITLE:=A Tor pluggable transport proxy, implementing obfs4
  26. URL:=https://gitlab.com/yawning/obfs4
  27. DEPENDS:=$(GO_ARCH_DEPENDS)
  28. endef
  29. define Package/obfs4proxy
  30. $(call Package/obfs4proxy/Default)
  31. SECTION:=net
  32. CATEGORY:=Network
  33. endef
  34. define Package/golang-gitlab-yawning-obfs4-dev
  35. $(call Package/obfs4proxy/Default)
  36. $(call GoPackage/GoSubMenu)
  37. TITLE+= (source files)
  38. DEPENDS+= \
  39. +golang-github-agl-ed25519-dev \
  40. +golang-github-dchest-siphash-dev \
  41. +golang-golang-x-crypto-dev \
  42. +golang-golang-x-net-dev \
  43. +golang-torproject-pluggable-transports-goptlib-dev
  44. PKGARCH:=all
  45. endef
  46. define Package/obfs4proxy/Default/description
  47. obfs4proxy is a tool that attempts to circumvent censorship by
  48. transforming the Tor traffic between the client and the bridge. This way
  49. censors, who usually monitor traffic between the client and the bridge,
  50. will see innocent-looking transformed traffic instead of the actual Tor
  51. traffic.
  52. obfs4proxy implements the obfsucation protocols obfs2, obfs3, and obfs4.
  53. It is written in Go and is compliant with the Tor pluggable transports
  54. specification, and its modular architecture allows it to support
  55. multiple pluggable transports.
  56. endef
  57. define Package/obfs4proxy/description
  58. $(call Package/obfs4proxy/Default/description)
  59. This package contains both the client and the bridge in a single
  60. program.
  61. endef
  62. define Package/golang-gitlab-yawning-obfs4-dev/description
  63. $(call Package/obfs4proxy/Default/description)
  64. This package provides the source files for the client/bridge program.
  65. endef
  66. $(eval $(call GoBinPackage,obfs4proxy))
  67. $(eval $(call BuildPackage,obfs4proxy))
  68. $(eval $(call GoSrcPackage,golang-gitlab-yawning-obfs4-dev))
  69. $(eval $(call BuildPackage,golang-gitlab-yawning-obfs4-dev))