Merge Mainline

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2021-03-22 22:06:22 +08:00
commit 46991afe7c
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
92 changed files with 783 additions and 505 deletions

View File

@ -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

View File

@ -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

View 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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" \

View File

@ -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 \

View File

@ -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))

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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))

View File

@ -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:=:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 \

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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"))

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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 "日志等级"

View File

@ -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")

View File

@ -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

View File

@ -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"

View 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))

View File

@ -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

View File

@ -19,6 +19,7 @@
"socket",
"poll",
"fcntl64",
"fstat",
"epoll_create",
"epoll_ctl",
"epoll_wait",

View File

@ -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))

View File

@ -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>

View File

@ -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)))

View File

@ -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

View 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))

View File

@ -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';

View File

@ -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,

View File

@ -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)

View File

@ -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

View File

@ -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