1 include $(TOPDIR
)/rules.mk
7 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
8 PKG_SOURCE_URL
:=https
://codeload.github.com
/SagerNet
/sing-box
/tar.gz
/v
$(PKG_VERSION
)?
9 PKG_HASH
:=2fdf93fd49c9375cd14b2fe2e2163cbad4b65d0cfa422c592855e7810036ef56
11 PKG_LICENSE
:=GPL-3.0
-or-later
12 PKG_LICENSE_FILES
:=LICENSE
13 PKG_MAINTAINER
:=Van Waholtz
<brvphoenix@gmail.com
>
15 PKG_BUILD_DEPENDS
:=golang
/host
19 GO_PKG
:=github.com
/sagernet
/sing-box
20 GO_PKG_BUILD_PKG
:=$(GO_PKG
)/cmd
/sing-box
22 include $(INCLUDE_DIR
)/package.mk
23 include ..
/..
/lang
/golang
/golang-package.mk
25 define Package
/sing-box
26 TITLE
:=The universal proxy platform
29 URL
:=https
://sing-box.sagernet.org
30 DEPENDS
:=$(GO_ARCH_DEPENDS
) +ca-bundle
+kmod-inet-diag
+kmod-tun
31 USERID
:=sing-box
=5566:sing-box
=5566
34 define Package
/sing-box
/description
35 Sing-box is a universal proxy platform which supports hysteria
, SOCKS
, Shadowsocks
,
36 ShadowsocksR
, ShadowTLS
, Tor
, trojan
, VLess
, VMess
, WireGuard and so on.
39 define Package
/sing-box
/config
40 menu
"Select build options"
41 depends on PACKAGE_sing-box
43 config SINGBOX_WITH_ACME
44 bool
"Build with ACME TLS certificate issuer support"
46 config SINGBOX_WITH_CLASH_API
47 bool
"Build with Clash API support"
50 config SINGBOX_WITH_ECH
51 bool
"Build with TLS ECH extension support for TLS outbound"
53 config SINGBOX_WITH_EMBEDDED_TOR
54 bool
"Build with embedded Tor support"
56 config SINGBOX_WITH_GRPC
57 bool
"Build with standard gRPC support"
59 config SINGBOX_WITH_GVISOR
60 bool
"Build with gVisor support"
63 config SINGBOX_WITH_LWIP
64 bool
"Build with LWIP Tun stack support"
66 config SINGBOX_WITH_QUIC
67 bool
"Build with QUIC support"
70 config SINGBOX_WITH_SHADOWSOCKSR
71 bool
"Build with ShadowsocksR support"
73 config SINGBOX_WITH_UTLS
74 bool
"Build with uTLS support for TLS outbound"
77 config SINGBOX_WITH_V2RAY_API
78 bool
"Build with V2Ray API support"
80 config SINGBOX_WITH_WIREGUARD
81 bool
"Build with WireGuard support"
86 PKG_CONFIG_DEPENDS
:= \
87 CONFIG_SINGBOX_WITH_ACME \
88 CONFIG_SINGBOX_WITH_CLASH_API \
89 CONFIG_SINGBOX_WITH_ECH \
90 CONFIG_SINGBOX_WITH_EMBEDDED_TOR \
91 CONFIG_SINGBOX_WITH_GRPC \
92 CONFIG_SINGBOX_WITH_GVISOR \
93 CONFIG_SINGBOX_WITH_LWIP \
94 CONFIG_SINGBOX_WITH_QUIC \
95 CONFIG_SINGBOX_WITH_SHADOWSOCKSR \
96 CONFIG_SINGBOX_WITH_UTLS \
97 CONFIG_SINGBOX_WITH_V2RAY_API \
98 CONFIG_SINGBOX_WITH_WIREGUARD
100 GO_PKG_TAGS
:=$(subst $(space
),$(comma
),$(strip \
101 $(if
$(CONFIG_SINGBOX_WITH_ACME
),with_acme
) \
102 $(if
$(CONFIG_SINGBOX_WITH_CLASH_API
),with_clash_api
) \
103 $(if
$(CONFIG_SINGBOX_WITH_ECH
),with_ech
) \
104 $(if
$(CONFIG_SINGBOX_WITH_EMBEDDED_TOR
),with_embedded_tor
) \
105 $(if
$(CONFIG_SINGBOX_WITH_GRPC
),with_grpc
) \
106 $(if
$(CONFIG_SINGBOX_WITH_GVISOR
),with_gvisor
) \
107 $(if
$(CONFIG_SINGBOX_WITH_LWIP
),with_lwip
) \
108 $(if
$(CONFIG_SINGBOX_WITH_QUIC
),with_quic
) \
109 $(if
$(CONFIG_SINGBOX_WITH_SHADOWSOCKSR
),with_shadowsocksr
) \
110 $(if
$(CONFIG_SINGBOX_WITH_UTLS
),with_utls
) \
111 $(if
$(CONFIG_SINGBOX_WITH_V2RAY_API
),with_v2ray_api
) \
112 $(if
$(CONFIG_SINGBOX_WITH_WIREGUARD
),with_wireguard
) \
115 define Package
/sing-box
/conffiles
120 define Package
/sing-box
/install
121 $(INSTALL_DIR
) $(1)/usr
/bin
/
122 $(INSTALL_BIN
) $(GO_PKG_BUILD_BIN_DIR
)/sing-box
$(1)/usr
/bin
/sing-box
124 $(INSTALL_DIR
) $(1)/etc
/sing-box
125 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/release
/config
/config.json
$(1)/etc
/sing-box
127 $(INSTALL_DIR
) $(1)/etc
/config
/
128 $(INSTALL_CONF
) .
/files
/sing-box.conf
$(1)/etc
/config
/sing-box
129 $(INSTALL_DIR
) $(1)/etc
/init.d
/
130 $(INSTALL_BIN
) .
/files
/sing-box.init
$(1)/etc
/init.d
/sing-box
133 $(eval
$(call BuildPackage
,sing-box
))