Makefile 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  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 +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_Client:shadowsocksr-libev-ssr-redir \
  69. +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server:shadowsocksr-libev-ssr-check \
  70. +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan
  71. define Package/$(PKG_NAME)/config
  72. select PACKAGE_luci-lua-runtime if PACKAGE_$(PKG_NAME)
  73. choice
  74. prompt "Transparent Proxy Backend"
  75. default PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy if ! PACKAGE_firewall4
  76. default PACKAGE_$(PKG_NAME)_Nftables_Transparent_Proxy if PACKAGE_firewall4
  77. config PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy
  78. bool "Iptables Transparent Proxy"
  79. select PACKAGE_dnsmasq_full_ipset
  80. select PACKAGE_ipset
  81. select PACKAGE_iptables
  82. select PACKAGE_iptables-zz-legacy
  83. select PACKAGE_iptables-mod-conntrack-extra
  84. select PACKAGE_iptables-mod-iprange
  85. select PACKAGE_iptables-mod-socket
  86. select PACKAGE_iptables-mod-tproxy
  87. select PACKAGE_kmod-ipt-nat
  88. config PACKAGE_$(PKG_NAME)_Nftables_Transparent_Proxy
  89. bool "Nftables Transparent Proxy"
  90. select PACKAGE_dnsmasq_full_nftset
  91. select PACKAGE_nftables
  92. select PACKAGE_kmod-nft-socket
  93. select PACKAGE_kmod-nft-tproxy
  94. select PACKAGE_kmod-nft-nat
  95. endchoice
  96. choice
  97. prompt "Shadowsocks Client Selection"
  98. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client if aarch64 || x86_64
  99. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client
  100. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_NONE_Client
  101. bool "None"
  102. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client
  103. bool "Shadowsocks-libev"
  104. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client
  105. bool "Shadowsocks-rust"
  106. depends on aarch64||arm||i386||mips||mipsel||x86_64
  107. depends on !(TARGET_x86_geode||TARGET_x86_legacy)
  108. endchoice
  109. choice
  110. prompt "Shadowsocks Server Selection"
  111. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server if aarch64
  112. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server if i386||x86_64||arm
  113. default PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_NONE_Server
  114. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_NONE_Server
  115. bool "None"
  116. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server
  117. bool "Shadowsocks-libev"
  118. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server
  119. bool "Shadowsocks-rust"
  120. depends on aarch64||arm||i386||mips||mipsel||x86_64
  121. depends on !(TARGET_x86_geode||TARGET_x86_legacy)
  122. endchoice
  123. choice
  124. prompt "V2ray-core Selection"
  125. default PACKAGE_$(PKG_NAME)_INCLUDE_Xray if aarch64||arm||i386||x86_64
  126. default PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY
  127. config PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY
  128. bool "None"
  129. config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray
  130. bool "V2ray-core"
  131. config PACKAGE_$(PKG_NAME)_INCLUDE_Xray
  132. bool "Xray-core"
  133. endchoice
  134. config PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
  135. bool "Include ChinaDNS-NG"
  136. default n
  137. config PACKAGE_$(PKG_NAME)_INCLUDE_DNS2SOCKS
  138. bool "Include DNS2socks"
  139. default y
  140. config PACKAGE_$(PKG_NAME)_INCLUDE_DNS2SOCKS_RUST
  141. bool "Include DNS2socks-Rust"
  142. default n
  143. config PACKAGE_$(PKG_NAME)_INCLUDE_DNSPROXY
  144. bool "Include DNSproxy"
  145. default n
  146. config PACKAGE_$(PKG_NAME)_INCLUDE_MosDNS
  147. bool "Include MosDNS"
  148. default y if aarch64||arm||i386||x86_64
  149. config PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria
  150. bool "Include Hysteria"
  151. select PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
  152. default n
  153. config PACKAGE_$(PKG_NAME)_INCLUDE_Tuic_Client
  154. bool "Include Tuic-Client"
  155. select PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
  156. select PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
  157. depends on aarch64||arm||i386||x86_64
  158. depends on !(TARGET_x86_geode||TARGET_x86_legacy)
  159. default n
  160. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadow_TLS
  161. bool "Include Shadow-TLS"
  162. select PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
  163. select PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client
  164. depends on aarch64||arm||x86_64
  165. depends on !(TARGET_x86_geode||TARGET_x86_legacy)
  166. default n
  167. config PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
  168. bool "Include IPT2Socks"
  169. default n
  170. config PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun
  171. bool "Include Kcptun"
  172. default n
  173. config PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy
  174. bool "Include NaiveProxy"
  175. depends on !(arc||armeb||mips||mips64||powerpc||TARGET_gemini)
  176. default n
  177. config PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2
  178. bool "Include Redsocks2"
  179. default n
  180. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Simple_Obfs
  181. bool "Include Shadowsocks Simple Obfs Plugin"
  182. default y
  183. config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_V2ray_Plugin
  184. bool "Include Shadowsocks V2ray Plugin"
  185. default n
  186. config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client
  187. bool "Include ShadowsocksR Libev Client"
  188. default y
  189. config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server
  190. bool "Include ShadowsocksR Libev Server"
  191. default y if i386||x86_64||arm
  192. config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan
  193. bool "Include Trojan"
  194. select PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
  195. default n
  196. endef
  197. define Package/$(PKG_NAME)/conffiles
  198. /etc/config/shadowsocksr
  199. /etc/ssrplus/
  200. endef
  201. include $(TOPDIR)/feeds/luci/luci.mk
  202. # call BuildPackage - OpenWrt buildroot signature