Makefile 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. include $(TOPDIR)/rules.mk
  2. LUCI_TITLE:=luci-app-ssr-plus
  3. LUCI_PKGARCH:=all
  4. PKG_NAME:=luci-app-ssr-plus
  5. PKG_VERSION:=190
  6. PKG_RELEASE:=3
  7. PKG_CONFIG_DEPENDS:= \
  8. CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
  9. CONFIG_PACKAGE_$(PKG_NAME)_Nftables_Transparent_Proxy \
  10. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY \
  11. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \
  12. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray \
  13. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG \
  14. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_DNS2SOCKS \
  15. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_DNS2SOCKS_RUST \
  16. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_DNS2TCP \
  17. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_DNSPROXY \
  18. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_MosDNS \
  19. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria \
  20. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Tuic_Client \
  21. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadow_TLS \
  22. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks \
  23. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun \
  24. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy \
  25. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2 \
  26. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_NONE_Client \
  27. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client \
  28. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client \
  29. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_NONE_Server \
  30. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server \
  31. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server \
  32. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Simple_Obfs \
  33. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_V2ray_Plugin \
  34. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client \
  35. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server \
  36. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan
  37. LUCI_TITLE:=SS/SSR/V2Ray/Trojan/NaiveProxy/Tuic/ShadowTLS/Hysteria/Socks5/Tun LuCI interface
  38. LUCI_PKGARCH:=all
  39. LUCI_DEPENDS:= \
  40. +coreutils +coreutils-base64 +dns2tcp +dnsmasq-full \
  41. +jq +ip-full +lua +lua-neturl +libuci-lua +microsocks \
  42. +tcping +resolveip +shadowsocksr-libev-ssr-check +curl +nping \
  43. +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:curl \
  44. +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray-core \
  45. +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:curl \
  46. +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray-core \
  47. +PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG:chinadns-ng \
  48. +PACKAGE_$(PKG_NAME)_INCLUDE_DNS2SOCKS:dns2socks \
  49. +PACKAGE_$(PKG_NAME)_INCLUDE_DNS2SOCKS_RUST:dns2socks-rust \
  50. +PACKAGE_$(PKG_NAME)_INCLUDE_DNSPROXY:dnsproxy \
  51. +PACKAGE_$(PKG_NAME)_INCLUDE_MosDNS:mosdns \
  52. +PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria:hysteria \
  53. +PACKAGE_$(PKG_NAME)_INCLUDE_Tuic_Client:tuic-client \
  54. +PACKAGE_$(PKG_NAME)_INCLUDE_Shadow_TLS:shadow-tls \
  55. +PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks:ipt2socks \
  56. +PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun-client \
  57. +PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy:naiveproxy \
  58. +PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2:redsocks2 \
  59. +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-local \
  60. +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-redir \
  61. +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server:shadowsocks-libev-ss-server \
  62. +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client:shadowsocks-rust-sslocal \
  63. +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server:shadowsocks-rust-ssserver \
  64. +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Simple_Obfs:simple-obfs-client \
  65. +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_V2ray_Plugin:v2ray-plugin \
  66. +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client:shadowsocksr-libev-ssr-local \
  67. +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client:shadowsocksr-libev-ssr-redir \
  68. +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server:shadowsocksr-libev-ssr-server \
  69. +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan
  70. define Package/$(PKG_NAME)/config
  71. select PACKAGE_luci-lua-runtime if PACKAGE_$(PKG_NAME)
  72. choice
  73. prompt "Transparent Proxy Backend"
  74. default PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy if ! PACKAGE_firewall4
  75. default PACKAGE_$(PKG_NAME)_Nftables_Transparent_Proxy if PACKAGE_firewall4
  76. config PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy
  77. bool "Iptables Transparent Proxy"
  78. select PACKAGE_dnsmasq_full_ipset
  79. select PACKAGE_ipset
  80. select PACKAGE_iptables
  81. select PACKAGE_iptables-zz-legacy
  82. select PACKAGE_iptables-mod-conntrack-extra
  83. select PACKAGE_iptables-mod-iprange
  84. select PACKAGE_iptables-mod-socket
  85. select PACKAGE_iptables-mod-tproxy
  86. select PACKAGE_kmod-ipt-nat
  87. config PACKAGE_$(PKG_NAME)_Nftables_Transparent_Proxy
  88. bool "Nftables Transparent Proxy"
  89. select PACKAGE_dnsmasq_full_nftset
  90. select PACKAGE_nftables
  91. select PACKAGE_kmod-nft-socket
  92. select PACKAGE_kmod-nft-tproxy
  93. select PACKAGE_kmod-nft-nat
  94. endchoice
  95. choice
  96. prompt "Shadowsocks Client Selection"
  97. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client if aarch64 || x86_64
  98. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client
  99. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_NONE_Client
  100. bool "None"
  101. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client
  102. bool "Shadowsocks-libev"
  103. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client
  104. bool "Shadowsocks-rust"
  105. depends on aarch64||arm||i386||mips||mipsel||x86_64
  106. depends on !(TARGET_x86_geode||TARGET_x86_legacy)
  107. endchoice
  108. choice
  109. prompt "Shadowsocks Server Selection"
  110. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server if aarch64
  111. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server if i386||x86_64||arm
  112. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_NONE_Server
  113. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_NONE_Server
  114. bool "None"
  115. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server
  116. bool "Shadowsocks-libev"
  117. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server
  118. bool "Shadowsocks-rust"
  119. depends on aarch64||arm||i386||mips||mipsel||x86_64
  120. depends on !(TARGET_x86_geode||TARGET_x86_legacy)
  121. endchoice
  122. choice
  123. prompt "V2ray-core Selection"
  124. default PACKAGE_$(PKG_NAME)_INCLUDE_Xray if aarch64||arm||i386||x86_64
  125. default PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY
  126. config PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY
  127. bool "None"
  128. config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray
  129. bool "V2ray-core"
  130. config PACKAGE_$(PKG_NAME)_INCLUDE_Xray
  131. bool "Xray-core"
  132. endchoice
  133. config PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
  134. bool "Include ChinaDNS-NG"
  135. default n
  136. config PACKAGE_$(PKG_NAME)_INCLUDE_DNS2SOCKS
  137. bool "Include DNS2socks"
  138. default y
  139. config PACKAGE_$(PKG_NAME)_INCLUDE_DNS2SOCKS_RUST
  140. bool "Include DNS2socks-Rust"
  141. default n
  142. config PACKAGE_$(PKG_NAME)_INCLUDE_DNSPROXY
  143. bool "Include DNSproxy"
  144. default n
  145. config PACKAGE_$(PKG_NAME)_INCLUDE_MosDNS
  146. bool "Include MosDNS"
  147. default y if aarch64||arm||i386||x86_64
  148. config PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria
  149. bool "Include Hysteria"
  150. select PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
  151. default n
  152. config PACKAGE_$(PKG_NAME)_INCLUDE_Tuic_Client
  153. bool "Include Tuic-Client"
  154. select PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
  155. select PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
  156. depends on aarch64||arm||i386||x86_64
  157. depends on !(TARGET_x86_geode||TARGET_x86_legacy)
  158. default n
  159. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadow_TLS
  160. bool "Include Shadow-TLS"
  161. select PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
  162. select PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client
  163. depends on aarch64||arm||x86_64
  164. depends on !(TARGET_x86_geode||TARGET_x86_legacy)
  165. default n
  166. config PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
  167. bool "Include IPT2Socks"
  168. default n
  169. config PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun
  170. bool "Include Kcptun"
  171. default n
  172. config PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy
  173. bool "Include NaiveProxy"
  174. depends on !(arc||armeb||mips||mips64||powerpc||TARGET_gemini)
  175. default n
  176. config PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2
  177. bool "Include Redsocks2"
  178. default n
  179. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Simple_Obfs
  180. bool "Include Shadowsocks Simple Obfs Plugin"
  181. default y
  182. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_V2ray_Plugin
  183. bool "Include Shadowsocks V2ray Plugin"
  184. default n
  185. config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client
  186. bool "Include ShadowsocksR Libev Client"
  187. default y
  188. config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server
  189. bool "Include ShadowsocksR Libev Server"
  190. default y if i386||x86_64||arm
  191. config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan
  192. bool "Include Trojan"
  193. select PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
  194. default n
  195. endef
  196. define Package/$(PKG_NAME)/conffiles
  197. /etc/config/shadowsocksr
  198. /etc/ssrplus/
  199. endef
  200. include $(TOPDIR)/feeds/luci/luci.mk
  201. # call BuildPackage - OpenWrt buildroot signature