11include $(TOPDIR ) /rules.mk
22
33PKG_NAME: =frp
4- PKG_VERSION: =0.66 .0
4+ PKG_VERSION: =0.67 .0
55PKG_RELEASE: =1
66
7- PKG_SOURCE: =$(PKG_NAME ) -$(PKG_VERSION ) .tar.gz
8- PKG_SOURCE_URL: =https://codeload.github.com/fatedier/frp/tar.gz/v${PKG_VERSION}?
9- PKG_HASH: =afe1aca9f6e7680a95652e8acf84aef4a74bcefe558b5b91270876066fff3019
10-
117PKG_MAINTAINER: =
128PKG_LICENSE: =Apache-2.0
139PKG_LICENSE_FILES: =LICENSE
1410
15- PKG_BUILD_DEPENDS: =golang/host
16- PKG_BUILD_PARALLEL: =1
17- PKG_BUILD_FLAGS: =no-mips16
11+ USE_PREBUILT: =0
12+
13+ ifeq ($(ARCH ) ,x86_64)
14+ USE_PREBUILT: =1
15+ PKG_ARCH: =amd64
16+ PKG_HASH: =f8629ca7ca56b8e7e7a9903779b8d5c47c56ad1b75b99b2d7138477acc4c7105
17+ else ifeq ($(ARCH),arm)
18+ USE_PREBUILT: =1
19+ PKG_ARCH: =arm
20+ PKG_HASH: =d6b3cef9a7ebb2d954dc402626a9061933eec2be9d461c820a7c15ae74f7e59a
21+ else ifeq ($(ARCH),aarch64)
22+ USE_PREBUILT: =1
23+ PKG_ARCH: =arm64
24+ PKG_HASH: =0e9683226acdcbbb2ac8d073f35ba8be2a8b1e7584684d2073f39d337ebd6de7
25+ else ifeq ($(ARCH),mipsel)
26+ USE_PREBUILT: =1
27+ PKG_ARCH: =mipsle
28+ PKG_HASH: =fe825a71ccdf247edc71e5b034d2b784790d72c2977a08cf021936d6d3bcbd3d
29+ else ifeq ($(ARCH),mips)
30+ USE_PREBUILT: =1
31+ PKG_ARCH: =mips
32+ PKG_HASH: =62f0a672897975f20ace4788dd411360ce65962a0c2169ff241a40d2fd793f3b
33+ else ifeq ($(ARCH),mips64)
34+ USE_PREBUILT: =1
35+ PKG_ARCH: =mips64
36+ PKG_HASH: =7051bc691c655ff287840c82015d5efa29c4a3afbaceead9c2d0e1d2e8f7695a
37+ else ifeq ($(ARCH),mips64el)
38+ USE_PREBUILT: =1
39+ PKG_ARCH: =mips64le
40+ PKG_HASH: =a259d498d890fabd7d1da70efde47f4e6293cecf5a429c55d3f26c3566519dad
41+ else ifeq ($(ARCH),loongarch64)
42+ USE_PREBUILT: =1
43+ PKG_ARCH: =loong64
44+ PKG_HASH: =ee26af771409050098d9759e73675ba40fb96bc30e14a225cb3f79197f73cd54
45+ else ifeq ($(ARCH),riscv64)
46+ USE_PREBUILT: =1
47+ PKG_ARCH: =riscv64
48+ PKG_HASH: =c22b9280bbdd7976af25f43f58fd7a674f5f44738b1004bb83c7f41199f3c836
49+ endif
1850
19- GO_PKG: =github.com/fatedier/frp
20- GO_PKG_BUILD_PKG: =github.com/fatedier/frp/cmd/...
51+ ifeq ($(USE_PREBUILT ) ,1)
52+ PKG_SOURCE: =frp_$(PKG_VERSION ) _linux_$(PKG_ARCH ) .tar.gz
53+ PKG_SOURCE_URL: =https://github.com/fatedier/frp/releases/download/v$(PKG_VERSION ) /
54+ PKG_BUILD_DIR: =$(BUILD_DIR ) /$(PKG_NAME ) -$(PKG_VERSION )
55+ else
56+ PKG_SOURCE: =$(PKG_NAME ) -$(PKG_VERSION ) .tar.gz
57+ PKG_SOURCE_URL: =https://codeload.github.com/fatedier/frp/tar.gz/v$(PKG_VERSION ) ?
58+ PKG_HASH: =18d0a35b965fab7e348aafc7b587847dd04ef2ef84822ed8fd5b9fe46b7ff6d7
59+
60+ PKG_BUILD_DEPENDS: =golang/host
61+ PKG_BUILD_PARALLEL: =1
62+ PKG_BUILD_FLAGS: =no-mips16
63+
64+ GO_PKG: =github.com/fatedier/frp
65+ GO_PKG_BUILD_PKG: =github.com/fatedier/frp/cmd/...
66+ GO_PKG_LDFLAGS: =-s -w
67+ GO_PKG_LDFLAGS_X:=github.com/fatedier/frp/pkg/util/version.version =$(PKG_VERSION )
68+ endif
2169
2270include $(INCLUDE_DIR ) /package.mk
23- include ../../lang/golang/golang-package.mk
71+
72+ ifneq ($(USE_PREBUILT ) ,1)
73+ include ../../lang/golang/golang-package.mk
74+ endif
75+
76+ ifeq ($(USE_PREBUILT ) ,1)
77+ define Build/Prepare
78+ mkdir -p $(PKG_BUILD_DIR)
79+ tar -xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip-components=1
80+ endef
81+
82+ define Build/Compile
83+ true
84+ endef
85+ else
86+ define Build/Prepare
87+ $(call Build/Prepare/Default)
88+ mkdir -p $(PKG_BUILD_DIR)/web/frpc/dist
89+ mkdir -p $(PKG_BUILD_DIR)/web/frps/dist
90+ echo 'WebUI is not available in this build.' > $(PKG_BUILD_DIR)/web/frpc/dist/index.html
91+ echo 'WebUI is not available in this build.' > $(PKG_BUILD_DIR)/web/frps/dist/index.html
92+ endef
93+ endif
2494
2595define Package/frp/install
2696 $(INSTALL_DIR ) $(1 ) /usr/bin/
27- $(INSTALL_BIN ) $(GO_PKG_BUILD_BIN_DIR ) /$(2 ) $(1 ) /usr/bin/
28- $(INSTALL_DIR ) $(1 ) /etc/frp/$(2 ) .d/
29- $(INSTALL_DATA ) $(PKG_BUILD_DIR ) /conf/legacy/$(2 ) _legacy_full.ini $(1 ) /etc/frp/$(2 ) .d/
30- $(INSTALL_DATA ) $(PKG_BUILD_DIR ) /conf/$(2 ) _full_example.toml $(1 ) /etc/frp/$(2 ) .d/
3197 $(INSTALL_DIR ) $(1 ) /etc/config/
32- $(INSTALL_CONF ) ./files/$(2 ) .config $(1 ) /etc/config/$(2 )
3398 $(INSTALL_DIR ) $(1 ) /etc/init.d/
99+
100+ $(INSTALL_CONF ) ./files/$(2 ) .config $(1 ) /etc/config/$(2 )
34101 $(INSTALL_BIN ) ./files/$(2 ) .init $(1 ) /etc/init.d/$(2 )
35-
102+
36103 if [ -r ./files/$(2 ) .uci-defaults ]; then \
37104 $(INSTALL_DIR ) $(1 ) /etc/uci-defaults; \
38105 $(INSTALL_DATA ) ./files/$(2 ) .uci-defaults $(1 ) /etc/uci-defaults/$(2 ) ; \
39106 fi
107+
108+ if [ "$(USE_PREBUILT ) " = "1" ]; then \
109+ $(INSTALL_BIN ) $(PKG_BUILD_DIR ) /$(2 ) $(1 ) /usr/bin/; \
110+ else \
111+ $(INSTALL_BIN ) $(GO_PKG_BUILD_BIN_DIR ) /$(2 ) $(1 ) /usr/bin/; \
112+ fi
40113endef
41114
42115define Package/frp/template
@@ -46,12 +119,17 @@ define Package/frp/template
46119 SUBMENU:=Web Servers/Proxies
47120 TITLE:=$(1 ) - fast reverse proxy $(2 )
48121 URL:=https://github.com/fatedier/frp
49- DEPENDS:=$(GO_ARCH_DEPENDS )
122+ DEPENDS:=$(if $( filter 1, $( USE_PREBUILT ) ) ,+libpthread, $( GO_ARCH_DEPENDS ) )
50123 endef
51124
52125 define Package/$(1 ) /description
53- $(1 ) is a fast reverse proxy $(2 ) to help you expose a local server behind
54- a NAT or firewall to the internet.
126+ $(1 ) is a fast reverse proxy $(2 ) that helps you expose a local server
127+ behind a NAT or firewall to the internet.
128+
129+ This package uses precompiled binaries from official frp releases when
130+ available. On architectures without official binaries it is built from
131+ source without the full WebUI (static files), while the core proxy
132+ functionality remains fully available.
55133 endef
56134
57135 define Package/$(1 ) /conffiles
0 commit comments