forked from Openwrt-Passwall/openwrt-passwall
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
146 lines (118 loc) · 4.25 KB
/
Makefile
File metadata and controls
146 lines (118 loc) · 4.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# SPDX-License-Identifier: GPL-3.0-only
#
# Copyright (C) 2021 ImmortalWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=sagernet-core
BASE_VERSION:=5.0.17
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/SagerNet/v2ray-core.git
PKG_SOURCE_DATE:=2022-07-30
PKG_SOURCE_VERSION:=26e36b1cb46f387cacd65c1a5900be592913f842
PKG_MIRROR_HASH:=f8968ef7df8775f28c30f8115e2ce2e9324b1753526af6c89631edf1b1f56f8d
PKG_VERSION:=$(BASE_VERSION)-$(PKG_SOURCE_DATE)-$(call version_abbrev,$(PKG_SOURCE_VERSION))
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
GO_PKG:=github.com/v2fly/v2ray-core/v5
GO_PKG_BUILD_PKG:=$(GO_PKG)/main
GO_PKG_LDFLAGS_X:= \
$(GO_PKG).build=OpenWrt \
$(GO_PKG).version=$(BASE_VERSION)
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
define Package/sagernet/template
TITLE:=An enhanced v2ray edition for SagerNet
SECTION:=net
CATEGORY:=Network
URL:=https://sagernet.org
endef
define Package/sagernet-core
$(call Package/sagernet/template)
DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle
CONFLICTS:=v2ray-core xray-core
endef
define Package/sagernet-example
$(call Package/sagernet/template)
TITLE+= (example configs)
DEPENDS:=sagernet-core
CONFLICTS:=v2ray-example
PKGARCH:=all
endef
define Package/sagernet-extra
$(call Package/sagernet/template)
TITLE+= (extra resources)
DEPENDS:=sagernet-core
CONFLICTS:=v2ray-extra
PKGARCH:=all
endef
define Package/sagernet/description
Project V is a set of network tools that help you to build your own computer network.
It secures your network connections and thus protects your privacy.
endef
define Package/sagernet-core/description
$(call Package/sagernet/description)
This is a v2ray-core fork for SagerNet.
endef
define Package/sagernet-example/description
$(call Package/sagernet/description)
This includes example configuration files for sagernet-core.
endef
define Package/sagernet-extra/description
$(call Package/sagernet/description)
This includes extra resources for sagernet-core.
endef
define Package/sagernet-core/conffiles
/etc/config/v2ray
/etc/v2ray/
endef
LIBCORE_NAME:=LibSagerNetCore
LIBCORE_DATE:=2022-06-10
LIBCORE_VERSION:=9ef7ab1de7604ab959222d4de8ab6152a402e432
LIBCORE_FILE:=$(LIBCORE_NAME)-$(LIBCORE_DATE)-$(call version_abbrev,$(LIBCORE_VERSION)).tar.xz
define Download/libcore
PROTO:=git
URL:=https://github.com/SagerNet/LibSagerNetCore.git
VERSION:=$(LIBCORE_VERSION)
FILE:=$(LIBCORE_FILE)
SUBDIR:=$(LIBCORE_NAME)
MIRROR_HASH:=9420189c45d5fbe682acee1da0b8f727cc5ea8c847ceeff5b026cd71ce60cf0f
endef
define Build/Prepare
$(call Build/Prepare/Default)
xzcat $(DL_DIR)/$(LIBCORE_FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
$(CP) $(PKG_BUILD_DIR)/$(LIBCORE_NAME)/{obfs,ssr}.go \
$(PKG_BUILD_DIR)/proxy/shadowsocks/plugin/self/
$(SED) '/plugin\/self/d' -e 's/self.ParsePluginOptions/ParsePluginOptions/g' \
$(PKG_BUILD_DIR)/proxy/shadowsocks/plugin/self/obfs.go
$(SED) 's/package libcore/package self/g' \
$(PKG_BUILD_DIR)/proxy/shadowsocks/plugin/self/{obfs,ssr}.go
endef
define Package/sagernet-core/install
$(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
$(INSTALL_DIR) $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/main $(1)/usr/bin/v2ray
$(LN) v2ray $(1)/usr/bin/xray
$(INSTALL_DIR) $(1)/etc/v2ray/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/release/config/config.json $(1)/etc/v2ray/
$(INSTALL_DIR) $(1)/etc/config/
$(INSTALL_CONF) $(CURDIR)/files/v2ray.conf $(1)/etc/config/v2ray
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) $(CURDIR)/files/v2ray.init $(1)/etc/init.d/v2ray
endef
define Package/sagernet-example/install
$(INSTALL_DIR) $(1)/etc/v2ray/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/release/config/vpoint_socks_vmess.json $(1)/etc/v2ray/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/release/config/vpoint_vmess_freedom.json $(1)/etc/v2ray/
endef
define Package/sagernet-extra/install
$(INSTALL_DIR) $(1)/usr/share/v2ray/
$(CP) $(PKG_BUILD_DIR)/release/extra/* $(1)/usr/share/v2ray/
endef
$(eval $(call Download,libcore))
$(eval $(call BuildPackage,sagernet-core))
$(eval $(call BuildPackage,sagernet-example))
$(eval $(call BuildPackage,sagernet-extra))