Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
46991afe7c
@ -199,19 +199,23 @@ endef
|
||||
# Only intends to be called as a submethod from other DownloadMethod
|
||||
define DownloadMethod/rawgit
|
||||
echo "Checking out files from the git repository..."; \
|
||||
mkdir -p $(TMP_DIR)/dl && \
|
||||
cd $(TMP_DIR)/dl && \
|
||||
rm -rf $(SUBDIR) && \
|
||||
[ \! -d $(SUBDIR) ] && \
|
||||
git clone $(OPTS) $(URL) $(SUBDIR) && \
|
||||
(cd $(SUBDIR) && git checkout $(VERSION) && \
|
||||
git submodule update --init --recursive) && \
|
||||
echo "Packing checkout..." && \
|
||||
export TAR_TIMESTAMP=`cd $(SUBDIR) && git log -1 --format='@%ct'` && \
|
||||
rm -rf $(SUBDIR)/.git && \
|
||||
$(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \
|
||||
mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \
|
||||
rm -rf $(SUBDIR);
|
||||
for eachurl in $(URL); \
|
||||
do \
|
||||
mkdir -p $(TMP_DIR)/dl && \
|
||||
cd $(TMP_DIR)/dl && \
|
||||
rm -rf $(SUBDIR) && \
|
||||
[ \! -d $(SUBDIR) ] && \
|
||||
git clone $(OPTS) $$$${eachurl} $(SUBDIR) && \
|
||||
(cd $(SUBDIR) && git checkout $(VERSION) && \
|
||||
git submodule update --init --recursive) && \
|
||||
echo "Packing checkout..." && \
|
||||
export TAR_TIMESTAMP=`cd $(SUBDIR) && git log -1 --format='@%ct'` && \
|
||||
rm -rf $(SUBDIR)/.git && \
|
||||
$(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \
|
||||
mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \
|
||||
rm -rf $(SUBDIR) && \
|
||||
break; \
|
||||
done;
|
||||
endef
|
||||
|
||||
define DownloadMethod/bzr
|
||||
|
||||
@ -152,9 +152,6 @@ $(eval $(call nf_add,IPT_IPSEC,CONFIG_NETFILTER_XT_MATCH_POLICY, $(P_XT)xt_polic
|
||||
# flow offload support
|
||||
$(eval $(call nf_add,IPT_FLOW,CONFIG_NETFILTER_XT_TARGET_FLOWOFFLOAD, $(P_XT)xt_FLOWOFFLOAD))
|
||||
|
||||
# cgroup
|
||||
$(eval $(call nf_add,IPT_CGROUP,CONFIG_NETFILTER_XT_MATCH_CGROUP, $(P_XT)xt_cgroup))
|
||||
|
||||
# IPv6
|
||||
|
||||
# kernel only
|
||||
|
||||
30
include/package-immortalwrt.mk
Normal file
30
include/package-immortalwrt.mk
Normal file
@ -0,0 +1,30 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# Copyright (C) 2019-2021 ImmortalWrt.org
|
||||
|
||||
PKG_RELEASE ?= $(AUTORELESE)
|
||||
|
||||
ifndef PKG_SOURCE_VERSION
|
||||
PKG_SOURCE ?= $(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
endif
|
||||
|
||||
ifeq ($(PKG_SOURCE_PROTO),git)
|
||||
ifdef PKG_SOURCE_REPO
|
||||
PKG_SOURCE_URL:= \
|
||||
https://ghproxy.com/https://github.com/$(PKG_SOURCE_REPO).git \
|
||||
https://github.com.cnpmjs.org/$(PKG_SOURCE_REPO).git \
|
||||
https://pd.zwc365.com/seturl/https://github.com/$(PKG_SOURCE_REPO).git \
|
||||
https://hub.fastgit.org/$(PKG_SOURCE_REPO).git \
|
||||
https://github.com/$(PKG_SOURCE_REPO).git
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(filter $(PKG_BUILD_DEPENDS),golang/host),)
|
||||
GO_PKG_LDFLAGS ?= -s -w
|
||||
PKG_USE_MIPS16 ?= 0
|
||||
endif
|
||||
|
||||
HOST_BUILD_PARALLEL ?= 1
|
||||
PKG_BUILD_PARALLEL ?= 1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
@ -13,9 +13,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ChinaDNS
|
||||
PKG_VERSION:=2.0.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHREPO/lrinQVQ/openwrt-chinadns/releases/download/v$(PKG_VERSION)
|
||||
PKG_HASH:=caab37a27c444d917f0b92c65d7082543dc22acc7c24322be07a108a44794369
|
||||
|
||||
@ -24,10 +22,9 @@ PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Jian Chang <aa65535@live.com>
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/ChinaDNS
|
||||
SECTION:=net
|
||||
|
||||
@ -10,7 +10,7 @@ PKG_NAME:=GoQuiet
|
||||
PKG_VERSION:=1.2.2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/cbeuw/GoQuiet.git
|
||||
PKG_SOURCE_REPO:=cbeuw/GoQuiet
|
||||
PKG_SOURCE_VERSION:=013cdfdf72000dcd4691799c37a0cf960ab4c82f
|
||||
PKG_MIRROR_HASH:=c9c97463e5286e8ad10de5e86512b98f60672235c47cfd9696188a16496fc56c
|
||||
|
||||
@ -18,18 +18,15 @@ PKG_LICENSE:=GPL-3.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_GQ_CLIENT_COMPRESS_UPX \
|
||||
CONFIG_GQ_SERVER_COMPRESS_UPX
|
||||
|
||||
GO_PKG:=github.com/cbeuw/GoQuiet
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
GO_PKG_LDFLAGS_X:=main.version=$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/GoQuiet/template
|
||||
|
||||
@ -10,10 +10,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=annie
|
||||
PKG_VERSION:=0.10.3
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/iawia002/annie.git
|
||||
PKG_SOURCE_REPO:=iawia002/annie
|
||||
PKG_SOURCE_DATE:=2020-12-15
|
||||
PKG_SOURCE_VERSION:=abc3c9df18173c91a5ca7a77fecc0665dea01aa1
|
||||
PKG_MIRROR_HASH:=d49d79c342377a1edbf6870f7dd49cb4de70718934151793298004db72fc538a
|
||||
@ -27,14 +26,11 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_ANNIE_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/iawia002/annie
|
||||
GO_PKG_BUILD_PKG:=$$(GO_PKG)
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/annie
|
||||
|
||||
@ -9,7 +9,6 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=bpytop
|
||||
PKG_VERSION:=1.0.62
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PYPI_NAME:=bpytop
|
||||
PKG_HASH:=9a408ffe6575c4e20621215e532b206fe6b6d2e7e4bd053ab4b4906e6d7ba909
|
||||
@ -18,7 +17,7 @@ PKG_LICENSE:=Apache-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(TOPDIR)/feeds/packages/lang/python/pypi.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
|
||||
|
||||
define Package/bpytop
|
||||
|
||||
@ -10,9 +10,8 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=brcmfmac-firmware-4366c0-pcie-vendor
|
||||
PKG_VERSION:=1
|
||||
PKG_RELEASE:=4
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/brcmfmac-firmware-4366c0-pcie-vendor
|
||||
SECTION:=firmware
|
||||
|
||||
@ -9,9 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=brook
|
||||
PKG_VERSION:=20210214
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/txthinking/brook/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=a8e2e989f6d09e36c1fbe8593404d53a0615dc93e91a0be94dda898f0d55ff1d
|
||||
|
||||
@ -20,8 +18,6 @@ PKG_LICENSE:=GPL-3.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_BROOK_COMPRESS_GOPROXY \
|
||||
@ -29,9 +25,8 @@ PKG_CONFIG_DEPENDS:= \
|
||||
|
||||
GO_PKG:=github.com/txthinking/brook
|
||||
GO_PKG_BUILD_PKG:=github.com/txthinking/brook/cli/brook
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/brook
|
||||
|
||||
@ -10,9 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=CloudflareSpeedTest
|
||||
PKG_VERSION:=1.4.9
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/XIU2/CloudflareSpeedTest/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=7b7a18b54eae74d70f18105cc9c74822ce05336b2b894c59a388f46430733dcd
|
||||
|
||||
@ -25,13 +23,10 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_CDNSPEEDTEST_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=CloudflareSpeedTest
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/cdnspeedtest
|
||||
|
||||
@ -13,7 +13,7 @@ PKG_VERSION:=1.0-beta.24
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/zfl9/chinadns-ng.git
|
||||
PKG_SOURCE_REPO:=zfl9/chinadns-ng
|
||||
PKG_SOURCE_DATE:=2021-02-11
|
||||
PKG_SOURCE_VERSION:=df3bb7c6310df9b3c0f874b7a0c38ea5ce0996cb
|
||||
PKG_MIRROR_HASH:=4b0a159e1ecd81392a67b31528b0430afa991bfceef5dd60d2d843edfccb6b12
|
||||
@ -22,10 +22,9 @@ PKG_LICENSE:=GPL-3.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=pexcn <i@pexcn.me>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/chinadns-ng
|
||||
SECTION:=net
|
||||
|
||||
@ -11,9 +11,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=cpp-httplib
|
||||
PKG_VERSION:=0.5.7
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/yhirose/cpp-httplib/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=27b7f6346bdeb1ead9d17bd7cea89d9ad491f50f0479081053cc6e5742a89e64
|
||||
|
||||
@ -21,12 +19,10 @@ PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=ElonH <elonhhuang@gmail.com>
|
||||
|
||||
HOST_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/cpp-httplib
|
||||
|
||||
@ -9,15 +9,13 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=cups-bjnp
|
||||
PKG_VERSION:=2.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@SF/cups-bjnp
|
||||
PKG_HASH:=2acb716680d66f1378cf8dcd45fedf7f72ccc9b66fa80214d6dcb042b5e3c9ab
|
||||
|
||||
PKG_BUILD_DEPENDS:=cups
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/cups-bjnp
|
||||
SECTION:=net
|
||||
|
||||
@ -10,15 +10,12 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=cups
|
||||
PKG_VERSION:=2.1.4
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-source.tar.gz
|
||||
PKG_SOURCE_URL:=http://www.cups.org/software/$(PKG_VERSION)
|
||||
PKG_HASH:=4b14fd833180ac529ebebea766a09094c2568bf8426e219cb3a1715304ef728d
|
||||
|
||||
TARGET_LDFLAGS+=-Wl,-rpath-link=$(STAGING_DIR)/usr/lib
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/cups/Default
|
||||
URL:=http://www.cups.org/
|
||||
@ -155,6 +152,8 @@ define Package/libcupsppdc/description
|
||||
Common UNIX Printing System - PPDC library
|
||||
endef
|
||||
|
||||
TARGET_LDFLAGS+=-Wl,-rpath-link=$(STAGING_DIR)/usr/lib
|
||||
|
||||
define Build/Configure
|
||||
$(call Build/Configure/Default, \
|
||||
--with-cups-user="nobody" \
|
||||
|
||||
@ -5,13 +5,12 @@
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=cxxopts
|
||||
PKG_VERSION:=2.2.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/jarro2783/cxxopts/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=984aa3c8917d649b14d7f6277104ce38dd142ce378a9198ec926f03302399681
|
||||
|
||||
@ -19,10 +18,9 @@ PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
CMAKE_OPTIONS+= -DCXXOPTS_ENABLE_INSTALL=ON \
|
||||
|
||||
@ -4,14 +4,14 @@
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=duktape
|
||||
PKG_VERSION:=2.99.99-19cc8f5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/svaarala/duktape.git
|
||||
PKG_SOURCE_REPO:=svaarala/duktape
|
||||
PKG_MIRROR_HASH:=7e9caaf9c7e82bc01f859019359b3a13fa038f0e5e82a6541687a30c1ccfa604
|
||||
PKG_SOURCE_VERSION:=19cc8f5bb855791ff55cbf60d2cea72df485e86f
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
@ -27,9 +27,8 @@ PKG_BUILD_DEPENDS:=node/host
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_USE_MIPS16:=0
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/duktape
|
||||
SECTION:=utils
|
||||
@ -88,4 +87,4 @@ define Package/libduktape/install
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,duktape))
|
||||
$(eval $(call BuildPackage,libduktape))
|
||||
$(eval $(call BuildPackage,libduktape))
|
||||
|
||||
@ -7,33 +7,29 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=filebrowser
|
||||
PKG_VERSION:=2.11.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=2.13.0
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=948e05c
|
||||
PKG_SOURCE_VERSION:=e1f6586
|
||||
PKG_SOURCE_URL:=https://github.com/filebrowser/filebrowser
|
||||
PKG_MIRROR_HASH:=4a7a38a873129313ee53747774ca5371dd1d4790616bb0558d98fcf5555911c7
|
||||
PKG_MIRROR_HASH:=d2b9af0b58442f2e214a957cef455b9852e34203e813870f6e2166ea7cf407c7
|
||||
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host node/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_FILEBROWSER_COMPRESS_GOPROXY \
|
||||
CONFIG_FILEBROWSER_COMPRESS_UPX
|
||||
|
||||
GO_PKG:=github.com/filebrowser/filebrowser
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
GO_PKG_LDFLAGS_X:= \
|
||||
$(GO_PKG)/v2/version.CommitSHA=$(PKG_SOURCE_VERSION) \
|
||||
$(GO_PKG)/v2/version.Version=$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/filebrowser
|
||||
@ -68,16 +64,10 @@ endif
|
||||
|
||||
define Build/Compile
|
||||
( \
|
||||
cd $(PKG_BUILD_DIR) ; \
|
||||
rm -rf frontend/dist ; \
|
||||
rm -f http/rice-box.go ; \
|
||||
cd $(PKG_BUILD_DIR)/frontend ; \
|
||||
npm ci; \
|
||||
npm run lint ; \
|
||||
npm run build ; \
|
||||
GOOS=$$$$(go env GOOS) GOARCH=$$$$(go env GOARCH) GO111MODULE=off go get -v github.com/GeertJohan/go.rice/rice/... ; \
|
||||
cd $(PKG_BUILD_DIR)/http ; \
|
||||
"$$$$(go env GOPATH)/bin/rice" embed-go ; \
|
||||
$(call GoPackage/Build/Compile) ; \
|
||||
)
|
||||
ifeq ($(CONFIG_FILEBROWSER_COMPRESS_UPX),y)
|
||||
|
||||
@ -10,10 +10,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=go-nats
|
||||
PKG_VERSION:=0.0.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/enobufs/go-nats.git
|
||||
PKG_SOURCE_REPO:=enobufs/go-nats
|
||||
PKG_SOURCE_DATE:=2019-09-23
|
||||
PKG_SOURCE_VERSION:=4effc32e0f4006da0636b24f4468cf32ce494d71
|
||||
PKG_MIRROR_HASH:=52156d096ba21fdc18316040749b20868e500d7bd785a0d33533610ba7f7169b
|
||||
@ -27,13 +26,10 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_GO_NATS_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/enobufs/go-nats
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/go-nats
|
||||
|
||||
@ -10,9 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=gost
|
||||
PKG_VERSION:=2.11.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/ginuerzh/gost/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=d94b570a7a84094376b8c299d740528f51b540d9162f1db562247a15a89340bf
|
||||
|
||||
@ -25,14 +23,11 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_GOST_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/ginuerzh/gost
|
||||
GO_PKG_BUILD_PKG:=github.com/ginuerzh/gost/cmd/gost
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/gost
|
||||
|
||||
@ -10,9 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=gotop
|
||||
PKG_VERSION:=4.1.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/xxxserxxx/gotop/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=314dcfc4b0faa0bb735e5fa84b2406492bf94f7948af43e2b9d2982d69d542ed
|
||||
|
||||
@ -25,14 +23,11 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_GOTOP_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/xxxserxxx/gotop
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
GO_PKG_LDFLAGS_X:=main.Version=$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/gotop
|
||||
|
||||
@ -10,9 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=gowebdav
|
||||
PKG_VERSION:=0.0.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/1715173329/gowebdav/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=0a6a2af4f24905ffea247b6044d01129d938af4b3a256bf19b42c52bb452f947
|
||||
|
||||
@ -23,13 +21,10 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_GOWEBDAV_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/1715173329/gowebdav
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/gowebdav
|
||||
|
||||
@ -12,18 +12,16 @@ PKG_NAME:=ipt2socks-alt
|
||||
PKG_VERSION:=1.0.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/zfl9/ipt2socks/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=f247d72b61b1f40ce347904c43523bff257fc9f00ff269ecccf06f1d0f4b9d5e
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(firstword $(subst -, ,$(PKG_NAME)))-$(PKG_VERSION)
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
PKG_LICENSE:=AGPL-3.0
|
||||
PKG_LICENSE_FILE:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/ipt2socks-alt
|
||||
SECTION:=net
|
||||
|
||||
@ -5,13 +5,12 @@
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=jpcre2
|
||||
PKG_VERSION:=10.32.01
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/jpcre2/jpcre2/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=668cbc6d2c0a065bb6abe8494d5a1bb3549a14cd956a44a2df9095045623ea47
|
||||
|
||||
@ -20,10 +19,9 @@ PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_DEPENDS:=pcre2
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/jpcre2
|
||||
SECTION:=lib
|
||||
@ -39,7 +37,7 @@ endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/jpcre2.hpp $(1)/usr/include/jpcre2.hpp
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/jpcre2.hpp $(1)/usr/include/jpcre2.hpp
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,jpcre2))
|
||||
|
||||
@ -11,10 +11,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libtar
|
||||
PKG_VERSION:=1.2.20
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/ElonH/libtar.git
|
||||
PKG_SOURCE_REPO:=ElonH/libtar
|
||||
PKG_SOURCE_DATE:=2020-03-08
|
||||
PKG_SOURCE_VERSION:=987a29eaf8c68f8a502dd3880c58e0e1ef99d6a7
|
||||
PKG_MIRROR_HASH:=7d9d7d8d33d39ac1e6a586361247f53a33ad0063c3940521b431a7d9b6170eac
|
||||
@ -24,10 +23,9 @@ PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=ElonH <elonhhuang@gmail.com>
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
CONFIGURE_ARGS+= --enable-shared=yes --enable-static=no
|
||||
|
||||
|
||||
@ -12,19 +12,16 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mentohust
|
||||
PKG_VERSION:=0.3.1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/KyleRicardo/MentoHUST-OpenWrt-ipk.git
|
||||
PKG_SOURCE_REPO:=KyleRicardo/MentoHUST-OpenWrt-ipk
|
||||
PKG_SOURCE_DATE:=2018-11-27
|
||||
PKG_SOURCE_VERSION:=557cffca8032b6d8ac948be8a79255dc64a1915d
|
||||
PKG_MIRROR_HASH:=1db6cd4402ea3e1fa2adc3adcc1490fffdac224ae83024d883429b8b67fb9c74
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
MAKE_PATH:=src
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/mentohust
|
||||
SECTION:=net
|
||||
|
||||
@ -10,9 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=microsocks11
|
||||
PKG_VERSION:=2.3.0
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/EvanMcBroom/microsocks11/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=7b2f7c1fca9ba6cb135c9ec3f2f7304b6ccd790bc15318619f515b3b2e5e148e
|
||||
|
||||
@ -21,9 +19,8 @@ PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_DEPENDS:=cxxopts
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/microsocks11
|
||||
|
||||
@ -8,21 +8,18 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mt7601u-ap
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_REPO:=Anthony96922/mt7601u-ap
|
||||
PKG_SOURCE_DATE:=2020-05-01
|
||||
PKG_SOURCE_URL:=https://github.com/Anthony96922/mt7601u-ap.git
|
||||
PKG_SOURCE_VERSION:=624307427149e53b75937ccbe7cb235ec3ef2f58
|
||||
PKG_MIRROR_HASH:=70e8f7e94ddca09e1f55ef1b30a47fa7c504750ec654bc0c500f1a3d491eca97
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define KernelPackage/mt7601u-ap
|
||||
SUBMENU:=Wireless Drivers
|
||||
|
||||
@ -13,10 +13,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mwol
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_RELEASE=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/Mleaf/mwol.git
|
||||
PKG_SOURCE_REPO:=Mleaf/mwol
|
||||
PKG_SOURCE_DATE:=2020-01-08
|
||||
PKG_SOURCE_VERSION:=59f9805901b4ac2916a0273ffbc29197fcd17a62
|
||||
PKG_MIRROR_HASH:=64f88b81ed88b1695f240fe4c0414bd32a5cf6e53ea008c67713ae8315ff3d0d
|
||||
@ -25,9 +24,7 @@ PKG_LICENSE:=GPL-3.0
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
PKG_MAINTAINER:=mleaf <mleaf90@gmail.com>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/mwol
|
||||
|
||||
@ -5,13 +5,12 @@
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=naiveproxy
|
||||
PKG_VERSION:=89.0.4389.72-1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/klzgrad/naiveproxy/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=94b1c3f1e63ecab43eb8006a38ed1a76f1e510364ba651abaef0ec575449f687
|
||||
|
||||
@ -21,7 +20,6 @@ PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_DEPENDS:=ncurses/host ninja/host python3/host
|
||||
PKG_USE_MIPS16:=0
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
ifneq ($(CONFIG_CPU_TYPE)," ")
|
||||
CPU_TYPE:=$(word 1, $(subst +," ,$(CONFIG_CPU_TYPE)))
|
||||
@ -34,7 +32,7 @@ else
|
||||
CPU_SUBTYPE:=""
|
||||
endif
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/naiveproxy/config
|
||||
depends on !(arc||armeb||mips||mips64||powerpc)
|
||||
|
||||
@ -9,9 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=nps
|
||||
PKG_VERSION:=0.26.9
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/ehang-io/nps/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=7df414180ed4f0049dc08f0e3c625a6de4ebed34da591515f9514b3763dd578d
|
||||
|
||||
@ -24,14 +22,11 @@ PKG_CONFIG_DEPENDS := \
|
||||
CONFIG_NPS_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=ehang.io/nps
|
||||
GO_PKG_BUILD_PKG:=ehang.io/nps/cmd/...
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/nps/template
|
||||
|
||||
@ -11,20 +11,18 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ootoc
|
||||
PKG_VERSION:=2.2.3
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/ElonH/ootoc.git
|
||||
PKG_SOURCE_REPO:=ElonH/ootoc
|
||||
PKG_SOURCE_DATE:=2020-03-21
|
||||
PKG_SOURCE_VERSION:=8e7495e49018a100043b2e013b65b589900ddabe
|
||||
PKG_MIRROR_HASH:=9fe7b360241a070cfe623cd59330b7305a59d329056bbf04666f1840e3ec8988
|
||||
|
||||
PKG_MAINTAINER:=ElonH <elonhhuang@gmail.com>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
CMAKE_OPTIONS+= -DOOTOC_TEST:BOOL=OFF
|
||||
@ -50,4 +48,4 @@ define Package/ootoc/install
|
||||
$(INSTALL_BIN) ./files/ootoc.init $(1)/etc/init.d/ootoc
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ootoc))
|
||||
$(eval $(call BuildPackage,ootoc))
|
||||
|
||||
@ -1,17 +1,24 @@
|
||||
#
|
||||
# Copyright (C) 2021 ImmortalWrt
|
||||
# (https://immortalwrt.org)
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=open-app-filter
|
||||
PKG_VERSION:=5.0.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/destan19/OpenAppFilter.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_REPO:=destan19/OpenAppFilter
|
||||
PKG_SOURCE_DATE:=2021-03-08
|
||||
PKG_SOURCE_VERSION:=59aa2a1f40ebee65e48c7fd5d28d6c2706e60145
|
||||
PKG_MIRROR_HASH:=a969d5a5c16e418844a63fc6d23facb5ad0327d0bcadc72814bbecc2f9c4a099
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
RSTRIP:=:
|
||||
|
||||
|
||||
@ -5,20 +5,19 @@
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=parted
|
||||
PKG_VERSION:=3.3
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=parted-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@GNU/parted
|
||||
PKG_HASH:=57e2b4bd87018625c515421d4524f6e3b55175b472302056391c5f7eccb83d44
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/parted
|
||||
SECTION:=utils
|
||||
|
||||
@ -10,10 +10,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=phicomm-k3screenctrl
|
||||
PKG_VERSION:=1.0
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/lwz322/k3screenctrl.git
|
||||
PKG_SOURCE_REPO:=lwz322/k3screenctrl
|
||||
PKG_SOURCE_DATE:=2020-09-18
|
||||
PKG_SOURCE_VERSION:=d8896cfad4bdf39f58999f9420807f986300bada
|
||||
PKG_MIRROR_HASH:=9eab074f5ac366013d394be2c57905a8585439d1ca2a8b602a09a098a8aa8fb7
|
||||
@ -23,10 +22,9 @@ PKG_LICENSE_FILE:=LICENSE
|
||||
PKG_MAINTAINER:=Hamster Tian <haotia@gmail.com>
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
TARGET_CFLAGS+= -D_GNU_SOURCE
|
||||
|
||||
|
||||
@ -10,7 +10,6 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=quickjs
|
||||
PKG_VERSION:=2020-11-08
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://bellard.org/quickjs/
|
||||
@ -20,10 +19,9 @@ PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/quickjs
|
||||
SECTION:=lib
|
||||
|
||||
@ -9,15 +9,13 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=r8152
|
||||
PKG_VERSION:=2.14
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/wget/realtek-r8152-linux/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=617c159eb72355c240be3f78971e5a01c9dffe5545a7ae76bb2bd87bb7a346ed
|
||||
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/realtek-$(PKG_NAME)-linux-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define KernelPackage/usb-net-rtl8152-vendor
|
||||
TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
|
||||
|
||||
@ -9,11 +9,10 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=r8168
|
||||
PKG_VERSION:=8.048.03
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define KernelPackage/r8168
|
||||
TITLE:=Driver for Realtek r8168 chipsets
|
||||
|
||||
@ -5,14 +5,14 @@
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rapidjson
|
||||
PKG_VERSION:=1.1.0
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/Tencent/rapidjson.git
|
||||
PKG_SOURCE_REPO:=Tencent/rapidjson
|
||||
PKG_SOURCE_DATE:=2021-01-06
|
||||
PKG_SOURCE_VERSION:=585042c02ba6350e10fc43df8beee1bc097f4c5f
|
||||
PKG_MIRROR_HASH:=ef7d015b91f58355b02ce8356214ec7d6bdc3807d01b220834faa00afbcd7a7f
|
||||
@ -21,10 +21,9 @@ PKG_LICENSE:=BSD 3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
CMAKE_OPTIONS+= -DRAPIDJSON_BUILD_DOC=OFF \
|
||||
|
||||
@ -11,7 +11,6 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rclone-ng
|
||||
PKG_VERSION:=0.5.0
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=RcloneNg-v$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHREPO/ElonH/RcloneNg/releases/download/v$(PKG_VERSION)/
|
||||
@ -21,7 +20,7 @@ PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILE:=LICENSE
|
||||
PKG_MAINTAINER:=ElonH <elonhhuang@gmail.com>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
|
||||
|
||||
|
||||
@ -11,7 +11,6 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rclone-webui-react
|
||||
PKG_VERSION:=2.0.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
|
||||
PKG_SOURCE_URL:=@GHREPO/rclone/rclone-webui-react/releases/download/v$(PKG_VERSION)/currentbuild.zip?
|
||||
@ -21,7 +20,7 @@ PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILE:=LICENSE
|
||||
PKG_MAINTAINER:=ElonH <elonhhuang@gmail.com>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
UNZIP_CMD:=unzip -q -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE)
|
||||
|
||||
|
||||
@ -11,9 +11,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rclone
|
||||
PKG_VERSION:=1.53.4
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/rclone/rclone/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=acb53ccef1c1e638e53ca24933510d9be3666145372e1163470aa38414af8d48
|
||||
|
||||
@ -26,19 +24,16 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_RCLONE_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/rclone/rclone
|
||||
GO_PKG_EXCLUDES:=test
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
GO_PKG_LDFLAGS_X:= \
|
||||
github.com/rclone/rclone/fs.Version=v$(PKG_VERSION) \
|
||||
main.Version=v$(PKG_VERSION) \
|
||||
main.BuildUser=openwrt \
|
||||
main.BuildHost=openwrt
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/rclone
|
||||
|
||||
@ -8,20 +8,17 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rtl8188eu
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/aircrack-ng/rtl8188eus.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_REPO:=aircrack-ng/rtl8188eus
|
||||
PKG_SOURCE_DATE:=2021-02-06
|
||||
PKG_SOURCE_VERSION:=1e7145f3237b3eeb3baf775f4a883e6d79c1cfe6
|
||||
PKG_MIRROR_HASH:=3f68779aed2b9fabca042ea4effbdf35e25e632a00febe6c3f09646a8c75ee5d
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define KernelPackage/rtl8188eu
|
||||
SUBMENU:=Wireless Drivers
|
||||
|
||||
@ -8,21 +8,19 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rtl8189es
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/jwrdegoede/rtl8189ES_linux.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_REPO:=jwrdegoede/rtl8189ES_linux
|
||||
PKG_SOURCE_DATE:=2021-01-11
|
||||
PKG_SOURCE_VERSION:=249b65ba1db0fc88556f8202b43f70cb171ea022
|
||||
PKG_MIRROR_HASH:=f613fad49a3c21432bb9ca5c60202ad7f137a943a59b38cc023d710d875c1b0d
|
||||
|
||||
PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define KernelPackage/rtl8189es
|
||||
SUBMENU:=Wireless Drivers
|
||||
|
||||
@ -12,10 +12,9 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rtl8812au-ac
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/aircrack-ng/rtl8812au.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_REPO:=aircrack-ng/rtl8812au
|
||||
PKG_SOURCE_DATE:=2021-02-03
|
||||
PKG_SOURCE_VERSION:=b65dcf4105641716d16f3a6c96507fdd9c1862b4
|
||||
PKG_MIRROR_HASH:=5416d4a6e671c6b07f44f35fae54662baef71f448c4be4ade58bf7fc5ca4f192
|
||||
@ -24,12 +23,10 @@ PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Marty Jones <mj8263788@gmail.com>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define KernelPackage/rtl8812au-ac
|
||||
SUBMENU:=Wireless Drivers
|
||||
|
||||
@ -9,10 +9,9 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rtl8821cu
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/brektrou/rtl8821CU.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_REPO:=brektrou/rtl8821CU
|
||||
PKG_SOURCE_DATE:=2020-12-19
|
||||
PKG_SOURCE_VERSION:=428a0820487418ec69c0edb91726d1cf19763b1e
|
||||
PKG_MIRROR_HASH:=77958d3bff8b0145504a10959765be0e3743b9c4880a5173d156238c2c569a56
|
||||
@ -21,12 +20,10 @@ PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINTER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define KernelPackage/rtl8821cu
|
||||
SUBMENU:=Wireless Drivers
|
||||
|
||||
@ -9,10 +9,9 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=rtl88x2bu
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/cilynx/rtl88x2bu.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_REPO:=cilynx/rtl88x2bu
|
||||
PKG_SOURCE_DATE:=2021-01-21
|
||||
PKG_SOURCE_VERSION:=48e7c19c92a77554403e1347447f8e2cfd780228
|
||||
PKG_MIRROR_HASH:=2991028fb7bd7e31d041b1e99d0e0d86781fff95fc70e4560ca9fcbe038f063f
|
||||
@ -21,12 +20,10 @@ PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINTER:=ElonH <elonh@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define KernelPackage/rtl88x2bu
|
||||
SUBMENU:=Wireless Drivers
|
||||
|
||||
@ -12,7 +12,6 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=shadowsocks-rust
|
||||
PKG_VERSION:=1.9.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_HEADER:=shadowsocks-v$(PKG_VERSION)
|
||||
PKG_SOURCE_BODY:=unknown-linux-musl
|
||||
@ -62,7 +61,7 @@ PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
|
||||
|
||||
|
||||
@ -12,10 +12,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=simple-obfs
|
||||
PKG_VERSION:=0.0.5
|
||||
PKG_RELEASE:=6
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/shadowsocks/simple-obfs.git
|
||||
PKG_SOURCE_REPO:=shadowsocks/simple-obfs
|
||||
PKG_SOURCE_DATE:=2019-08-17
|
||||
PKG_SOURCE_VERSION:=486bebd9208539058e57e23a12f23103016e09b4
|
||||
PKG_MIRROR_HASH:=b1ae62a6826616b35b6aea0c6b2d55b5f36da96be0cd1c229c263b508d1aeef0
|
||||
@ -26,10 +25,9 @@ PKG_MAINTAINER:=Jian Chang <aa65535@live.com>
|
||||
|
||||
PKG_BUILD_DEPENDS:=libev
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/simple-obfs/template
|
||||
SECTION:=net
|
||||
|
||||
@ -10,9 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=simple-torrent
|
||||
PKG_VERSION:=1.2.14
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/boypt/simple-torrent/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=e3b3357ab8eb9431ec7c22b2f453d219cfe0652c5c26bbf0a052c99271cbf6a5
|
||||
|
||||
@ -25,15 +23,12 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_SIMPLE_TORRENT_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=cloud-torrent
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
GO_PKG_LDFLAGS_X:= \
|
||||
main.VERSION=$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/simple-torrent
|
||||
|
||||
@ -12,10 +12,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ssocks
|
||||
PKG_VERSION:=0.0.14
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/tostercx/ssocks.git
|
||||
PKG_SOURCE_REPO:=tostercx/ssocks
|
||||
PKG_SOURCE_DATE:=2020-07-09
|
||||
PKG_SOURCE_VERSION:=c2024789c1ee076d171fd6061d7c133302216ea7
|
||||
PKG_MIRROR_HASH:=3654e9f1fb54646e1e89c19e7aa3e105b84b2e20b5b634662c21c66691d1d22e
|
||||
@ -24,9 +23,7 @@ PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/ssocks/template
|
||||
|
||||
@ -5,14 +5,14 @@
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=sub-web
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_RELEASE:=6
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/CareyWang/sub-web.git
|
||||
PKG_SOURCE_REPO:=CareyWang/sub-web
|
||||
PKG_SOURCE_DATE:=2021-01-07
|
||||
PKG_SOURCE_VERSION:=26d278800cc42025f8ceecff64b26f47b9fc2d14
|
||||
PKG_MIRROR_HASH:=a83f49aeecfa086ad8da3503b1ff95f8505845588839ed569d22fb0ced417b9f
|
||||
@ -23,7 +23,7 @@ PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_DEPENDS:=node/host node-yarn/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/sub-web
|
||||
SECTION:=net
|
||||
|
||||
@ -5,14 +5,14 @@
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=subconverter
|
||||
PKG_VERSION:=0.6.4
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/tindy2013/subconverter.git
|
||||
PKG_SOURCE_REPO:=tindy2013/subconverter
|
||||
PKG_SOURCE_DATE:=2020-12-19
|
||||
PKG_SOURCE_VERSION:=a57906c9a6edd04da869b12ffb88f397c3ea8af6
|
||||
PKG_MIRROR_HASH:=07815478cbfa1644ad016ea4b68a2edc9316f9aa23edf699d82c4c9026e17462
|
||||
@ -22,9 +22,8 @@ PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=CN_SZTL <cnsztl@immortalwrt.org>
|
||||
|
||||
PKG_BUILD_DEPENDS:=duktape jpcre2 rapidjson
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/subconverter
|
||||
|
||||
@ -9,10 +9,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=subweb
|
||||
PKG_VERSION:=20200702
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/lzdnico/subweb.git
|
||||
PKG_SOURCE_REPO:=lzdnico/subweb
|
||||
PKG_MIRROR_HASH:=61855d9412056f2f0eb588840bb35b9b47dea97db887e47c15c52fe897f8b7bd
|
||||
PKG_SOURCE_VERSION:=9acc47d2e9cda1b16d7fe184a16f528848467810
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
@ -26,9 +25,8 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_INSTALL:=1
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_USE_MIPS16:=0
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/$(PKG_NAME)
|
||||
SECTION:=net
|
||||
|
||||
@ -10,9 +10,8 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=tcping-simple
|
||||
PKG_VERSION:=1.3.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=https://raw.githubusercontent.com/MushrooM93/tcping/b9ee61a5c1d05f228aa70027331556f0c27dd4c2/
|
||||
PKG_SOURCE_URL:=@GITHUB/MushrooM93/tcping/b9ee61a5c1d05f228aa70027331556f0c27dd4c2/
|
||||
PKG_SOURCE:=tcping.c
|
||||
PKG_HASH:=3459b9f15621920dc632b5871da96c62c8a77ad15ee7bfdba4adee29f4eed089
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/tcping-$(PKG_VERSION)
|
||||
@ -21,12 +20,9 @@ PKG_LICENSE:=GPLv3
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=MushrooM93 <799163169@qq.com>
|
||||
|
||||
PKG_INSTALL:=1
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_USE_MIPS16:=0
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/$(PKG_NAME)
|
||||
SECTION:=net
|
||||
@ -47,9 +43,6 @@ define Build/Compile
|
||||
$(TARGET_CROSS)gcc $(PKG_BUILD_DIR)/$(PKG_SOURCE) -o $(PKG_BUILD_DIR)/tcping-simple
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tcping-simple $(1)/usr/bin
|
||||
|
||||
@ -9,10 +9,9 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=tinyfecVPN
|
||||
PKG_VERSION:=20210116.0
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/wangyu-/tinyfecVPN.git
|
||||
PKG_SOURCE_REPO:=wangyu-/tinyfecVPN
|
||||
PKG_SOURCE_DATE:=2021-01-17
|
||||
PKG_SOURCE_VERSION:=c9b98721ea1d62ab8e1c4c9e2a0ed04394dfe0ae
|
||||
PKG_MIRROR_HASH:=28cdadf0f162e52d3c6b10b6a6cdcd22e80783b36b33e341b5dea156bfb75b74
|
||||
@ -20,9 +19,7 @@ PKG_MIRROR_HASH:=28cdadf0f162e52d3c6b10b6a6cdcd22e80783b36b33e341b5dea156bfb75b7
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_MAINTAINER:=Yu Wang
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/tinyfecvpn
|
||||
SECTION:=net
|
||||
|
||||
@ -9,14 +9,13 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=tinymembench
|
||||
PKG_VERSION:=0.4
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/ssvb/tinymembench.git
|
||||
PKG_SOURCE_REPO:=ssvb/tinymembench
|
||||
PKG_SOURCE_VERSION:=a2cf6d7e382e3aea1eb39173174d9fa28cad15f3
|
||||
PKG_MIRROR_HASH:=b5b69e3d0c19e5a55bfebe386e29196c751612e30bd5aefc2ee1df11c18e0300
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/tinymembench
|
||||
SECTION:=utils
|
||||
|
||||
@ -9,18 +9,14 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=tinyPortMapper
|
||||
PKG_VERSION:=20200818.0
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/wangyu-/tinyPortMapper/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=094aef3fa0646fe3d0418f87767c1dd24ba1a80518f1e8a7cae2783aed88e732
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_MAINTAINER:=Yu Wang
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
define Package/tinyPortMapper
|
||||
SECTION:=net
|
||||
|
||||
@ -12,9 +12,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=v2ray-plugin
|
||||
PKG_VERSION:=4.36.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/teddysun/v2ray-plugin/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=70cf85958a5233c8798990f4b7de57ce6f2e9a4535345260df06a4962a21e85a
|
||||
|
||||
@ -27,14 +25,11 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_V2RAY_PLUGIN_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/shadowsocks/v2ray-plugin
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
GO_PKG_LDFLAGS_X:=main.VERSION=v$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/v2ray-plugin/config
|
||||
|
||||
@ -32,13 +32,12 @@ endif
|
||||
|
||||
PKG_NAME:=verysync
|
||||
PKG_VERSION:=v2.4.2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-linux-$(PKG_ARCH_VERYSYNC)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://dl.verysync.com/releases/$(PKG_VERSION)/
|
||||
PKG_HASH:=skip
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
|
||||
TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
|
||||
|
||||
|
||||
@ -10,9 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=webdav-go
|
||||
PKG_VERSION:=4.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/hacdias/webdav/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=3a6754933cc138623830944cb1ce9151baebe780b8111415c2e0044970586ca5
|
||||
|
||||
@ -26,13 +24,10 @@ PKG_CONFIG_DEPENDS:= \
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(firstword $(subst -, ,$(PKG_NAME)))-$(PKG_VERSION)
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/hacdias/webdav
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/webdav-go
|
||||
|
||||
@ -10,9 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=xray-plugin
|
||||
PKG_VERSION:=1.4.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GHCODELOAD/teddysun/xray-plugin/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=6247235aa8bf1ebb994032de932d8c41ab6641d68d0cb448b32a236494cc6c42
|
||||
|
||||
@ -26,13 +24,10 @@ PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_XRAY_PLUGIN_COMPRESS_UPX
|
||||
|
||||
PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
GO_PKG:=github.com/teddysun/xray-plugin
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/package-immortalwrt.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
|
||||
|
||||
define Package/xray-plugin/config
|
||||
|
||||
@ -458,24 +458,6 @@ endef
|
||||
$(eval $(call KernelPackage,ipt-nat))
|
||||
|
||||
|
||||
define KernelPackage/ipt-cgroup
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=cgroup netfilter module
|
||||
KCONFIG:=$(KCONFIG_IPT_CGROUP)
|
||||
FILES:=$(LINUX_DIR)/net/netfilter/*cgroup*.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,$(notdir $(IPT_CGROUP-m)))
|
||||
DEPENDS:= kmod-ipt-core
|
||||
endef
|
||||
|
||||
define KernelPackage/ipt-cgroup/description
|
||||
Kernel support for cgroup netfilter module
|
||||
Include:
|
||||
- cgroup
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-cgroup))
|
||||
|
||||
|
||||
define KernelPackage/ipt-raw
|
||||
TITLE:=Netfilter IPv4 raw table support
|
||||
KCONFIG:=CONFIG_IP_NF_RAW
|
||||
|
||||
@ -917,6 +917,13 @@ define KernelPackage/sched/description
|
||||
Extra kernel schedulers modules for IP traffic
|
||||
endef
|
||||
|
||||
SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh
|
||||
|
||||
define KernelPackage/sched/install
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||
$(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,sched))
|
||||
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libnfnetlink
|
||||
PKG_VERSION:=1.0.1
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
@ -45,7 +45,7 @@ CONFIGURE_ARGS += \
|
||||
--enable-shared
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
lt_prog_compiler_pic=$(FPIC)
|
||||
lt_prog_compiler_pic="$(FPIC)"
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/libnfnetlink
|
||||
|
||||
@ -49,9 +49,6 @@ function index()
|
||||
entry({"admin", "services", appname, "server_user_log"}, call("server_user_log")).leaf = true
|
||||
entry({"admin", "services", appname, "server_get_log"}, call("server_get_log")).leaf = true
|
||||
entry({"admin", "services", appname, "server_clear_log"}, call("server_clear_log")).leaf = true
|
||||
entry({"admin", "services", appname, "link_append_temp"}, call("link_append_temp")).leaf = true
|
||||
entry({"admin", "services", appname, "link_load_temp"}, call("link_load_temp")).leaf = true
|
||||
entry({"admin", "services", appname, "link_clear_temp"}, call("link_clear_temp")).leaf = true
|
||||
entry({"admin", "services", appname, "link_add_node"}, call("link_add_node")).leaf = true
|
||||
entry({"admin", "services", appname, "get_now_use_node"}, call("get_now_use_node")).leaf = true
|
||||
entry({"admin", "services", appname, "get_redir_log"}, call("get_redir_log")).leaf = true
|
||||
@ -97,38 +94,10 @@ function hide_menu()
|
||||
luci.http.redirect(luci.dispatcher.build_url("admin", "status", "overview"))
|
||||
end
|
||||
|
||||
function link_append_temp()
|
||||
local link = luci.http.formvalue("link")
|
||||
local lfile = "/tmp/links.conf"
|
||||
local ret, ldata="empty", {}
|
||||
luci.sys.call('touch ' .. lfile .. ' && echo \'' .. link .. '\' >> ' .. lfile)
|
||||
ret = luci.sys.exec([[awk -F'://' 'BEGIN{ all=0 } /.{2,9}:\/\/.{4,}$/ {gsub(/:\/\/.*$/,""); arr[$0]++; all++ } END { for(typ in arr) { printf("%s: %d, ", typ, arr[typ]) }; printf("\ntotal: %d", all) }' ]] .. lfile)
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json({counter = ret})
|
||||
end
|
||||
|
||||
function link_load_temp()
|
||||
local lfile = "/tmp/links.conf"
|
||||
local ret, ldata="empty", {}
|
||||
ldata[#ldata+1] = nixio.fs.readfile(lfile) or "_nofile_"
|
||||
if ldata[1] == "" then
|
||||
ldata[1] = "_nodata_"
|
||||
else
|
||||
ret = luci.sys.exec([[awk -F'://' 'BEGIN{ all=0 } /.{2,9}:\/\/.{4,}$/ {gsub(/:\/\/.*$/,""); arr[$0]++; all++ } END { for(typ in arr) { printf("%s: %d, ", typ, arr[typ]) }; printf("\ntotal: %d", all) }' ]] .. lfile)
|
||||
end
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json({counter = ret, data = ldata})
|
||||
end
|
||||
|
||||
function link_clear_temp()
|
||||
local lfile = "/tmp/links.conf"
|
||||
luci.sys.call('cat /dev/null > ' .. lfile)
|
||||
end
|
||||
|
||||
function link_add_node()
|
||||
local lfile = "/tmp/links.conf"
|
||||
local link = luci.http.formvalue("link")
|
||||
luci.sys.call('echo \'' .. link .. '\' >> ' .. lfile)
|
||||
luci.sys.call('echo \'' .. link .. '\' > ' .. lfile)
|
||||
luci.sys.call("lua /usr/share/passwall/subscribe.lua add log")
|
||||
end
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ o.rmempty = true
|
||||
sys.net.mac_hints(function(e, t) o:value(e, "%s (%s)" % {e, t}) end)
|
||||
|
||||
---- TCP Proxy Mode
|
||||
tcp_proxy_mode = s:option(ListValue, "tcp_proxy_mode", "TCP" .. translate("Proxy Mode"))
|
||||
tcp_proxy_mode = s:option(ListValue, "tcp_proxy_mode", translatef("%s Proxy Mode", "TCP"))
|
||||
tcp_proxy_mode.default = "default"
|
||||
tcp_proxy_mode.rmempty = false
|
||||
tcp_proxy_mode:value("default", translate("Default"))
|
||||
@ -57,7 +57,7 @@ else
|
||||
end
|
||||
|
||||
---- UDP Proxy Mode
|
||||
udp_proxy_mode = s:option(ListValue, "udp_proxy_mode", "UDP" .. translate("Proxy Mode"))
|
||||
udp_proxy_mode = s:option(ListValue, "udp_proxy_mode", translatef("%s Proxy Mode", "UDP"))
|
||||
udp_proxy_mode.default = "default"
|
||||
udp_proxy_mode.rmempty = false
|
||||
udp_proxy_mode:value("default", translate("Default"))
|
||||
|
||||
@ -151,7 +151,7 @@ if has_xray and #nodes_table > 0 then
|
||||
end
|
||||
|
||||
local id = "main_node"
|
||||
o = s:taboption("Main", ListValue, v.id .. "." .. id, "* " .. translate("Default") .. translate("Preproxy"))
|
||||
o = s:taboption("Main", ListValue, v.id .. "." .. id, "* " .. translate("Default") .. " " .. translate("Preproxy"))
|
||||
o:depends("tcp_node", v.id)
|
||||
o:value("nil", translate("Close"))
|
||||
for k1, v1 in pairs(normal_list) do
|
||||
@ -263,7 +263,7 @@ end
|
||||
s:tab("Proxy", translate("Mode"))
|
||||
|
||||
---- TCP Default Proxy Mode
|
||||
tcp_proxy_mode = s:taboption("Proxy", ListValue, "tcp_proxy_mode", "TCP" .. translate("Default") .. translate("Proxy Mode"))
|
||||
tcp_proxy_mode = s:taboption("Proxy", ListValue, "tcp_proxy_mode", "TCP " .. translate("Default") .. translate("Proxy Mode"))
|
||||
-- o.description = translate("If not available, try clearing the cache.")
|
||||
tcp_proxy_mode:value("disable", translate("No Proxy"))
|
||||
tcp_proxy_mode:value("global", translate("Global Proxy"))
|
||||
@ -274,7 +274,7 @@ tcp_proxy_mode.default = "chnroute"
|
||||
--tcp_proxy_mode.validate = redir_mode_validate
|
||||
|
||||
---- UDP Default Proxy Mode
|
||||
udp_proxy_mode = s:taboption("Proxy", ListValue, "udp_proxy_mode", "UDP" .. translate("Default") .. translate("Proxy Mode"))
|
||||
udp_proxy_mode = s:taboption("Proxy", ListValue, "udp_proxy_mode", "UDP " .. translate("Default") .. translate("Proxy Mode"))
|
||||
udp_proxy_mode:value("disable", translate("No Proxy"))
|
||||
udp_proxy_mode:value("global", translate("Global Proxy"))
|
||||
udp_proxy_mode:value("gfwlist", translate("GFW List"))
|
||||
@ -284,7 +284,7 @@ udp_proxy_mode.default = "chnroute"
|
||||
--udp_proxy_mode.validate = redir_mode_validate
|
||||
|
||||
---- Localhost TCP Proxy Mode
|
||||
localhost_tcp_proxy_mode = s:taboption("Proxy", ListValue, "localhost_tcp_proxy_mode", translate("Router Localhost") .. "TCP" .. translate("Proxy Mode"))
|
||||
localhost_tcp_proxy_mode = s:taboption("Proxy", ListValue, "localhost_tcp_proxy_mode", translate("Router Localhost") .. " TCP " .. translate("Proxy Mode"))
|
||||
-- o.description = translate("The server client can also use this rule to scientifically surf the Internet.")
|
||||
localhost_tcp_proxy_mode:value("default", translate("Default"))
|
||||
localhost_tcp_proxy_mode:value("global", translate("Global Proxy"))
|
||||
@ -295,7 +295,7 @@ localhost_tcp_proxy_mode.default = "default"
|
||||
--localhost_tcp_proxy_mode.validate = redir_mode_validate
|
||||
|
||||
---- Localhost UDP Proxy Mode
|
||||
localhost_udp_proxy_mode = s:taboption("Proxy", ListValue, "localhost_udp_proxy_mode", translate("Router Localhost") .. "UDP" .. translate("Proxy Mode"))
|
||||
localhost_udp_proxy_mode = s:taboption("Proxy", ListValue, "localhost_udp_proxy_mode", translate("Router Localhost") .. " UDP " .. translate("Proxy Mode"))
|
||||
localhost_udp_proxy_mode:value("default", translate("Default"))
|
||||
localhost_udp_proxy_mode:value("global", translate("Global Proxy"))
|
||||
localhost_udp_proxy_mode:value("gfwlist", translate("GFW List"))
|
||||
@ -306,13 +306,13 @@ localhost_udp_proxy_mode.default = "default"
|
||||
localhost_udp_proxy_mode.validate = redir_mode_validate
|
||||
|
||||
s:tab("log", translate("Log"))
|
||||
o = s:taboption("log", Flag, "close_log_tcp", translate("Close") .. translate("Log") .. " " .. translate("TCP Node"))
|
||||
o = s:taboption("log", Flag, "close_log_tcp", translatef("%s Node Log Close", "TCP"))
|
||||
o.rmempty = false
|
||||
|
||||
o = s:taboption("log", Flag, "close_log_udp", translate("Close") .. translate("Log") .. " " .. translate("UDP Node"))
|
||||
o = s:taboption("log", Flag, "close_log_udp", translatef("%s Node Log Close", "UDP"))
|
||||
o.rmempty = false
|
||||
|
||||
loglevel = s:taboption("log", ListValue, "loglevel", "X/V2ray" .. translate("Log Level"))
|
||||
loglevel = s:taboption("log", ListValue, "loglevel", "Xray" .. translate("Log Level"))
|
||||
loglevel.default = "warning"
|
||||
loglevel:value("debug")
|
||||
loglevel:value("info")
|
||||
@ -333,7 +333,7 @@ o = s:taboption("tips", DummyValue, "")
|
||||
o.template = appname .. "/global/tips"
|
||||
|
||||
-- [[ Socks Server ]]--
|
||||
o = s:taboption("Main", Flag, "socks_enabled", "Socks" .. translate("Main switch"))
|
||||
o = s:taboption("Main", Flag, "socks_enabled", "Socks " .. translate("Main switch"))
|
||||
o.rmempty = false
|
||||
|
||||
s = m:section(TypedSection, "socks", translate("Socks Config"))
|
||||
@ -358,13 +358,13 @@ o.rmempty = false
|
||||
socks_node = s:option(ListValue, "node", translate("Socks Node"))
|
||||
socks_node:value("tcp", translate("Same as the tcp node"))
|
||||
|
||||
o = s:option(Value, "port", "Socks" .. translate("Listen Port"))
|
||||
o = s:option(Value, "port", "Socks " .. translate("Listen Port"))
|
||||
o.default = 9050
|
||||
o.datatype = "port"
|
||||
o.rmempty = false
|
||||
|
||||
if has_xray then
|
||||
o = s:option(Value, "http_port", "HTTP" .. translate("Listen Port") .. " " .. translate("0 is not use"))
|
||||
o = s:option(Value, "http_port", "HTTP " .. translate("Listen Port") .. " " .. translate("0 is not use"))
|
||||
o.default = 0
|
||||
o.datatype = "port"
|
||||
end
|
||||
|
||||
@ -59,7 +59,7 @@ s = m:section(NamedSection, arg[1], "nodes", "")
|
||||
s.addremove = false
|
||||
s.dynamic = false
|
||||
|
||||
share = s:option(DummyValue, "passwall", translate("Share Current"))
|
||||
share = s:option(DummyValue, "passwall", " ")
|
||||
share.rawhtml = true
|
||||
share.template = "passwall/node_list/link_share_man"
|
||||
share.value = arg[1]
|
||||
|
||||
@ -63,9 +63,9 @@ o.cfgvalue = function(t, n)
|
||||
if type == "Xray" then
|
||||
local protocol = m:get(n, "protocol")
|
||||
if protocol == "_balancing" then
|
||||
protocol = "负载均衡"
|
||||
protocol = translate("Balancing")
|
||||
elseif protocol == "_shunt" then
|
||||
protocol = "分流"
|
||||
protocol = translate("Shunt")
|
||||
elseif protocol == "vmess" then
|
||||
protocol = "VMess"
|
||||
elseif protocol == "vless" then
|
||||
|
||||
@ -56,7 +56,7 @@ o = s:option(Value, "xray_location_asset", translate("Location of Xray asset"),
|
||||
o.default = "/usr/share/xray/"
|
||||
o.rmempty = false
|
||||
|
||||
s = m:section(TypedSection, "shunt_rules", "Xray" .. translate("Shunt") .. translate("Rule"), "<a style='color: red'>" .. translate("Please note attention to the priority, the higher the order, the higher the priority.") .. "</a>")
|
||||
s = m:section(TypedSection, "shunt_rules", "Xray " .. translate("Shunt Rule"), "<a style='color: red'>" .. translate("Please note attention to the priority, the higher the order, the higher the priority.") .. "</a>")
|
||||
s.template = "cbi/tblsection"
|
||||
s.anonymous = false
|
||||
s.addremove = true
|
||||
|
||||
@ -63,7 +63,7 @@ end
|
||||
|
||||
e = t:option(DummyValue, "port", translate("Port"))
|
||||
|
||||
e = t:option(Flag, "log", translate("Enable") .. translate("Log"))
|
||||
e = t:option(Flag, "log", translate("Log"))
|
||||
e.default = "1"
|
||||
e.rmempty = false
|
||||
|
||||
|
||||
@ -54,11 +54,6 @@ s = m:section(NamedSection, arg[1], "user", "")
|
||||
s.addremove = false
|
||||
s.dynamic = false
|
||||
|
||||
share = s:option(DummyValue, "passwall_server", translate("Share Current"))
|
||||
share.rawhtml = true
|
||||
share.template = "passwall/node_list/link_share_man"
|
||||
share.value = arg[1]
|
||||
|
||||
enable = s:option(Flag, "enable", translate("Enable"))
|
||||
enable.default = "1"
|
||||
enable.rmempty = false
|
||||
@ -582,7 +577,7 @@ transit_node_password.password = true
|
||||
transit_node_password:depends("transit_node", "_socks")
|
||||
transit_node_password:depends("transit_node", "_http")
|
||||
|
||||
log = s:option(Flag, "log", translate("Enable") .. translate("Log"))
|
||||
log = s:option(Flag, "log", translate("Log"))
|
||||
log.default = "1"
|
||||
log.rmempty = false
|
||||
|
||||
|
||||
@ -20,41 +20,6 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function link_clear_temp() {
|
||||
if (confirm('<%:Are you sure to clear all cached links?%>') == true){
|
||||
XHR.get('<%=api.url("link_clear_temp")%>', null,
|
||||
function(x, data) {
|
||||
if(x && x.status == 200) {
|
||||
window.location.href = '<%=api.url("node_list")%>';
|
||||
}
|
||||
else {
|
||||
alert("<%:Error%>");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function link_load_temp() {
|
||||
var inputer = document.getElementById("nodes_link");
|
||||
XHR.get('<%=api.url("link_load_temp")%>', null,
|
||||
function(x, data) {
|
||||
if(x.readyState === 4 && x.status === 200) {
|
||||
try {
|
||||
res = JSON.parse(x.responseText);
|
||||
}
|
||||
catch(e) {
|
||||
res = null;
|
||||
}
|
||||
if(res !== null && typeof(res) === "object") {
|
||||
alert(res.counter);
|
||||
if(res.data) inputer.value = res.data;
|
||||
}
|
||||
} else {
|
||||
alert("<%:Error%>");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function ajax_add_node(link) {
|
||||
if (link) {
|
||||
XHR.get('<%=api.url("link_add_node")%>', {
|
||||
@ -122,8 +87,6 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
<div class="cbi-value">
|
||||
<div class="cbi-value-field" style="display: unset">
|
||||
<input class="cbi-button cbi-button-add" type="button" onclick="add_node()" value="<%:Add%>" />
|
||||
<!-- <input class="cbi-button cbi-button-apply" type="button" onclick="link_load_temp()" value="<%:Load Cached%>" /> -->
|
||||
<!-- <input class="cbi-button cbi-button-refresh" type="button" onclick="link_clear_temp()" value="<%:Clear Cached%>" /> -->
|
||||
<input class="cbi-button cbi-button-remove" type="button" onclick="close_add_link_div()" value="<%:Close%>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -76,27 +76,6 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
return m && r;
|
||||
}
|
||||
|
||||
function link_append_temp(link) {
|
||||
XHR.get('<%=api.url("link_append_temp")%>', {
|
||||
'link': link
|
||||
},
|
||||
function(x, data) {
|
||||
if(x.readyState === 4 && x.status === 200) {
|
||||
try {
|
||||
res = JSON.parse(x.responseText);
|
||||
}
|
||||
catch(e) {
|
||||
res = null;
|
||||
}
|
||||
if(res !== null && typeof(res) === "object") {
|
||||
alert(res.counter);
|
||||
}
|
||||
} else {
|
||||
alert("<%:Error%>");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function buildUrl(btn, urlname, sid) {
|
||||
var opt = {
|
||||
base: "cbid.passwall",
|
||||
@ -108,11 +87,14 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
if (obj) {
|
||||
return obj;
|
||||
} else {
|
||||
return null;
|
||||
/*
|
||||
obj = document.getElementById(this.fallback);
|
||||
if (opt === "address") obj.value = "0.0.0.0";
|
||||
else if (opt === "mux") obj.value = "0";
|
||||
if (this.client || (opt !== "address" && opt !== "mux")) alert("<%:Faltal on get option, please help in debug: %>" + opt);
|
||||
return obj;
|
||||
*/
|
||||
}
|
||||
},
|
||||
getlist: function(opt) {
|
||||
@ -153,7 +135,35 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
var v_type = opt.get("type").value;
|
||||
var v_alias = opt.get("remarks");
|
||||
var url = null;
|
||||
if (v_type === "SSR") {
|
||||
if (v_type === "SS") {
|
||||
var v_server = opt.get("address");
|
||||
var v_port = opt.get("port");
|
||||
var v_method = opt.get("ss_encrypt_method");
|
||||
var v_password = opt.get("password");
|
||||
|
||||
url = b64encsafe(v_method.value + ":" + v_password.value) + "@" +
|
||||
v_server.value + ":" +
|
||||
v_port.value + "/?";
|
||||
|
||||
var params = "";
|
||||
var v_plugin = opt.get("ss_plugin").value;
|
||||
if (v_plugin && v_plugin != "none") {
|
||||
if (v_plugin == "simple-obfs" || v_plugin == "obfs-local") {
|
||||
v_plugin = "obfs-local";
|
||||
}
|
||||
var v_plugin_opts = opt.get("ss_plugin_opts").value;
|
||||
if (v_plugin_opts && v_plugin_opts != "") {
|
||||
v_plugin += encodeURI(";" + v_plugin_opts);
|
||||
}
|
||||
params += "&plugin=" + encodeURI(v_plugin);
|
||||
}
|
||||
params += "&group="
|
||||
params += "#" + encodeURI(v_alias.value);
|
||||
if (params[0] == "&") {
|
||||
params = params.substring(1);
|
||||
}
|
||||
url += params;
|
||||
} else if (v_type === "SSR") {
|
||||
var v_server = opt.get("address");
|
||||
var v_port = opt.get("port");
|
||||
var v_protocol = opt.get("ssr_protocol");
|
||||
@ -172,7 +182,98 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
"&protoparam=" + b64encsafe(v_protocol_param.value) +
|
||||
"&remarks=" + b64encutf8safe(v_alias.value);
|
||||
url = b64encsafe(ssr_str);
|
||||
} else if (v_type === "Trojan" || v_type === "Trojan-Plus" || v_type === "Trojan-Go") {
|
||||
} else if (v_type === "Xray" && opt.get("protocol").value === "vmess") {
|
||||
v_type = "vmess";
|
||||
var info = {};
|
||||
info.v = "2";
|
||||
info.ps = v_alias.value;
|
||||
info.add = opt.get("address").value;
|
||||
info.port = opt.get("port").value;
|
||||
info.id = opt.get("uuid").value;
|
||||
info.aid = opt.get("alter_id").value;
|
||||
|
||||
var v_transport = opt.get("transport").value;
|
||||
if (v_transport === "ws") {
|
||||
info.host = opt.get("ws_host").value;
|
||||
info.path = opt.get("ws_path").value;
|
||||
} else if (v_transport === "h2") {
|
||||
info.host = opt.get("h2_host").value;
|
||||
info.path = opt.get("h2_path").value;
|
||||
} else if (v_transport === "tcp") {
|
||||
info.type = opt.get("tcp_guise").value;
|
||||
info.host = opt.get("tcp_guise_http_host").value;
|
||||
info.path = opt.get("tcp_guise_http_path").value;
|
||||
} else if (v_transport === "mkcp") {
|
||||
v_transport = "kcp";
|
||||
info.type = opt.get("mkcp_guise").value;
|
||||
} else if (v_transport === "quic") {
|
||||
info.type = opt.get("quic_guise").value;
|
||||
info.key = opt.get("quic_key").value;
|
||||
info.securty = opt.get("quic_security").value;
|
||||
}
|
||||
if (info.path && info.path != "") {
|
||||
info.path = encodeURI(info.path);
|
||||
}
|
||||
info.net = v_transport;
|
||||
|
||||
info.security = opt.get("security").value || "auto";
|
||||
if (opt.get("tls").checked) {
|
||||
var v_security = "tls";
|
||||
info.tls = "tls";
|
||||
info.sni = opt.get("tls_serverName").value;
|
||||
}
|
||||
url = b64EncodeUnicode(JSON.stringify(info));
|
||||
} else if (v_type === "Xray" && opt.get("protocol").value === "vless") {
|
||||
v_type = "vless";
|
||||
var v_password = opt.get("uuid");
|
||||
var v_server = opt.get("address");
|
||||
var v_port = opt.get("port");
|
||||
url = encodeURIComponent(v_password.value) +
|
||||
"@" + v_server.value +
|
||||
":" + v_port.value + "?";
|
||||
|
||||
var params = "";
|
||||
var v_transport = opt.get("transport").value;
|
||||
if (v_transport === "ws") {
|
||||
params += opt.query("host", "ws_host");
|
||||
params += opt.query("path", "ws_path");
|
||||
} else if (v_transport === "h2") {
|
||||
params += opt.query("host", "h2_host");
|
||||
params += opt.query("path", "h2_path");
|
||||
} else if (v_transport === "tcp") {
|
||||
params += opt.query("headerType", "tcp_guise");
|
||||
params += opt.query("host", "tcp_guise_http_host");
|
||||
params += opt.query("path", "tcp_guise_http_path");
|
||||
} else if (v_transport === "mkcp") {
|
||||
v_transport = "kcp";
|
||||
params += opt.query("headerType", "mkcp_guise");
|
||||
} else if (v_transport === "quic") {
|
||||
params += opt.query("headerType", "quic_guise");
|
||||
params += opt.query("key", "quic_key");
|
||||
params += opt.query("quicSecurity", "quic_security");
|
||||
}
|
||||
params += "&type=" + v_transport;
|
||||
|
||||
params += opt.query("encryption", "encryption");
|
||||
if (opt.get("tls").checked) {
|
||||
var v_security = "tls";
|
||||
if (opt.get("xtls").checked) {
|
||||
v_security = "xtls";
|
||||
var v_flow = "xtls-rprx-direct";
|
||||
if (opt.get("flow").value) {
|
||||
v_flow = opt.get("flow").value;
|
||||
}
|
||||
params += "&flow=" + v_flow;
|
||||
}
|
||||
params += "&security=" + v_security;
|
||||
params += opt.query("sni", "tls_serverName");
|
||||
}
|
||||
params += "#" + encodeURI(v_alias.value);
|
||||
if (params[0] == "&") {
|
||||
params = params.substring(1);
|
||||
}
|
||||
url += params;
|
||||
} else if ((v_type === "Xray" && opt.get("protocol").value === "trojan") || v_type === "Trojan" || v_type === "Trojan-Plus" || v_type === "Trojan-Go") {
|
||||
var v_password = opt.get(!opt.client && v_type === "Trojan-Go" ? "passwords" : "password");
|
||||
var v_server = opt.get("address");
|
||||
var v_port = opt.get("port");
|
||||
@ -182,7 +283,7 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
if (opt.get("tls").checked) {
|
||||
url += opt.query("sni", "tls_serverName");
|
||||
if (v_type !== "Trojan-Go") {
|
||||
url += "tls=1"
|
||||
url += "&tls=1"
|
||||
url += opt.query("allowinsecure", "tls_allowInsecure");
|
||||
}
|
||||
}
|
||||
@ -219,7 +320,6 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
}
|
||||
if (url) {
|
||||
url = v_type.toLowerCase() + "://" + url;
|
||||
link_append_temp(url);
|
||||
var textarea = document.createElement("textarea");
|
||||
textarea.textContent = url;
|
||||
textarea.style.position = "fixed";
|
||||
@ -227,12 +327,13 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
textarea.select();
|
||||
try {
|
||||
document.execCommand("copy"); // Security exception may be thrown by some browsers.
|
||||
s.innerHTML = "<font color='green'><%:Share to clipboard successfully, copy to batch mode still: %></font>";
|
||||
s.innerHTML = "<font color='green'><%:Share url to clipboard successfully.%></font>";
|
||||
} catch (ex) {
|
||||
s.innerHTML = "<font color='red'><%:Unable share to clipboard, copy to batch mode still: %></font>";
|
||||
s.innerHTML = "<font color='red'><%:Share url to clipboard unable.%></font>";
|
||||
} finally {
|
||||
document.body.removeChild(textarea);
|
||||
}
|
||||
//alert(url);
|
||||
} else {
|
||||
alert("<%:Not a supported scheme:%> " + v_type);
|
||||
}
|
||||
@ -268,7 +369,7 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
obj.value = val;
|
||||
}
|
||||
} else {
|
||||
alert('<%:Faltal on set option, please help in debug: %>' + opt + ' = ' + val);
|
||||
//alert('<%:Faltal on set option, please help in debug: %>' + opt + ' = ' + val);
|
||||
}
|
||||
},
|
||||
setlist: function(opt, vlist) {
|
||||
@ -281,7 +382,7 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
}
|
||||
alert("Manually input the option:\n" + opt + "s:\n[" + values + "]");
|
||||
} else {
|
||||
alert("<%:Faltal on set option, please help in debug: %>" + opt);
|
||||
//alert("<%:Faltal on set option, please help in debug: %>" + opt);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -296,7 +397,6 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
opt.fallback = urlname + '-dummy';
|
||||
var ssrurl = prompt('<%:Paste Share URL Here%>', '');
|
||||
if (ssrurl === null || ssrurl === "") {
|
||||
s.innerHTML = "<font color='red'><%:User cancelled%></font>";
|
||||
return false;
|
||||
}
|
||||
s.innerHTML = "";
|
||||
@ -351,7 +451,6 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
} else {
|
||||
url0 = ssu[1];
|
||||
}
|
||||
console.log(param);
|
||||
if (sipIndex !== -1) {
|
||||
// SIP002
|
||||
var userInfo = b64decsafe(url0.substr(0, sipIndex));
|
||||
@ -378,8 +477,12 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
opt.set('port', port);
|
||||
opt.set('password', password || "");
|
||||
opt.set('ss_encrypt_method', method || "");
|
||||
opt.set('ss_plugin', plugin || "");
|
||||
opt.set('ss_plugin_opts', pluginOpts || "");
|
||||
opt.set('ss_plugin', plugin || "none");
|
||||
if (plugin && plugin != "none") {
|
||||
opt.get('ss_plugin').dispatchEvent(event);
|
||||
opt.set('ss_plugin_opts', pluginOpts || "");
|
||||
opt.get('ss_plugin_opts').dispatchEvent(event);
|
||||
}
|
||||
if (param !== undefined) {
|
||||
opt.set('remarks', decodeURI(param));
|
||||
}
|
||||
@ -394,8 +497,9 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
opt.set('port', part2[1]);
|
||||
opt.set('password', part1[1]);
|
||||
opt.set('ss_encrypt_method', part1[0]);
|
||||
opt.set('ss_plugin', "");
|
||||
opt.set('ss_plugin_opts', "");
|
||||
opt.set('ss_plugin', "none");
|
||||
opt.get('ss_plugin').dispatchEvent(event);
|
||||
//opt.set('ss_plugin_opts', "");
|
||||
if (param !== undefined) {
|
||||
opt.set('remarks', decodeURI(param));
|
||||
}
|
||||
@ -552,6 +656,8 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
var ploc = sstr.indexOf("/?");
|
||||
opt.set('type', "Xray");
|
||||
opt.get('type').dispatchEvent(event);
|
||||
opt.set('protocol', "vmess");
|
||||
opt.get('protocol').dispatchEvent(event);
|
||||
var url0, param = "";
|
||||
if (ploc > 0) {
|
||||
url0 = sstr.substr(0, ploc);
|
||||
@ -567,8 +673,14 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
opt.set('tls', ssm.tls === "tls");
|
||||
opt.get('tls').dispatchEvent(event);
|
||||
if (ssm.tls === "tls") {
|
||||
opt.set('tls_serverName', ssm.host);
|
||||
var tls_serverName = ssm.host;
|
||||
if (ssm.sni) {
|
||||
tls_serverName = ssm.sni
|
||||
}
|
||||
opt.set('tls_serverName', tls_serverName);
|
||||
}
|
||||
if (ssm.net === "kcp" || ssm.net === "mkcp")
|
||||
ssm.net = "mkcp"
|
||||
opt.set('transport', ssm.net);
|
||||
opt.get('transport').dispatchEvent(event);
|
||||
if (ssm.net === "tcp") {
|
||||
@ -587,10 +699,83 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
} else if (ssm.net === "quic") {
|
||||
opt.set('quic_security', ssm.securty);
|
||||
opt.set('quic_key', ssm.key);
|
||||
} else if (ssm.net === "kcp") {
|
||||
} else if (ssm.net === "kcp" || ssm.net === "mkcp") {
|
||||
opt.set('mkcp_guise', ssm.type);
|
||||
opt.get('mkcp_guise').dispatchEvent(event);
|
||||
}
|
||||
} else if (ssu[0] === "vless") {
|
||||
opt.set('type', "Xray");
|
||||
opt.get('type').dispatchEvent(event);
|
||||
opt.set('protocol', "vless");
|
||||
opt.get('protocol').dispatchEvent(event);
|
||||
var m = parseNodeUrl(ssrurl);
|
||||
console.log(m.search);
|
||||
var password = m.passwd;
|
||||
if (password === "") {
|
||||
s.innerHTML = "<font color='red'><%:Invalid Share URL Format%></font>";
|
||||
return false;
|
||||
}
|
||||
opt.set('uuid', password);
|
||||
opt.set('address', m.hostname);
|
||||
opt.set('port', m.port || "443");
|
||||
var queryParam = {};
|
||||
if (m.search.length > 1) {
|
||||
var query = m.search.split('?');
|
||||
var queryParams = query[1];
|
||||
var queryArray = queryParams.split('&');
|
||||
var params;
|
||||
for (i = 0; i < queryArray.length; i++) {
|
||||
params = queryArray[i].split('=');
|
||||
queryParam[decodeURIComponent(params[0])] = decodeURIComponent(params[1] || '');
|
||||
}
|
||||
}
|
||||
|
||||
opt.set('encryption', queryParam.encryption);
|
||||
if (queryParam.security) {
|
||||
if (queryParam.security == "tls" || queryParam.security == "xtls") {
|
||||
opt.set('tls', true);
|
||||
opt.get('tls').dispatchEvent(event);
|
||||
if (queryParam.security == "xtls") {
|
||||
opt.set('xtls', true);
|
||||
opt.get('xtls').dispatchEvent(event);
|
||||
opt.set('flow', queryParam.flow || "xtls-rprx-direct");
|
||||
}
|
||||
opt.set('tls_serverName', queryParam.sni || '');
|
||||
|
||||
opt.set('tls_allowInsecure', true);
|
||||
if (queryParam.allowinsecure === '0') {
|
||||
opt.set('tls_allowInsecure', false);
|
||||
}
|
||||
opt.get('tls_allowInsecure').dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
if (queryParam.type === "kcp" || queryParam.type === "mkcp")
|
||||
queryParam.type = "mkcp"
|
||||
opt.set('transport', queryParam.type);
|
||||
opt.get('transport').dispatchEvent(event);
|
||||
if (queryParam.type === "tcp") {
|
||||
opt.set('tcp_guise', queryParam.headerType || "none");
|
||||
opt.get('tcp_guise').dispatchEvent(event);
|
||||
if (queryParam.headerType && queryParam.headerType != "none") {
|
||||
opt.set('tcp_guise_http_host', queryParam.host || "");
|
||||
opt.set('tcp_guise_http_path', queryParam.path || "");
|
||||
}
|
||||
} else if (queryParam.type === "ws") {
|
||||
opt.set('ws_host', queryParam.host || "");
|
||||
opt.set('ws_path', queryParam.path || "");
|
||||
} else if (queryParam.type === "h2") {
|
||||
opt.set('h2_host', queryParam.host || "");
|
||||
opt.set('h2_path', queryParam.path || "");
|
||||
} else if (queryParam.type === "quic") {
|
||||
opt.set('quic_guise', queryParam.headerType || "none");
|
||||
opt.get('quic_guise').dispatchEvent(event);
|
||||
opt.set('quic_security', queryParam.quicSecurity);
|
||||
opt.set('quic_key', queryParam.key);
|
||||
} else if (queryParam.type === "kcp" || queryParam.type === "mkcp") {
|
||||
opt.set('mkcp_guise', queryParam.headerType || "none");
|
||||
opt.get('mkcp_guise').dispatchEvent(event);
|
||||
}
|
||||
} else {
|
||||
s.innerHTML = "<font color='red'><%:Invalid Share URL Format%></font>: " + ssu[0];
|
||||
return false;
|
||||
@ -600,7 +785,7 @@ local api = require "luci.model.cbi.passwall.api.api"
|
||||
}
|
||||
|
||||
//]]></script>
|
||||
<input type="text" class="hidden" id='<%=self.option%>-dummy' value="0.0.0.0" />
|
||||
<input type="text" class="hidden" id='<%=self.option%>-dummy' value="" />
|
||||
<input type="button" class="cbi-button cbi-button-apply" value='<%:From Share URL%>' onclick="return fromUrl(this, '<%=self.option%>', '<%=self.value%>')" />
|
||||
<input type="button" class="cbi-button cbi-button-apply" value='<%:Build Share URL%>' onclick="return buildUrl(this, '<%=self.option%>', '<%=self.value%>')" />
|
||||
<span id="<%=self.option%>-status"></span>
|
||||
|
||||
@ -292,6 +292,9 @@ msgstr "单进程"
|
||||
msgid "Proxy Mode"
|
||||
msgstr "代理模式"
|
||||
|
||||
msgid "%s Proxy Mode"
|
||||
msgstr "%s 代理模式"
|
||||
|
||||
msgid "If not available, try clearing the cache."
|
||||
msgstr "如果无法使用,请尝试清除缓存。"
|
||||
|
||||
@ -337,12 +340,6 @@ msgstr "SS/SSR/Vmess/VLESS/Trojan链接"
|
||||
msgid "Please enter the correct link, ss:// ssr:// vmess:// vless:// trojan://"
|
||||
msgstr "请输入正确的链接,ss:// ssr:// vmess:// vless:// trojan://"
|
||||
|
||||
msgid "Load Cached"
|
||||
msgstr "加载缓存"
|
||||
|
||||
msgid "Clear Cached"
|
||||
msgstr "清除缓存"
|
||||
|
||||
msgid "Clear all nodes"
|
||||
msgstr "清空所有节点"
|
||||
|
||||
@ -451,14 +448,11 @@ msgstr "负载均衡节点列表"
|
||||
msgid "Load balancing node list, <a target='_blank' href='https://toutyrater.github.io/routing/balance2.html'>document</a>"
|
||||
msgstr "负载均衡节点列表,<a target='_blank' href='https://toutyrater.github.io/routing/balance2.html'>文档原理</a>"
|
||||
|
||||
msgid "Share Current"
|
||||
msgstr "所见即所得"
|
||||
|
||||
msgid "From Share URL"
|
||||
msgstr "导入配置信息"
|
||||
msgstr "导入分享URL"
|
||||
|
||||
msgid "Build Share URL"
|
||||
msgstr "导出配置信息"
|
||||
msgstr "导出分享URL"
|
||||
|
||||
msgid "Import Finished"
|
||||
msgstr "导入完成:"
|
||||
@ -467,19 +461,16 @@ msgid "Not a supported scheme:"
|
||||
msgstr "不支持这种样式的:"
|
||||
|
||||
msgid "Invalid Share URL Format"
|
||||
msgstr "无效的分享信息"
|
||||
|
||||
msgid "User cancelled"
|
||||
msgstr "用户已取消"
|
||||
msgstr "无效的分享URL信息"
|
||||
|
||||
msgid "Paste Share URL Here"
|
||||
msgstr "在此处粘贴分享信息"
|
||||
|
||||
msgid "Unable share to clipboard, copy to batch mode still:"
|
||||
msgstr "无法分享网址到剪贴板,复制到批量导入临时输入:"
|
||||
msgid "Share url to clipboard unable."
|
||||
msgstr "无法分享URL到剪贴板。"
|
||||
|
||||
msgid "Share to clipboard successfully, copy to batch mode still:"
|
||||
msgstr "成功复制分享网址到剪贴板和批量导入临时输入:"
|
||||
msgid "Share url to clipboard successfully."
|
||||
msgstr "成功复制分享URL到剪贴板。"
|
||||
|
||||
msgid "Faltal on get option, please help in debug:"
|
||||
msgstr "代码错误,请协助捉虫:"
|
||||
@ -766,6 +757,9 @@ msgstr "Xray 资源文件目录"
|
||||
msgid "This variable specifies a directory where geoip.dat and geosite.dat files are."
|
||||
msgstr "此变量指定geoip.dat和geosite.dat文件所在的目录。"
|
||||
|
||||
msgid "Shunt Rule"
|
||||
msgstr "分流规则"
|
||||
|
||||
msgid "Please note attention to the priority, the higher the order, the higher the priority."
|
||||
msgstr "请注意优先级问题,排序越上面优先级越高。"
|
||||
|
||||
@ -1183,6 +1177,9 @@ msgstr "日志"
|
||||
msgid "Log"
|
||||
msgstr "日志"
|
||||
|
||||
msgid "%s Node Log Close"
|
||||
msgstr "%s 节点日志关闭"
|
||||
|
||||
msgid "Log Level"
|
||||
msgstr "日志等级"
|
||||
|
||||
|
||||
@ -801,7 +801,8 @@ start_dns() {
|
||||
nonuse)
|
||||
echolog " - 不过滤DNS..."
|
||||
TUN_DNS=""
|
||||
return
|
||||
use_chinadns_ng=$(config_t_get global always_use_chinadns_ng 0)
|
||||
[ "$use_chinadns_ng" == "0" ] && return
|
||||
;;
|
||||
dns2socks)
|
||||
local dns2socks_socks_server=$(echo $(config_t_get global socks_server 127.0.0.1:9050) | sed "s/#/:/g")
|
||||
|
||||
@ -62,7 +62,7 @@ RULE_LAST_INDEX() {
|
||||
local chain=${1}; shift
|
||||
local list=${1}; shift
|
||||
local default=${1:-0}; shift
|
||||
local _index=$($ipt_tmp -n -L $chain --line-numbers 2>/dev/null | grep "$list" | sed -n '$p' | awk '{print $1}')
|
||||
local _index=$($ipt_tmp -n -L $chain --line-numbers 2>/dev/null | grep "$list" | head -n 1 | awk '{print $1}')
|
||||
echo "${_index:-${default}}"
|
||||
}
|
||||
|
||||
@ -550,27 +550,29 @@ add_firewall_rule() {
|
||||
# 过滤所有节点IP
|
||||
filter_vpsip > /dev/null 2>&1 &
|
||||
filter_haproxy > /dev/null 2>&1 &
|
||||
|
||||
# 据说能提升性能?
|
||||
$ipt_m -N PSW_DIVERT
|
||||
$ipt_m -A PSW_DIVERT -j MARK --set-mark 1
|
||||
$ipt_m -A PSW_DIVERT -j ACCEPT
|
||||
$ipt_m -A PREROUTING -p tcp -m socket -j PSW_DIVERT
|
||||
|
||||
$ipt_n -N PSW
|
||||
$ipt_n -A PSW $(dst $IPSET_LANIPLIST) -j RETURN
|
||||
$ipt_n -A PSW $(dst $IPSET_VPSIPLIST) -j RETURN
|
||||
$ipt_n -A PSW $(dst $IPSET_WHITELIST) -j RETURN
|
||||
$ipt_n -A PSW -m mark --mark 0xff -j RETURN
|
||||
local PR_INDEX=$(RULE_LAST_INDEX "$ipt_n" PREROUTING prerouting_rule)
|
||||
PR_INDEX=$(RULE_LAST_INDEX "$ipt_n" PREROUTING prerouting_rule)
|
||||
PR_INDEX=$((PR_INDEX + 1))
|
||||
$ipt_n -I PREROUTING $PR_INDEX -p tcp -j PSW
|
||||
unset PR_INDEX
|
||||
|
||||
$ipt_n -N PSW_OUTPUT
|
||||
$ipt_n -A PSW_OUTPUT $(dst $IPSET_LANIPLIST) -j RETURN
|
||||
$ipt_n -A PSW_OUTPUT $(dst $IPSET_VPSIPLIST) -j RETURN
|
||||
$ipt_n -A PSW_OUTPUT $(dst $IPSET_WHITELIST) -j RETURN
|
||||
$ipt_n -A PSW_OUTPUT -m mark --mark 0xff -j RETURN
|
||||
|
||||
# 据说能提升性能?
|
||||
PR_INDEX=$(RULE_LAST_INDEX "$ipt_m" PREROUTING mwan3 1)
|
||||
$ipt_m -N PSW_DIVERT
|
||||
$ipt_m -A PSW_DIVERT -j MARK --set-mark 1
|
||||
$ipt_m -A PSW_DIVERT -j ACCEPT
|
||||
$ipt_m -I PREROUTING $PR_INDEX -p tcp -m socket -j PSW_DIVERT
|
||||
|
||||
$ipt_m -N PSW
|
||||
$ipt_m -A PSW $(dst $IPSET_LANIPLIST) -j RETURN
|
||||
@ -578,7 +580,9 @@ add_firewall_rule() {
|
||||
$ipt_m -A PSW $(dst $IPSET_WHITELIST) -j RETURN
|
||||
$ipt_m -A PSW -m mark --mark 0xff -j RETURN
|
||||
$ipt_m -A PSW $(dst $IPSET_BLOCKLIST) -j DROP
|
||||
$ipt_m -A PREROUTING -j PSW
|
||||
PR_INDEX=$((PR_INDEX + 1))
|
||||
$ipt_m -I PREROUTING $PR_INDEX -j PSW
|
||||
unset PR_INDEX
|
||||
|
||||
$ipt_m -N PSW_OUTPUT
|
||||
$ipt_m -A PSW_OUTPUT $(dst $IPSET_LANIPLIST) -j RETURN
|
||||
|
||||
@ -328,7 +328,6 @@ local function processData(szType, content, add_mode)
|
||||
result.address = info.add
|
||||
result.port = info.port
|
||||
result.protocol = 'vmess'
|
||||
result.transport = info.net
|
||||
result.alter_id = info.aid
|
||||
result.uuid = info.id
|
||||
result.remarks = info.ps
|
||||
@ -350,7 +349,8 @@ local function processData(szType, content, add_mode)
|
||||
result.tcp_guise_http_host = info.host
|
||||
result.tcp_guise_http_path = info.path
|
||||
end
|
||||
if info.net == 'kcp' then
|
||||
if info.net == 'kcp' or info.net == 'mkcp' then
|
||||
info.net = "mkcp"
|
||||
result.mkcp_guise = info.type
|
||||
result.mkcp_mtu = 1350
|
||||
result.mkcp_tti = 50
|
||||
@ -364,10 +364,11 @@ local function processData(szType, content, add_mode)
|
||||
result.quic_key = info.key
|
||||
result.quic_security = info.securty
|
||||
end
|
||||
result.transport = info.net
|
||||
if not info.security then result.security = "auto" end
|
||||
if info.tls == "tls" or info.tls == "1" then
|
||||
result.tls = "1"
|
||||
result.tls_serverName = info.host
|
||||
result.tls_serverName = info.sni
|
||||
result.tls_allowInsecure = allowInsecure_default and "1" or "0"
|
||||
else
|
||||
result.tls = "0"
|
||||
@ -598,7 +599,7 @@ local function processData(szType, content, add_mode)
|
||||
local params = {}
|
||||
for _, v in pairs(split(query[2], '&')) do
|
||||
local t = split(v, '=')
|
||||
params[string.lower(t[1])] = UrlDecode(t[2])
|
||||
params[t[1]] = UrlDecode(t[2])
|
||||
end
|
||||
|
||||
if params.type == 'ws' then
|
||||
@ -614,7 +615,8 @@ local function processData(szType, content, add_mode)
|
||||
result.tcp_guise_http_host = params.host
|
||||
result.tcp_guise_http_path = params.path
|
||||
end
|
||||
if params.type == 'kcp' then
|
||||
if params.type == 'kcp' or params.type == 'mkcp' then
|
||||
params.type = "mkcp"
|
||||
result.mkcp_guise = params.headerType or "none"
|
||||
result.mkcp_mtu = 1350
|
||||
result.mkcp_tti = 50
|
||||
@ -628,6 +630,7 @@ local function processData(szType, content, add_mode)
|
||||
result.quic_key = params.key
|
||||
result.quic_security = params.quicSecurity or "none"
|
||||
end
|
||||
result.transport = params.type
|
||||
|
||||
result.encryption = params.encryption or "none"
|
||||
|
||||
|
||||
45
package/network/config/firewall4/Makefile
Normal file
45
package/network/config/firewall4/Makefile
Normal file
@ -0,0 +1,45 @@
|
||||
#
|
||||
# Copyright (C) 2021 Jo-Philipp Wich <jo@mein.io>
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=firewall4
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall4.git
|
||||
PKG_SOURCE_DATE:=2021-03-19
|
||||
PKG_SOURCE_VERSION:=59dbb982b7fefa480196dec03ba51c4f8c4dd7ae
|
||||
PKG_MIRROR_HASH:=3f37bea16fa553539d820cc49be92e23d3e1fd9b52db57dcbd06e78070044930
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/firewall4
|
||||
SECTION:=net
|
||||
CATEGORY:=Base system
|
||||
TITLE:=OpenWrt 4th gen firewall
|
||||
DEPENDS:=+ucode +ucode-mod-fs +ucode-mod-uci +ucode-mod-ubus +kmod-nft-core +kmod-nft-fib +kmod-nft-nat +kmod-nft-nat6 +nftables-json
|
||||
CONFLICTS:=firewall kmod-ipt-nat
|
||||
endef
|
||||
|
||||
define Package/firewall4/description
|
||||
This package provides an nftables-based implementation of the UCI firewall
|
||||
sharing the same configuration format.
|
||||
endef
|
||||
|
||||
define Package/firewall4/conffiles
|
||||
/etc/config/firewall
|
||||
/etc/nftables.d/
|
||||
endef
|
||||
|
||||
define Package/firewall4/install
|
||||
$(CP) -a $(PKG_BUILD_DIR)/root/* $(1)/
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,firewall4))
|
||||
@ -0,0 +1,12 @@
|
||||
--- a/pppd/Makefile.linux
|
||||
+++ b/pppd/Makefile.linux
|
||||
@@ -48,7 +48,8 @@ MPPE=y
|
||||
# Uncomment the next line to include support for PPP packet filtering.
|
||||
# This requires that the libpcap library and headers be installed
|
||||
# and that the kernel driver support PPP packet filtering.
|
||||
-#FILTER=y
|
||||
+# libpcap statically linked in OpenWRT, hence disabled here.
|
||||
+FILTER=
|
||||
|
||||
# Support for precompiled filters
|
||||
PRECOMPILED_FILTER=y
|
||||
@ -19,6 +19,7 @@
|
||||
"socket",
|
||||
"poll",
|
||||
"fcntl64",
|
||||
"fstat",
|
||||
"epoll_create",
|
||||
"epoll_ctl",
|
||||
"epoll_wait",
|
||||
|
||||
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=iproute2
|
||||
PKG_VERSION:=5.11.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
|
||||
@ -33,29 +33,46 @@ endef
|
||||
|
||||
define Package/ip-tiny
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Routing control utility (Minimal)
|
||||
VARIANT:=tiny
|
||||
DEFAULT_VARIANT:=1
|
||||
PROVIDES:=ip
|
||||
ALTERNATIVES:=200:/sbin/ip:/usr/libexec/ip-tiny
|
||||
DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
TITLE:=Routing control utility (minimal)
|
||||
VARIANT:=iptiny
|
||||
DEFAULT_VARIANT:=1
|
||||
PROVIDES:=ip
|
||||
ALTERNATIVES:=200:/sbin/ip:/usr/libexec/ip-tiny
|
||||
DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
endef
|
||||
|
||||
define Package/ip-full
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Routing control utility (Full)
|
||||
VARIANT:=full
|
||||
PROVIDES:=ip
|
||||
ALTERNATIVES:=300:/sbin/ip:/usr/libexec/ip-full
|
||||
DEPENDS:=+libnl-tiny +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libcap
|
||||
TITLE:=Routing control utility (full)
|
||||
VARIANT:=ipfull
|
||||
PROVIDES:=ip
|
||||
ALTERNATIVES:=300:/sbin/ip:/usr/libexec/ip-full
|
||||
DEPENDS:=+libnl-tiny +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
endef
|
||||
|
||||
define Package/tc
|
||||
define Package/tc-tiny
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Traffic control utility
|
||||
VARIANT:=tc
|
||||
TITLE:=Traffic control utility (minimal)
|
||||
VARIANT:=tctiny
|
||||
DEFAULT_VARIANT:=1
|
||||
PROVIDES:=tc
|
||||
DEPENDS:=+kmod-sched-core +libxtables +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl +PACKAGE_ip-full:libcap
|
||||
ALTERNATIVES:=200:/sbin/tc:/usr/libexec/tc-tiny
|
||||
DEPENDS:=+kmod-sched-core +libxtables +tc-mod-iptables +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
endef
|
||||
|
||||
define Package/tc-full
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Traffic control utility (full)
|
||||
VARIANT:=tcfull
|
||||
PROVIDES:=tc
|
||||
ALTERNATIVES:=300:/sbin/tc:/usr/libexec/tc-full
|
||||
DEPENDS:=+kmod-sched-core +libxtables +tc-mod-iptables +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
|
||||
endef
|
||||
|
||||
define Package/tc-mod-iptables
|
||||
$(call Package/iproute2/Default)
|
||||
TITLE:=Traffic control module - iptables action
|
||||
DEPENDS:=+libxtables
|
||||
endef
|
||||
|
||||
define Package/genl
|
||||
@ -94,18 +111,22 @@ $(call Package/iproute2/Default)
|
||||
DEPENDS:=+libmnl +PACKAGE_ip-full:libcap
|
||||
endef
|
||||
|
||||
ifeq ($(BUILD_VARIANT),tiny)
|
||||
ifeq ($(BUILD_VARIANT),iptiny)
|
||||
IP_CONFIG_TINY:=y
|
||||
LIBBPF_FORCE:=off
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),full)
|
||||
ifeq ($(BUILD_VARIANT),ipfull)
|
||||
HAVE_ELF:=y
|
||||
LIBBPF_FORCE:=on
|
||||
HAVE_CAP:=n
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),tc)
|
||||
ifeq ($(BUILD_VARIANT),tctiny)
|
||||
LIBBPF_FORCE:=off
|
||||
SHARED_LIBS:=y
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),tcfull)
|
||||
HAVE_ELF:=y
|
||||
LIBBPF_FORCE:=on
|
||||
SHARED_LIBS:=y
|
||||
@ -167,15 +188,19 @@ define Package/ip-full/install
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ip/ip $(1)/usr/libexec/ip-full
|
||||
endef
|
||||
|
||||
define Package/tc/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/sbin/
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||
$(INSTALL_BIN) ./files/15-teql $(1)/etc/hotplug.d/iface/
|
||||
ifeq ($(SHARED_LIBS),y)
|
||||
define Package/tc-tiny/install
|
||||
$(INSTALL_DIR) $(1)/usr/libexec
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-tiny
|
||||
endef
|
||||
|
||||
define Package/tc-full/install
|
||||
$(INSTALL_DIR) $(1)/usr/libexec
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-full
|
||||
endef
|
||||
|
||||
define Package/tc-mod-iptables/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/tc
|
||||
$(CP) $(PKG_BUILD_DIR)/tc/*.so $(1)/usr/lib/tc
|
||||
endif
|
||||
$(CP) $(PKG_BUILD_DIR)/tc/m_xt.so $(1)/usr/lib/tc
|
||||
endef
|
||||
|
||||
define Package/genl/install
|
||||
@ -210,7 +235,9 @@ endef
|
||||
|
||||
$(eval $(call BuildPackage,ip-tiny))
|
||||
$(eval $(call BuildPackage,ip-full))
|
||||
$(eval $(call BuildPackage,tc))
|
||||
$(eval $(call BuildPackage,tc-tiny))
|
||||
$(eval $(call BuildPackage,tc-full))
|
||||
$(eval $(call BuildPackage,tc-mod-iptables))
|
||||
$(eval $(call BuildPackage,genl))
|
||||
$(eval $(call BuildPackage,ip-bridge))
|
||||
$(eval $(call BuildPackage,ss))
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
From c77310119f9a5f99221dd967c5eb0c7a26094b41 Mon Sep 17 00:00:00 2001
|
||||
From: Tony Ambardar <Tony.Ambardar@gmail.com>
|
||||
Date: Wed, 3 Mar 2021 10:29:24 -0800
|
||||
Subject: [PATCH] lib/bpf: add missing limits.h includes
|
||||
|
||||
Several functions in bpf_glue.c and bpf_libbpf.c rely on PATH_MAX, which is
|
||||
normally included from <limits.h> in other iproute2 source files.
|
||||
|
||||
It fixes errors seen using gcc 10.2.0, binutils 2.35.1 and musl 1.1.24:
|
||||
|
||||
bpf_glue.c: In function 'get_libbpf_version':
|
||||
bpf_glue.c:46:11: error: 'PATH_MAX' undeclared (first use in this function);
|
||||
did you mean 'AF_MAX'?
|
||||
46 | char buf[PATH_MAX], *s;
|
||||
| ^~~~~~~~
|
||||
| AF_MAX
|
||||
|
||||
Reported-by: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com>
|
||||
---
|
||||
lib/bpf_glue.c | 2 ++
|
||||
lib/bpf_libbpf.c | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
--- a/lib/bpf_glue.c
|
||||
+++ b/lib/bpf_glue.c
|
||||
@@ -4,6 +4,8 @@
|
||||
* Authors: Hangbin Liu <haliu@redhat.com>
|
||||
*
|
||||
*/
|
||||
+#include <limits.h>
|
||||
+
|
||||
#include "bpf_util.h"
|
||||
#ifdef HAVE_LIBBPF
|
||||
#include <bpf/bpf.h>
|
||||
--- a/lib/bpf_libbpf.c
|
||||
+++ b/lib/bpf_libbpf.c
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <stdint.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
+#include <limits.h>
|
||||
|
||||
#include <libelf.h>
|
||||
#include <gelf.h>
|
||||
@ -170,7 +170,7 @@ Includes support for:
|
||||
endef
|
||||
|
||||
define Package/iptables-mod-cgroup
|
||||
$(call Package/iptables/Module, +kmod-ipt-cgroup)
|
||||
$(call Package/iptables/Module, +kmod-ipt-extra)
|
||||
TITLE:=cgroup extension
|
||||
endef
|
||||
|
||||
@ -694,7 +694,6 @@ $(eval $(call BuildPlugin,iptables-mod-conntrack-label,$(IPT_CONNTRACK_LABEL-m))
|
||||
$(eval $(call BuildPlugin,iptables-mod-extra,$(IPT_EXTRA-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-physdev,$(IPT_PHYSDEV-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-filter,$(IPT_FILTER-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-cgroup,$(IPT_CGROUP-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-imq,$(IPT_IMQ-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-ipopt,$(IPT_IPOPT-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-ipsec,$(IPT_IPSEC-m)))
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
From 7eed119b84b0f7efb7ef351940dd895dc2379eb3 Mon Sep 17 00:00:00 2001
|
||||
From: Russell Senior <russell@personaltelco.net>
|
||||
Date: Mon, 15 Mar 2021 23:27:58 -0700
|
||||
Subject: [PATCH v2] udhcpc: ignore zero-length DHCP options
|
||||
|
||||
Discovered that the DHCP server on a TrendNet router (unknown model)
|
||||
provides a zero-length option 12 (Host Name) in the DHCP ACK message. This
|
||||
has the effect of causing udhcpc to drop the rest of the options, including
|
||||
option 51 (IP Address Lease Time), 3 (Router), and 6 (Domain Name Server),
|
||||
most importantly leaving the OpenWrt device with no default gateway.
|
||||
|
||||
The TrendNet behavior violates RFC 2132, which in Section 3.14 declares that
|
||||
option 12 has a miniumum length of 1 octet. It is perhaps not a cosmic coincidence
|
||||
that I found this behavior on Pi Day.
|
||||
|
||||
This patch allows zero length options without bailing out, by simply skipping them.
|
||||
|
||||
v2 changelog:
|
||||
* advance the optionptr by two bytes, not one;
|
||||
* add a message to warn about the rfc violation;
|
||||
|
||||
Signed-off-by: Russell Senior <russell@personaltelco.net>
|
||||
---
|
||||
networking/udhcp/common.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
|
||||
index 4bc719001..a16fd85d0 100644
|
||||
--- a/networking/udhcp/common.c
|
||||
+++ b/networking/udhcp/common.c
|
||||
@@ -277,8 +277,13 @@ uint8_t* FAST_FUNC udhcp_scan_options(struct dhcp_packet *packet, struct dhcp_sc
|
||||
goto complain; /* complain and return NULL */
|
||||
len = 2 + scan_state->optionptr[OPT_LEN];
|
||||
scan_state->rem -= len;
|
||||
- /* So far no valid option with length 0 known. */
|
||||
- if (scan_state->rem < 0 || scan_state->optionptr[OPT_LEN] == 0)
|
||||
+ /* skip any options with zero length */
|
||||
+ if (scan_state->optionptr[OPT_LEN] == 0) {
|
||||
+ scan_state->optionptr += 2;
|
||||
+ bb_simple_error_msg("warning: zero length DHCP option violates rfc2132, skipping");
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (scan_state->rem < 0)
|
||||
goto complain; /* complain and return NULL */
|
||||
|
||||
if (scan_state->optionptr[OPT_CODE] == DHCP_OPTION_OVERLOAD) {
|
||||
--
|
||||
2.30.1
|
||||
|
||||
116
package/utils/ucode/Makefile
Normal file
116
package/utils/ucode/Makefile
Normal file
@ -0,0 +1,116 @@
|
||||
#
|
||||
# Copyright (C) 2020-2021 Jo-Philipp Wich <jo@mein.io>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ucode
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
||||
PKG_SOURCE_DATE:=2021-03-19
|
||||
PKG_SOURCE_VERSION:=4a5b9010ccc56fdf288fe758023af445feb93fad
|
||||
PKG_MIRROR_HASH:=145a2ce69e14cae9b448de85b94c7a817ba3aea04b1611399186ad36fb88958e
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/ucode/default
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=ucode - Tiny scripting and templating language
|
||||
endef
|
||||
|
||||
define Package/ucode
|
||||
$(Package/ucode/default)
|
||||
DEPENDS:=+libjson-c
|
||||
endef
|
||||
|
||||
define Package/ucode/description
|
||||
ucode is a tiny script interpreter featuring an ECMAScript oriented
|
||||
script language and Jinja-inspired templating.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-fs
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (filesystem module)
|
||||
DEPENDS:=ucode
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-fs/description
|
||||
The filesystem plugin module allows interaction with the local file system.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-math
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (math module)
|
||||
DEPENDS:=ucode
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-math/description
|
||||
The math plugin provides access to various <math.h> procedures.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-ubus
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (ubus module)
|
||||
DEPENDS:=ucode +libubus +libblobmsg-json
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-ubus/description
|
||||
The ubus module allows ucode template scripts to enumerate and invoke ubus
|
||||
procedures.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-uci
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (uci module)
|
||||
DEPENDS:=ucode +libuci
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-uci/description
|
||||
The uci module allows templates to read and modify uci configuration.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ucode $(1)/usr/bin/ucode
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-fs/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/fs.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-math/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/math.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-ubus/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/ubus.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-uci/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/uci.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,ucode))
|
||||
$(eval $(call BuildPackage,ucode-mod-fs))
|
||||
$(eval $(call BuildPackage,ucode-mod-math))
|
||||
$(eval $(call BuildPackage,ucode-mod-ubus))
|
||||
$(eval $(call BuildPackage,ucode-mod-uci))
|
||||
@ -294,7 +294,7 @@ foreach my $mirror (@ARGV) {
|
||||
}
|
||||
}
|
||||
|
||||
unshift @mirrors, "http://182.140.223.146";
|
||||
unshift @mirrors, "http://182.140.223.146/dl";
|
||||
push @mirrors, 'https://sources.cdn.openwrt.org';
|
||||
push @mirrors, 'https://sources.openwrt.org';
|
||||
push @mirrors, 'https://mirror2.openwrt.org/sources';
|
||||
|
||||
@ -38,9 +38,10 @@ if output:
|
||||
"make",
|
||||
"--no-print-directory",
|
||||
"-C",
|
||||
"target/linux/{}".format(output['target'].split('/')[0]),
|
||||
"target/linux/{}".format(output["target"].split("/")[0]),
|
||||
"val.DEFAULT_PACKAGES",
|
||||
"val.ARCH_PACKAGES",
|
||||
"DUMP=1",
|
||||
],
|
||||
stdout=PIPE,
|
||||
stderr=PIPE,
|
||||
|
||||
@ -63,6 +63,9 @@ ifneq ($(CONFIG_EXTRA_TARGET_ARCH),)
|
||||
--enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-$(TARGET_SUFFIX)
|
||||
endif
|
||||
|
||||
HOST_CONFIGURE_VARS += \
|
||||
acx_cv_cc_gcc_supports_ada=false
|
||||
|
||||
define Host/Prepare
|
||||
$(call Host/Prepare/Default)
|
||||
ln -snf $(notdir $(HOST_BUILD_DIR)) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
|
||||
|
||||
@ -12,8 +12,8 @@ PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_VERSION:=a151f2e05a64727c552a297d129b8ef242ffb3b6
|
||||
PKG_MIRROR_HASH:=63802bbcbb851d08ea8e609edd2d3fc0828102c07da9cdd3639e16d07883ebae
|
||||
PKG_SOURCE_VERSION:=db32fc27e7bdfb5468200a94e9152bcc1c971d25
|
||||
PKG_MIRROR_HASH:=e02f8b7df03d675db6279b99212c8a645aa50f1ae7789fafd7bc1987145a4c92
|
||||
PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
|
||||
|
||||
|
||||
@ -6,8 +6,8 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=sparse
|
||||
|
||||
PKG_VERSION:=0.5.2
|
||||
PKG_HASH:=4632b7b74af72214247f982f976ba44206933bab3a2717e09df166fb5b8abe7a
|
||||
PKG_VERSION:=0.6.3
|
||||
PKG_HASH:=d4f6dbad8409e8e20a19f164b2c16f1edf76438ff77cf291935fde081b61a899
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
|
||||
Loading…
Reference in New Issue
Block a user