diff --git a/lang/php8-pecl-xdebug/Makefile b/lang/php8-pecl-xdebug/Makefile index 1a998f4d7..9a08e31ab 100644 --- a/lang/php8-pecl-xdebug/Makefile +++ b/lang/php8-pecl-xdebug/Makefile @@ -8,9 +8,9 @@ include $(TOPDIR)/rules.mk PECL_NAME:=xdebug PECL_LONGNAME:=Xdebug extension -PKG_VERSION:=3.1.5 +PKG_VERSION:=3.1.6 PKG_RELEASE:=1 -PKG_HASH:=55f6ef381245da079b2fc5ce1cfbcb7961197d0c0e04f9d977613cf9aa969a79 +PKG_HASH:=554eca0b4d5b7b93cb2258fab0b0bd84cc8721e74322a2255c14e137cbcad5d2 PKG_NAME:=php8-pecl-xdebug PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz diff --git a/libs/libebml/Makefile b/libs/libebml/Makefile deleted file mode 100644 index 5df9fe743..000000000 --- a/libs/libebml/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=libebml -PKG_VERSION:=1.4.2 -PKG_RELEASE:=$(AUTORELEASE) - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/Matroska-Org/libebml/tar.gz/release-$(PKG_VERSION)? -PKG_HASH:=66486742fd4f443553ad1917505208404c8c4240c0ab26cedaf41d9476efc665 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-release-$(PKG_VERSION) - -PKG_MAINTAINER:= -PKG_LICENSE:=LGPL-2.1-or-later -PKG_LICENSE_FILES:=LICENSE.LGPL - -CMAKE_INSTALL:=1 - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -define Package/libebml - SECTION:=libs - CATEGORY:=Libraries - TITLE:=a C++ libary to parse EBML files - URL:=https://github.com/Matroska-Org/libebml - DEPENDS:=+libstdcpp - BUILDONLY:=1 -endef - -define Package/libebml/description - a C++ libary to parse EBML files - Specifications may be rendered at http://matroska-org.github.io/libebml/ -endef - -CMAKE_OPTIONS += \ - -DCMAKE_LINK_WHAT_YOU_USE=ON \ - -DDISABLE_PKGCONFIG=OFF \ - -DDISABLE_CMAKE_CONFIG=OFF \ - -DENABLE_WIN32_IO=OFF - -TARGET_LDFLAGS += -Wl,--gc-sections - -$(eval $(call BuildPackage,libebml)) diff --git a/libs/libebml/patches/010-gcc11.patch b/libs/libebml/patches/010-gcc11.patch deleted file mode 100644 index 0631c6dda..000000000 --- a/libs/libebml/patches/010-gcc11.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/src/EbmlString.cpp -+++ b/src/EbmlString.cpp -@@ -34,6 +34,7 @@ - \author Steve Lhomme - */ - #include -+#include - - #include "ebml/EbmlString.h" - ---- a/src/EbmlUnicodeString.cpp -+++ b/src/EbmlUnicodeString.cpp -@@ -36,6 +36,7 @@ - */ - - #include -+#include - - #include "ebml/EbmlUnicodeString.h" - diff --git a/libs/libgpg-error/Makefile b/libs/libgpg-error/Makefile index 0f0266320..77182fa5d 100644 --- a/libs/libgpg-error/Makefile +++ b/libs/libgpg-error/Makefile @@ -91,6 +91,11 @@ define Build/InstallDev $(INSTALL_DATA) \ $(PKG_INSTALL_DIR)/usr/share/aclocal/gpgrt.m4 \ $(1)/usr/share/aclocal/ + + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gpg-error.pc \ + $(1)/usr/lib/pkgconfig endef define Package/libgpg-error/install diff --git a/libs/libmatroska/Makefile b/libs/libmatroska/Makefile deleted file mode 100644 index ac8c2d61d..000000000 --- a/libs/libmatroska/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=libmatroska -PKG_VERSION:=1.6.3 -PKG_RELEASE:=$(AUTORELEASE) - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/Matroska-Org/libmatroska/tar.gz/release-$(PKG_VERSION)? -PKG_HASH:=0c8c875ae26ac69a722f7fd0f4a4fecb4fdff681f2a165f09c06a40cbf1d0de6 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-release-$(PKG_VERSION) - -PKG_MAINTAINER:= -PKG_LICENSE:=LGPL-2.1-or-later -PKG_LICENSE_FILES:=LICENSE.LGPL - -CMAKE_INSTALL:=1 -PKG_BUILD_DEPENDS:=libebml - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -define Package/libmatroska - SECTION:=libs - CATEGORY:=Libraries - TITLE:=a C++ libary to parse Matroska files (.mkv and .mka) - URL:=https://github.com/Matroska-Org/libmatroska - DEPENDS:=+libstdcpp - BUILDONLY:=1 -endef - -define Package/libmatroska/description - a C++ libary to parse and create Matroska files -endef - -CMAKE_OPTIONS += \ - -DCMAKE_LINK_WHAT_YOU_USE=ON \ - -DDISABLE_PKGCONFIG=OFF \ - -DDISABLE_CMAKE_CONFIG=OFF - -TARGET_LDFLAGS += -Wl,--gc-sections - -$(eval $(call BuildPackage,libmatroska)) diff --git a/libs/liburing/Makefile b/libs/liburing/Makefile index 93274a582..6eb84b18d 100644 --- a/libs/liburing/Makefile +++ b/libs/liburing/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=liburing -PKG_VERSION:=2.2 +PKG_VERSION:=2.3 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://git.kernel.dk/cgit/liburing/snapshot -PKG_HASH:=f52bad18e3ff11185165d52d2d7391e90a0fce8f33f2ee611ad9a8ce1feaf914 +PKG_HASH:=a65a6adbe80425c1c4d0740532ba42c3d4fd9dadd17a0e0bfd31c29e1c14dba8 PKG_MAINTAINER:=Christian Lachner PKG_LICENSE:=MIT diff --git a/libs/pugixml/Makefile b/libs/pugixml/Makefile deleted file mode 100644 index b80a3769a..000000000 --- a/libs/pugixml/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=pugixml -PKG_VERSION:=1.12.1 -PKG_RELEASE:=$(AUTORELEASE) - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/zeux/pugixml/releases/download/v$(PKG_VERSION) -PKG_HASH:=dcf671a919cc4051210f08ffd3edf9e4247f79ad583c61577a13ee93af33afc7 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-1.12 - -PKG_MAINTAINER:= -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -define Package/pugixml - SECTION:=libs - CATEGORY:=Libraries - TITLE:=pugixml - URL:=https://github.com/zeux/pugixml - DEPENDS:=+libstdcpp - BUILDONLY:=1 -endef - -define Package/pugixml/description - pugixml is a C++ XML processing library, which consists of a DOM-like interface - with rich traversal/modification capabilities, an extremely fast XML parser which - constructs the DOM tree from an XML file/buffer, and an XPath 1.0 implementation - for complex data-driven tree queries. Full Unicode support is also available, - with Unicode interface variants and conversions between different Unicode encodings - (which happen automatically during parsing/saving). -endef - -TARGET_CXXFLAGS += -flto - -define Build/InstallDev - $(call Build/InstallDev/cmake,$(1)) - $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/pugixml.pc - $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/pugixml.pc -endef - -$(eval $(call BuildPackage,pugixml)) diff --git a/libs/spdlog/Makefile b/libs/spdlog/Makefile deleted file mode 100644 index 94001690d..000000000 --- a/libs/spdlog/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=spdlog -PKG_VERSION:=1.9.2 -PKG_RELEASE:=$(AUTORELEASE) - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/gabime/spdlog/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=6fff9215f5cb81760be4cc16d033526d1080427d236e86d70bb02994f85e3d38 - -PKG_MAINTAINER:= -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE - -CMAKE_INSTALL:=1 - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -define Package/spdlog - SECTION:=libs - CATEGORY:=Libraries - TITLE:=spdlog - URL:=https://github.com/gabime/spdlog - DEPENDS:=+libfmt - BUILDONLY:=1 -endef - -define Package/spdlog/description - Very fast, header-only/compiled, C++ logging library. -endef - -CMAKE_OPTIONS += \ - -DSPDLOG_BUILD_SHARED=OFF \ - -DSPDLOG_BUILD_EXAMPLE=OFF \ - -DSPDLOG_BUILD_EXAMPLE_HO=OFF \ - -DSPDLOG_BUILD_TESTS=OFF \ - -DSPDLOG_BUILD_TESTS_HO=OFF \ - -DSPDLOG_BUILD_BENCH=OFF \ - -DSPDLOG_SANITIZE_ADDRESS=OFF \ - -DSPDLOG_INSTALL=ON \ - -DSPDLOG_FMT_EXTERNAL=ON \ - -DSPDLOG_FMT_EXTERNAL_HO=OFF \ - -DSPDLOG_NO_EXCEPTIONS=OFF - -TARGET_CXXFLAGS += -flto - -$(eval $(call BuildPackage,spdlog)) diff --git a/libs/sqlite3/Config-lib.in b/libs/sqlite3/Config-lib.in index bcf024aa6..7fcdb1bde 100644 --- a/libs/sqlite3/Config-lib.in +++ b/libs/sqlite3/Config-lib.in @@ -7,6 +7,13 @@ config SQLITE3_BATCH_ATOMIC_WRITE help Enable batch-atomic write optimization (supported only on F2FS). +config SQLITE3_COLUMN_METADATA + bool "Column metadata API extensions" + default y + help + Includes some additional APIs that provide convenient access to + meta-data about tables and queries. + config SQLITE3_DYNAMIC_EXTENSIONS bool "Dynamic extensions" default y diff --git a/libs/sqlite3/Makefile b/libs/sqlite3/Makefile index 81c2ce933..3f271e7d8 100644 --- a/libs/sqlite3/Makefile +++ b/libs/sqlite3/Makefile @@ -8,30 +8,26 @@ include $(TOPDIR)/rules.mk PKG_NAME:=sqlite -PKG_VERSION:=3370000 +PKG_VERSION:=3400000 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz -PKG_HASH:=731a4651d4d4b36fc7d21db586b2de4dd00af31fd54fb5a9a4b7f492057479f7 -PKG_SOURCE_URL:=https://www.sqlite.org/2021/ +PKG_SOURCE_URL:=https://www.sqlite.org/2022/ +PKG_HASH:=0333552076d2700c75352256e91c78bf5cd62491589ba0c69aed0a81868980e7 +PKG_CPE_ID:=cpe:/a:sqlite:sqlite PKG_LICENSE:=PUBLICDOMAIN PKG_LICENSE_FILES:= - PKG_MAINTAINER:= PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-autoconf-$(PKG_VERSION) - PKG_BUILD_PARALLEL:=1 - -PKG_CPE_ID:=cpe:/a:sqlite:sqlite - PKG_FIXUP:=autoreconf - PKG_INSTALL:=1 PKG_CONFIG_DEPENDS := \ CONFIG_SQLITE3_BATCH_ATOMIC_WRITE \ + CONFIG_SQLITE3_COLUMN_METADATA \ CONFIG_SQLITE3_DYNAMIC_EXTENSIONS \ CONFIG_SQLITE3_FTS3 \ CONFIG_SQLITE3_FTS4 \ @@ -101,7 +97,8 @@ TARGET_CFLAGS += \ -DHAVE_ISNAN \ -DHAVE_MALLOC_USABLE_SIZE \ -DSQLITE_ENABLE_UNLOCK_NOTIFY \ - $(if $(CONFIG_SQLITE3_BATCH_ATOMIC_WRITE),-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE) + $(if $(CONFIG_SQLITE3_BATCH_ATOMIC_WRITE),-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE) \ + $(if $(CONFIG_SQLITE3_COLUMN_METADATA),-DSQLITE_ENABLE_COLUMN_METADATA) CONFIGURE_ARGS += \ --disable-debug \ @@ -111,8 +108,8 @@ CONFIGURE_ARGS += \ --enable-threadsafe \ $(if $(CONFIG_SQLITE3_DYNAMIC_EXTENSIONS),--enable-dynamic-extensions,--disable-dynamic-extensions) \ $(if $(CONFIG_SQLITE3_FTS3),--enable-fts3,--disable-fts3) \ - $(if $(CONFIG_SQLITE3_FTS3),--enable-fts4,--disable-fts4) \ - $(if $(CONFIG_SQLITE3_FTS3),--enable-fts5,--disable-fts5) \ + $(if $(CONFIG_SQLITE3_FTS4),--enable-fts4,--disable-fts4) \ + $(if $(CONFIG_SQLITE3_FTS5),--enable-fts5,--disable-fts5) \ $(if $(CONFIG_SQLITE3_JSON1),--enable-json1,--disable-json1) \ $(if $(CONFIG_SQLITE3_RTREE),--enable-rtree,--disable-rtree) \ $(if $(CONFIG_SQLITE3_SESSION),--enable-session,--disable-session) diff --git a/multimedia/ices/Makefile b/multimedia/ices/Makefile index 9fe41219d..bdab17794 100644 --- a/multimedia/ices/Makefile +++ b/multimedia/ices/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ices -PKG_VERSION:=2.0.2 -PKG_RELEASE:=2 +PKG_VERSION:=2.0.3 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://downloads.xiph.org/releases/ices/ -PKG_HASH:=96458df835033c39236ad3bb099286c033241f8ea7c138e7ccf714e7ade75900 +PKG_HASH:=e620c67c8b311520b1d6a8a89d7fd1d1d08f299534d274b8a1a36ed33a7ee4a8 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING diff --git a/multimedia/tvheadend/Makefile b/multimedia/tvheadend/Makefile index f4358e166..c6a01e203 100644 --- a/multimedia/tvheadend/Makefile +++ b/multimedia/tvheadend/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tvheadend -PKG_VERSION:=2021-11-16 +PKG_VERSION:=2022-11-20 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/tvheadend/tvheadend.git -PKG_MIRROR_HASH:=1645e90b6b8f104f2749fb0911493010f7ae3176253f2a96a4d6094536207c03 -PKG_SOURCE_VERSION:=2efe90cdcf74fdc4179692d283cf46c85e1cf681 -PKG_SOURCE_DATE:=2021-11-16 +PKG_MIRROR_HASH:=9c1bb3eea3f3539454d17e4c6aabc774a104a772aa34ed39f248521cf6488ce5 +PKG_SOURCE_VERSION:=0ff96106aa2e0f9a384c3a2662ca005797a6b399 +PKG_SOURCE_DATE:=2022-11-20 PKG_LICENSE:=GPL-3.0 PKG_LICENSE_FILES:=LICENSE.md @@ -220,6 +220,7 @@ CONFIGURE_ARGS += \ --disable-pcloud_cache \ --enable-bundle \ --disable-uriparser \ + --disable-execinfo \ --nowerror=unused-variable ## Transcoding | Remove these from CONFIGURE_ARGS. diff --git a/multimedia/tvheadend/files/tvheadend.init b/multimedia/tvheadend/files/tvheadend.init index b47d25c7d..181bf62d8 100644 --- a/multimedia/tvheadend/files/tvheadend.init +++ b/multimedia/tvheadend/files/tvheadend.init @@ -18,11 +18,12 @@ TVH_GROUP=dvb execute_first_run() { + # $1 is the config dir. Default: /etc/tvheadend mkdir -p "$1" chown -R $TVH_USER "$1" # This should create a new configuration including an admin account with no name and no password, # but it aborts (-A) without saving it: - #"$PROG" -c "$1" -B -C -A -u $TVH_USER -g $TVH_GROUP >/dev/null 2>&1 + # "$PROG" -c "$1" -B -C -A -u $TVH_USER -g $TVH_GROUP >/dev/null 2>&1 # Instead, run it for 10s then kill it: "$PROG" -c "$1" -B -C -u $TVH_USER -g $TVH_GROUP & TVH_PID=$! ; sleep 10 ; kill $TVH_PID ; sleep 2 } @@ -41,15 +42,15 @@ ensure_config_exists() { fi # if use_temp_epgdb is enabled (default), most of the config is put to config_path - # (or /etc/config), except for epgdb.v2, which grows quite large and is write-heavy, + # (or /etc/config), except for epgdb.v3, which grows quite large and is write-heavy, # so it's put into volatile tmpfs - # epgdb.v2 is created and symlinked to main config dir upon each start (if it doesn't exist) + # epgdb.v3 is created and symlinked to main config dir upon each start (if it doesn't exist) config_get_bool use_temp_epgdb service use_temp_epgdb 1 if [ "$use_temp_epgdb" == "1" ]; then - TEMP_EPG="${TEMP_CONFIG}/epgdb.v2" - [ ! -f "$TEMP_EPG" ] && mkdir -p "$TEMP_CONFIG" && touch "$TEMP_EPG" && chmod 700 "$TEMP_EPG" + TEMP_EPG="${TEMP_CONFIG}/epgdb.v3" + [ ! -f "$TEMP_EPG" ] && mkdir -p "$TEMP_CONFIG" && touch "$TEMP_EPG" && chmod 755 "$TEMP_CONFIG" && chmod 644 "$TEMP_EPG" && chown -R $TVH_USER "$TEMP_CONFIG" [ -z "$config_path" ] && config_path="$PERSISTENT_CONFIG" - ln -sf "$TEMP_EPG" "${config_path}/epgdb.v2" + ln -sf "$TEMP_EPG" "${config_path}/epgdb.v3" fi } diff --git a/net/acme-acmesh/files/hook.sh b/net/acme-acmesh/files/hook.sh index e736dc599..89c61a58e 100644 --- a/net/acme-acmesh/files/hook.sh +++ b/net/acme-acmesh/files/hook.sh @@ -46,7 +46,8 @@ get) case $status in 0) $NOTIFY renewed - exit;; + exit + ;; 2) # renew skipped, ignore. exit @@ -109,10 +110,10 @@ get) case $status in 0) - ln -s "$domain_dir/$main_domain.cer" /etc/ssl/acme + ln -s "$domain_dir/$main_domain.cer" "/etc/ssl/acme/$main_domain.crt" ln -s "$domain_dir/$main_domain.key" /etc/ssl/acme - ln -s "$domain_dir/fullchain.cer" "/etc/ssl/acme/$main_domain.fullchain.cer" - ln -s "$domain_dir/ca.cer" "/etc/ssl/acme/$main_domain.chain.cer" + ln -s "$domain_dir/fullchain.cer" "/etc/ssl/acme/$main_domain.fullchain.crt" + ln -s "$domain_dir/ca.cer" "/etc/ssl/acme/$main_domain.chain.crt" $NOTIFY issued ;; *) diff --git a/net/adguardhome/Makefile b/net/adguardhome/Makefile index 0a5d0da30..8872fa4f4 100644 --- a/net/adguardhome/Makefile +++ b/net/adguardhome/Makefile @@ -6,13 +6,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=adguardhome -PKG_VERSION:=0.107.16 +PKG_VERSION:=0.107.18 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=v$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/AdguardTeam/AdGuardHome -PKG_MIRROR_HASH:=c41f8e9b9495b1684adcd1a9c0fe7af4a3ec225b19ced46fce477c4fb0db1ed4 +PKG_MIRROR_HASH:=d362e4ab0f18b9c06d58b84e020ff578ffa25d6b7dacf0bb7755a789d8e678dd PKG_LICENSE:=GPL-3.0-only PKG_LICENSE_FILES:=LICENSE.txt diff --git a/net/ariang/Makefile b/net/ariang/Makefile index c734bb62f..af89ca8af 100644 --- a/net/ariang/Makefile +++ b/net/ariang/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ariang -PKG_VERSION:=1.2.4 +PKG_VERSION:=1.3.2 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip PKG_SOURCE_URL:=https://github.com/mayswind/AriaNg/releases/download/$(PKG_VERSION) -PKG_HASH:=a72dc5d7640e864c2dd528c88db493a3056087412537e87c6c5a98141a482380 +PKG_HASH:=2186dacf57c9d1650e00084c0454f2227e910f3203d89c6190f547b40cac7243 UNPACK_CMD=unzip -q -d $(1) $(DL_DIR)/$(PKG_SOURCE) PKG_MAINTAINER:=Ansuel Smith diff --git a/net/cloudflared/Makefile b/net/cloudflared/Makefile index 4bdfd6333..5ec60b03e 100644 --- a/net/cloudflared/Makefile +++ b/net/cloudflared/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cloudflared -PKG_VERSION:=2022.10.3 +PKG_VERSION:=2022.11.0 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/cloudflare/cloudflared/tar.gz/$(PKG_VERSION)? -PKG_HASH:=e49db875da7513d8ae950b20c636225016022866850ff3df2484c0f56cdc4bc4 +PKG_HASH:=01478108dc4a4a74b2a9eecda35b1b7cc69ce33f45fe0c94edf598b90154fda0 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/net/frp/Makefile b/net/frp/Makefile index bc9748501..101a6f9f1 100644 --- a/net/frp/Makefile +++ b/net/frp/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=frp -PKG_VERSION:=0.44.0 +PKG_VERSION:=0.45.0 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/fatedier/frp/tar.gz/v${PKG_VERSION}? -PKG_HASH:=51a908c12ddf5cab0f3223f09ba7b8ff0890075d399fd2b51839abcf57b9d159 +PKG_HASH:=829cf9f14861ab1b074de6995282f30292f53513824372cfec4084a2e8de7123 PKG_MAINTAINER:=Richard Yu PKG_LICENSE:=Apache-2.0 diff --git a/net/gg/Makefile b/net/gg/Makefile index a05593121..5f369bc5b 100644 --- a/net/gg/Makefile +++ b/net/gg/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gg -PKG_VERSION:=0.2.14 +PKG_VERSION:=0.2.15 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/mzz2017/gg/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=f1438f2f2d4f376c3cec69d6a822fdf00f8511c56c32f6f48b13ee67b361341c +PKG_HASH:=8fde9a593daa535a186bacf909e41a4154ce666fb7c395bdccf81994c4658089 PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=AGPL-3.0-only diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile index 72bf1cef9..ed2e4677e 100644 --- a/net/https-dns-proxy/Makefile +++ b/net/https-dns-proxy/Makefile @@ -28,8 +28,8 @@ define Package/https-dns-proxy endef define Package/https-dns-proxy/description -https-dns-proxy is a light-weight DNS<-->HTTPS, non-caching translation proxy for the RFC 8484 DoH standard. -It receives regular (UDP) DNS requests and issues them via DoH. +Light-weight DNS-over-HTTPS, non-caching translation proxy for the RFC 8484 DoH standard. +It receives regular (UDP) DNS requests and resolves them via DoH resolver. Please see https://docs.openwrt.melmac.net/https-dns-proxy/ for more information. endef diff --git a/net/knot/Makefile b/net/knot/Makefile index 0a7c6a6d5..e68fe8894 100644 --- a/net/knot/Makefile +++ b/net/knot/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=knot -PKG_VERSION:=3.2.2 +PKG_VERSION:=3.2.3 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/ -PKG_HASH:=cea9c1988cdce7752f88fbe37378f65e83c4e54048978b94fb21a9c92f88788f +PKG_HASH:=f736ef284358923e312f8e1e3c6ce7c97b20965b09eb65705e9f7e3d5e9a9d79 PKG_MAINTAINER:=Daniel Salzman PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD BSD-3-Clause OLDAP-2.8 diff --git a/net/nextdns/Makefile b/net/nextdns/Makefile index 5a3fd840c..c5930405f 100644 --- a/net/nextdns/Makefile +++ b/net/nextdns/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nextdns -PKG_VERSION:=1.37.11 -PKG_RELEASE:=2 +PKG_VERSION:=1.38.0 +PKG_RELEASE:=1 PKG_SOURCE:=nextdns-$(PKG_VERSION).tar.gz PKG_SOURCE_VERSION:=v$(PKG_VERSION) PKG_SOURCE_URL:=https://codeload.github.com/nextdns/nextdns/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=f70cb424b0ae47456c8579d3910b486f75afde34572f28f8cf6eb1222e59b88b +PKG_HASH:=74cd9d37ea9051b5b5f8f10be1462fb4ebe77b4dbcccd8c94ba049828bd21bff PKG_MAINTAINER:=Olivier Poitrey PKG_LICENSE:=MIT diff --git a/net/ooniprobe/Makefile b/net/ooniprobe/Makefile index 4c02073d8..01f5fd041 100644 --- a/net/ooniprobe/Makefile +++ b/net/ooniprobe/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ooniprobe -PKG_VERSION:=3.14.2 +PKG_VERSION:=3.16.5 PKG_RELEASE:=1 PKG_SOURCE:=probe-cli-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/ooni/probe-cli/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=a0b71089444c899ba99c7f63f9e05819cdbe964cfa17bb95ca5672343e6aec22 +PKG_HASH:=198f7a3507482bfbf0fb24c24f34e17c9f5adbfdf5d8c63774ecd816708a4438 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=BSD-3-Clause diff --git a/net/rclone/Makefile b/net/rclone/Makefile index 6a1ec2c21..feb7a39b7 100644 --- a/net/rclone/Makefile +++ b/net/rclone/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rclone -PKG_VERSION:=1.60.0 +PKG_VERSION:=1.60.1 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/rclone/rclone/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=357ee8bb1c1589d9640f1eb87ffeb9dbe8bc7ea6f33f90f56df142515a32f4f2 +PKG_HASH:=b0037124c04fd1c31a1d9ae1c80e25555da3a22d7ab1ae714ed2c02247fbdac5 PKG_LICENSE:=MIT PKG_LICENSE_FILE:=LICENSE diff --git a/net/simple-adblock/Makefile b/net/simple-adblock/Makefile index 540a105f4..a2f05f792 100644 --- a/net/simple-adblock/Makefile +++ b/net/simple-adblock/Makefile @@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=simple-adblock -PKG_VERSION:=1.9.2 -PKG_RELEASE:=4 +PKG_VERSION:=1.9.3 +PKG_RELEASE:=1 PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=GPL-3.0-or-later diff --git a/net/simple-adblock/files/simple-adblock.conf b/net/simple-adblock/files/simple-adblock.conf index e15e7e864..e005f2317 100644 --- a/net/simple-adblock/files/simple-adblock.conf +++ b/net/simple-adblock/files/simple-adblock.conf @@ -7,6 +7,7 @@ config simple-adblock 'config' option compressed_cache '0' option config_update_enabled '0' option config_update_url 'https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' +# option curl_max_file_size '1000000' option curl_retry '3' option download_timeout '10' option debug '0' @@ -56,7 +57,7 @@ config simple-adblock 'config' # File size: 624.0K # block-list too big for most routers -# list blocked_hosts_url 'http://sysctl.org/cameleon/hosts' +# list blocked_hosts_url 'http://sysctl.org/cameleon/hosts' # File size: 1.6M # block-list too big for most routers @@ -66,7 +67,11 @@ config simple-adblock 'config' # block-list too big for most routers # list blocked_hosts_url 'https://hostsfile.mine.nu/Hosts' -# File size: 23.0M +# File size: 8.3M +# enabling this will disable processing of any other block/allow-lists +# option dnsmasq_config_file_url 'https://dnsmasq.oisd.nl/' + +# File size: 34.0M # block-list too big for most routers # list blocked_hosts_url 'https://hosts.oisd.nl/' diff --git a/net/simple-adblock/files/simple-adblock.init b/net/simple-adblock/files/simple-adblock.init index 2f10eb0d7..58c8eb7a7 100644 --- a/net/simple-adblock/files/simple-adblock.init +++ b/net/simple-adblock/files/simple-adblock.init @@ -62,6 +62,7 @@ readonly sharedMemoryError="/dev/shm/$packageName-error" readonly sharedMemoryOutput="/dev/shm/$packageName-output" readonly hostsFilter='/localhost/d;/^#/d;/^[^0-9]/d;s/^0\.0\.0\.0.//;s/^127\.0\.0\.1.//;s/[[:space:]]*#.*$//;s/[[:cntrl:]]$//;s/[[:space:]]//g;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;' readonly domainsFilter='/^#/d;s/[[:space:]]*#.*$//;s/[[:space:]]*$//;s/[[:cntrl:]]$//;/[[:space:]]/d;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;' +readonly dnsmasqAddressFilter='\|^address=/[[:alnum:]_.-].*/#|!d' readonly _OK_='\033[0;32m\xe2\x9c\x93\033[0m' readonly _FAIL_='\033[0;31m\xe2\x9c\x97\033[0m' readonly __OK__='\033[0;32m[\xe2\x9c\x93]\033[0m' @@ -74,7 +75,6 @@ readonly ipset="$(command -v ipset)" readonly nft="$(command -v nft)" readonly canaryDomainsMozilla='use-application-dns.net' readonly canaryDomainsiCloud='mask.icloud.com mask-h2.icloud.com' -# readonly canaryDomains="$canaryDomainsMozilla $canaryDomainsiCloud" debug() { local i j; for i in "$@"; do eval "j=\$$i"; echo "${i}: ${j} "; done; } @@ -184,7 +184,7 @@ output() { load_environment() { local i j wan_if wan_gw - local validation_result="$1" + local validation_result="$1" quiet="$2" if [ "$validation_result" != '0' ]; then output "${_ERROR_}: $packageName config validation failed!\\n" @@ -205,7 +205,18 @@ load_environment() { set -x fi - case $dns in + if [ -n "$dnsmasq_config_file_url" ]; then + case "$dns" in + dnsmasq.conf) :;; + *) + if [ -z "$quiet" ]; then + output "$_WARNING_: use of external dnsmasq config file detected, please set 'dns' option to 'dnsmasq.conf'!\\n" + fi + ;; + esac + fi + + case "$dns" in dnsmasq.addnhosts|dnsmasq.conf|dnsmasq.ipset|dnsmasq.nftset|dnsmasq.servers) if dnsmasq -v 2>/dev/null | grep -q 'no-IDN' || ! dnsmasq -v 2>/dev/null | grep -q -w 'IDN'; then allow_non_ascii=0 @@ -215,24 +226,32 @@ load_environment() { allow_non_ascii=1;; esac - case $dns in + case "$dns" in dnsmasq.ipset) if dnsmasq -v 2>/dev/null | grep -q 'no-ipset' || ! dnsmasq -v 2>/dev/null | grep -q -w 'ipset'; then - output "$_ERROR_: dnsmasq ipset support is enabled in $packageName, but dnsmasq is either not installed or installed dnsmasq does not support ipset!\\n" + if [ -z "$quiet" ]; then + output "$_ERROR_: dnsmasq ipset support is enabled in $packageName, but dnsmasq is either not installed or installed dnsmasq does not support ipset!\\n" + fi dns='dnsmasq.servers' fi if ! ipset help hash:net; then - output "$_ERROR_: dnsmasq ipset support is enabled in $packageName, but ipset is either not installed or installed ipset does not support 'hash:net' type!\\n" + if [ -z "$quiet" ]; then + output "$_ERROR_: dnsmasq ipset support is enabled in $packageName, but ipset is either not installed or installed ipset does not support 'hash:net' type!\\n" + fi dns='dnsmasq.servers' fi ;; dnsmasq.nftset) if dnsmasq -v 2>/dev/null | grep -q 'no-nftset' || ! dnsmasq -v 2>/dev/null | grep -q -w 'nftset'; then - output "$_ERROR_: dnsmasq nft sets support is enabled in $packageName, but dnsmasq is either not installed or installed dnsmasq does not support nft sets!\\n" + if [ -z "$quiet" ]; then + output "$_ERROR_: dnsmasq nft sets support is enabled in $packageName, but dnsmasq is either not installed or installed dnsmasq does not support nft sets!\\n" + fi dns='dnsmasq.servers' fi if [ -z "$nft" ]; then - output "$_ERROR_: dnsmasq nft sets support is enabled in $packageName, but nft is not installed!\\n" + if [ -z "$quiet" ]; then + output "$_ERROR_: dnsmasq nft sets support is enabled in $packageName, but nft is not installed!\\n" + fi dns='dnsmasq.servers' fi ;; @@ -332,21 +351,29 @@ load_environment() { is_present '/usr/libexec/grep-gnu' || s="$s grep" is_present '/usr/libexec/sed-gnu' || s="$s sed" is_present '/usr/libexec/sort-coreutils' || s="$s coreutils-sort" - output "$_WARNING_: Some recommended packages are missing, install them by running:\\n" - output "$s;\\n" + if [ -z "$quiet" ]; then + output "$_WARNING_: Some recommended packages are missing, install them by running:\\n" + output "$s;\\n" + fi fi # Prefer curl because it supports the file:// scheme. if is_present 'curl'; then - dl_command="curl --insecure --retry $curl_retry --connect-timeout $download_timeout --silent" + dl_command="curl --silent --insecure" + dl_command="${dl_command}${curl_max_file_size:+ --max-filesize $curl_max_file_size}" + dl_command="${dl_command}${curl_retry:+ --retry $curl_retry}" + dl_command="${dl_command}${download_timeout:+ --connect-timeout $download_timeout}" dl_flag="-o" elif is_present '/usr/libexec/wget-ssl'; then - dl_command="/usr/libexec/wget-ssl --no-check-certificate --timeout $download_timeout -q" + dl_command="/usr/libexec/wget-ssl --no-check-certificate -q" + dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" dl_flag="-O" elif is_present wget && wget --version 2>/dev/null | grep -q "+https"; then - dl_command="wget --no-check-certificate --timeout $download_timeout -q" + dl_command="wget --no-check-certificate -q" + dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" dl_flag="-O" else - dl_command="uclient-fetch --no-check-certificate --timeout $download_timeout -q" + dl_command="uclient-fetch --no-check-certificate -q" + dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" dl_flag="-O" fi led="${led:+/sys/class/leds/$led}" @@ -359,6 +386,7 @@ load_environment() { else unset isSSLSupported fi + cache 'test' && return 0 cache 'test_gzip' && return 0 network_flush_cache; network_find_wan wan_if; network_get_gateway wan_gw "$wan_if"; [ -n "$wan_gw" ] && return 0 @@ -503,7 +531,9 @@ json() { get) case "$param" in triggers) - curReload="$parallel_downloads $debug $download_timeout $allowed_domain $blocked_domain $allowed_domains_url $blocked_domains_url $blocked_hosts_url $dns $config_update_enabled $config_update_url" + curReload="$parallel_downloads $debug $download_timeout $allowed_domain $blocked_domain $allowed_domains_url \ + $blocked_domains_url $blocked_hosts_url $dns $config_update_enabled $config_update_url \ + $dnsmasq_config_file_url $curl_max_file_size $curl_retry" curRestart="$compressed_cache $force_dns $led $force_dns_port" if [ ! -s "$jsonFile" ]; then ret='on_boot' @@ -537,7 +567,9 @@ json() { set) case "$param" in triggers) - reload="$parallel_downloads $debug $download_timeout $allowed_domain $blocked_domain $allowed_domains_url $blocked_domains_url $blocked_hosts_url $dns $config_update_enabled $config_update_url" + reload="$parallel_downloads $debug $download_timeout $allowed_domain $blocked_domain $allowed_domains_url \ + $blocked_domains_url $blocked_hosts_url $dns $config_update_enabled $config_update_url \ + $dnsmasq_config_file_url $curl_max_file_size $curl_retry" restart="$compressed_cache $force_dns $led $force_dns_port" ;; *) @@ -604,16 +636,16 @@ process_url() { local label type D_TMP R_TMP if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then return 1; fi label="${1##*//}"; label="${label%%/*}"; - if [ "$2" = 'hosts' ]; then - label="Hosts: $label"; filter="$hostsFilter"; - else - label="Domains: $label"; filter="$domainsFilter"; - fi - if [ "$3" = 'blocked' ]; then - type='Blocked'; D_TMP="$B_TMP"; - else - type='Allowed'; D_TMP="$A_TMP"; - fi + case "$2" in + dnsmasq) label="Dnsmasq: $label"; filter="$dnsmasqAddressFilter";; + domains) label="Domains: $label"; filter="$domainsFilter";; + hosts) label="Hosts: $label"; filter="$hostsFilter";; + esac + case "$3" in + allowed) type='Allowed'; D_TMP="$A_TMP";; + blocked) type='Blocked'; D_TMP="$B_TMP";; + file) type='File'; D_TMP="$B_TMP";; + esac if [ "${1:0:5}" = "https" ] && [ -z "$isSSLSupported" ]; then output 1 "$_FAIL_" output 2 "[DL] $type $label $__FAIL__\\n" @@ -643,6 +675,42 @@ process_url() { return 0 } +download_dnsmasq_file() { + local hf allow_filter j=0 R_TMP + + json set message "$(get_status_text "statusDownloading")..." + json set status "statusDownloading" + + rm -f "$A_TMP" "$B_TMP" "$outputFile" "$outputCache" "$outputGzip" + if [ "$($awk '/^MemFree/ {print int($2/1000)}' "/proc/meminfo")" -lt 32 ]; then + output 3 'Low free memory, restarting resolver ' + if dns 'quiet'; then + output_okn + else + output_failn + fi + fi + touch $A_TMP; touch $B_TMP; + output 1 'Downloading dnsmasq file ' + rm -f "$sharedMemoryError" + process_url "$dnsmasq_config_file_url" 'dnsmasq' 'file' +# output 1 '\n' + if [ -s "$sharedMemoryError" ]; then + while IFS= read -r line; do + json add error "$line" + done < "$sharedMemoryError" + rm -f "$sharedMemoryError" + fi + output 2 'Creating dnsmasq file ' + if mv "$B_TMP" "$outputFile"; then + output 2 "$__OK__\\n" + else + output 2 "$__FAIL__\\n" + json add error "errorMovingDataFile" + fi + output 1 '\n' +} + download_lists() { local hf allow_filter j=0 R_TMP @@ -655,7 +723,7 @@ download_lists() { if dns 'quiet'; then output_okn else - output_fail + output_failn fi fi touch $A_TMP; touch $B_TMP; @@ -858,135 +926,140 @@ $(cat $A_TMP)" adb_allow() { local c hf string="$1" local validation_result="$3" - load_environment "$validation_result" || return 1 + load_environment "$validation_result" 'quiet' || return 1 if [ ! -s "$outputFile" ]; then output "No block-list ('$outputFile') found.\\n" + return 0 elif [ -z "$string" ]; then output "Usage: /etc/init.d/${packageName} allow 'domain' ...\\n" - else - case "$dns" in - dnsmasq.addnhosts|dnsmasq.conf|dnsmasq.ipset|dnsmasq.nftset|dnsmasq.servers) - output 1 "Allowing domain(s) and restarting dnsmasq " - output 2 "Allowing domain(s) \\n" - for c in $string; do - output 2 " $c " - hf="$(echo "$c" | sed 's/\./\\./g')" - if sed -i "/^${hf}$/d;/\.${hf}$/d;" "$outputFile" && \ - uci_add_list_if_new "${packageName}" 'config' 'allowed_domain' "$c"; then - output_ok - else - output_fail - fi - done - if [ "$compressed_cache" -gt 0 ]; then - output 2 'Creating compressed cache ' - if cache 'create_gzip'; then - output_ok - else - output_failn - fi - fi - output 2 "Committing changes to config " - if [ -n "$(uci_changes "$packageName")" ] && uci_commit "$packageName"; then - allowed_domain="$(uci_get "$packageName" 'config' 'allowed_domain')" - json set triggers - json set stats "$serviceName is blocking $(wc -l < "$outputFile") domains (with ${dns})" - output_ok; - if [ "$dns" = 'dnsmasq.ipset' ]; then - output 2 "Flushing adb ipset " - if ipset -q -! flush adb; then output_ok; else output_fail; fi - fi - if [ "$dns" = 'dnsmasq.nftset' ]; then - output 2 "Flushing adb nft sets " - nft flush set inet fw4 adb6 - if nft flush set inet fw4 adb4; then output_ok; else output_fail; fi - fi - output 2 "Restarting dnsmasq " - if dnsmasq_restart; then output_okn; else output_failn; fi - else - output_fail; - fi - ;; - unbound.adb_list) - output 1 "Allowing domain(s) and restarting Unbound " - output 2 "Allowing domain(s) \\n" - for c in $string; do - output 2 " $c " - if sed -i "/${string}/d" "$outputFile" && \ - uci_add_list_if_new "$packageName" 'config' 'allowed_domain' "$string"; then - output_ok - else - output_fail - fi - done - if [ "$compressed_cache" -gt 0 ]; then - output 2 'Creating compressed cache ' - if cache 'create_gzip'; then - output_ok - else - output_failn - fi - fi - output 2 "Committing changes to config " - if [ -n "$(uci_changes "$packageName")" ] && uci_commit "$packageName"; then - allowed_domain="$(uci_get "$packageName" 'config' 'allowed_domain')" - json set triggers - json set stats "$serviceName is blocking $(wc -l < "$outputFile") domains (with ${dns})" - output_ok; - output 2 "Restarting Unbound " - if unbound_restart; then output_okn; else output_failn; fi - else - output_fail; - fi - ;; - esac + return 0 + elif [ -n "$dnsmasq_config_file_url" ]; then + output "Allowing individual domains is not possible when using external dnsmasq config file.\\n" + return 0 fi + case "$dns" in + dnsmasq.addnhosts|dnsmasq.conf|dnsmasq.ipset|dnsmasq.nftset|dnsmasq.servers) + output 1 "Allowing domain(s) and restarting dnsmasq " + output 2 "Allowing domain(s) \\n" + for c in $string; do + output 2 " $c " + hf="$(echo "$c" | sed 's/\./\\./g')" + if sed -i "/^${hf}$/d;/\.${hf}$/d;" "$outputFile" && \ + uci_add_list_if_new "${packageName}" 'config' 'allowed_domain' "$c"; then + output_ok + else + output_fail + fi + done + if [ "$compressed_cache" -gt 0 ]; then + output 2 'Creating compressed cache ' + if cache 'create_gzip'; then + output_ok + else + output_failn + fi + fi + output 2 "Committing changes to config " + if [ -n "$(uci_changes "$packageName")" ] && uci_commit "$packageName"; then + allowed_domain="$(uci_get "$packageName" 'config' 'allowed_domain')" + json set triggers + json set stats "$serviceName is blocking $(wc -l < "$outputFile") domains (with ${dns})" + output_ok; + if [ "$dns" = 'dnsmasq.ipset' ]; then + output 2 "Flushing adb ipset " + if ipset -q -! flush adb; then output_ok; else output_fail; fi + fi + if [ "$dns" = 'dnsmasq.nftset' ]; then + output 2 "Flushing adb nft sets " + nft flush set inet fw4 adb6 + if nft flush set inet fw4 adb4; then output_ok; else output_fail; fi + fi + output 2 "Restarting dnsmasq " + if dnsmasq_restart; then output_okn; else output_failn; fi + else + output_fail; + fi + ;; + unbound.adb_list) + output 1 "Allowing domain(s) and restarting Unbound " + output 2 "Allowing domain(s) \\n" + for c in $string; do + output 2 " $c " + if sed -i "/${string}/d" "$outputFile" && \ + uci_add_list_if_new "$packageName" 'config' 'allowed_domain' "$string"; then + output_ok + else + output_fail + fi + done + if [ "$compressed_cache" -gt 0 ]; then + output 2 'Creating compressed cache ' + if cache 'create_gzip'; then + output_ok + else + output_failn + fi + fi + output 2 "Committing changes to config " + if [ -n "$(uci_changes "$packageName")" ] && uci_commit "$packageName"; then + allowed_domain="$(uci_get "$packageName" 'config' 'allowed_domain')" + json set triggers + json set stats "$serviceName is blocking $(wc -l < "$outputFile") domains (with ${dns})" + output_ok; + output 2 "Restarting Unbound " + if unbound_restart; then output_okn; else output_failn; fi + else + output_fail; + fi + ;; + esac } adb_check() { local c param="$1" local validation_result="$3" - load_environment "$validation_result" || return 1 + load_environment "$validation_result" 'quiet' || return 1 if [ ! -s "$outputFile" ]; then output "No block-list ('$outputFile') found.\\n" + return 0 elif [ -z "$param" ]; then output "Usage: /etc/init.d/${packageName} check 'domain' ...\\n" - else - for string in ${param}; do - c="$(grep -c "$string" "$outputFile")" - if [ "$c" -gt 0 ]; then - if [ "$c" -eq 1 ]; then - output "Found 1 match for '$string' in '$outputFile'.\\n" - else - output "Found $c matches for '$string' in '$outputFile'.\\n" - fi - if [ "$c" -le 20 ]; then - case "$dns" in - dnsmasq.addnhosts) - grep "$string" "$outputFile" | sed 's|^127.0.0.1 ||;s|^:: ||;';; - dnsmasq.conf) - grep "$string" "$outputFile" | sed 's|local=/||;s|/$||;';; - dnsmasq.ipset) - grep "$string" "$outputFile" | sed 's|ipset=/||;s|/adb$||;';; - dnsmasq.nftset) - grep "$string" "$outputFile" | sed 's|nftset=/||;s|/4#inet#adb#adb4||;';; - dnsmasq.servers) - grep "$string" "$outputFile" | sed 's|server=/||;s|/$||;';; - unbound.adb_list) - grep "$string" "$outputFile" | sed 's|^local-zone: "||;s|" static$||;';; - esac - fi - else - output "The '$string' is not found in current block-list ('$outputFile').\\n" - fi - done + return 0 fi + for string in ${param}; do + c="$(grep -c "$string" "$outputFile")" + if [ "$c" -gt 0 ]; then + if [ "$c" -eq 1 ]; then + output "Found 1 match for '$string' in '$outputFile'.\\n" + else + output "Found $c matches for '$string' in '$outputFile'.\\n" + fi + if [ "$c" -le 20 ]; then + case "$dns" in + dnsmasq.addnhosts) + grep "$string" "$outputFile" | sed 's|^127.0.0.1 ||;s|^:: ||;';; + dnsmasq.conf) + grep "$string" "$outputFile" | sed 's|local=/||;s|/$||;';; + dnsmasq.ipset) + grep "$string" "$outputFile" | sed 's|ipset=/||;s|/adb$||;';; + dnsmasq.nftset) + grep "$string" "$outputFile" | sed 's|nftset=/||;s|/4#inet#adb#adb4||;';; + dnsmasq.servers) + grep "$string" "$outputFile" | sed 's|server=/||;s|/$||;';; + unbound.adb_list) + grep "$string" "$outputFile" | sed 's|^local-zone: "||;s|" static$||;';; + esac + fi + else + output "The '$string' is not found in current block-list ('$outputFile').\\n" + fi + done } adb_config_update() { local R_TMP label local param="$1" validation_result="$3" - load_environment "$validation_result" || return 1 + load_environment "$validation_result" 'quiet' || return 1 label="${config_update_url##*//}" label="${label%%/*}"; [ "$config_update_enabled" -ne 0 ] || return 0 @@ -1020,7 +1093,7 @@ adb_config_update() { adb_sizes() { local i local validation_result="$3" - load_environment "$validation_result" || return 1 + load_environment "$validation_result" 'quiet' || return 1 echo "# $(date)" for i in $blocked_domains_url; do @@ -1138,7 +1211,11 @@ adb_start() { output 3 "Starting $serviceName...\\n" json set status "statusStarting" fi - download_lists + if [ -n "$dnsmasq_config_file_url" ]; then + download_dnsmasq_file + else + download_lists + fi dns 'on_start' fi if [ "$action" = 'restart' ]; then @@ -1257,7 +1334,7 @@ adb_start() { adb_status() { local c url status message error stats local validation_result="$3" - load_environment "$validation_result" || return 1 + load_environment "$validation_result" 'quiet' || return 1 status="$(json get status)" message="$(json get message)" error="$(json get error)" @@ -1288,7 +1365,7 @@ adb_status() { adb_stop() { local validation_result="$3" - load_environment "$validation_result" || return 1 + load_environment "$validation_result" 'quiet' || return 1 if [ -s "$outputFile" ]; then output "Stopping $serviceName... " cache 'create' @@ -1380,6 +1457,7 @@ load_validate_config() { local config_update_url local boot_delay local download_timeout + local curl_max_file_size local curl_retry local verbosity local led @@ -1390,6 +1468,7 @@ load_validate_config() { local blocked_domain local blocked_domains_url local blocked_hosts_url + local dnsmasq_config_file_url uci_load_validate "$packageName" "$packageName" "$1" "${2}${3:+ $3}" \ 'enabled:bool:0' \ 'force_dns:bool:1' \ @@ -1403,9 +1482,9 @@ load_validate_config() { 'canary_domains_mozilla:bool:0' \ 'config_update_enabled:bool:0' \ 'config_update_url:string:https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' \ - 'boot_delay:range(0,240):120' \ - 'download_timeout:range(1,40):20' \ - 'curl_retry:range(1,5):3' \ + 'download_timeout:range(1,60):20' \ + 'curl_max_file_size:uinteger' \ + 'curl_retry:range(0,30):3' \ 'verbosity:range(0,2):2' \ 'procd_trigger_wan6:bool:0' \ 'led:or("", "none", file, device, string)' \ @@ -1415,5 +1494,6 @@ load_validate_config() { 'allowed_domains_url:list(string)' \ 'blocked_domain:list(string)' \ 'blocked_domains_url:list(string)' \ - 'blocked_hosts_url:list(string)' + 'blocked_hosts_url:list(string)' \ + 'dnsmasq_config_file_url:string' } diff --git a/net/unbound/Makefile b/net/unbound/Makefile index 1c17edde1..a137686bc 100644 --- a/net/unbound/Makefile +++ b/net/unbound/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=unbound -PKG_VERSION:=1.16.3 +PKG_VERSION:=1.17.0 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://nlnetlabs.nl/downloads/unbound -PKG_HASH:=ea0c6665e2c3325b769eac1dfccd60fe1828d5fcf662650039eccb3f67edb28e +PKG_HASH:=dcbc95d7891d9f910c66e4edc9f1f2fde4dea2eec18e3af9f75aed44a02f1341 PKG_MAINTAINER:=Eric Luehrsen PKG_LICENSE:=BSD-3-Clause diff --git a/net/unbound/patches/010-configure-uname.patch b/net/unbound/patches/010-configure-uname.patch index dbdb5d1c8..ca9c47631 100644 --- a/net/unbound/patches/010-configure-uname.patch +++ b/net/unbound/patches/010-configure-uname.patch @@ -3,7 +3,7 @@ Fix cross compile errors by inserting an environment variable for the target. Use "uname" on host only if "UNAME" variable is empty. --- a/configure.ac +++ b/configure.ac -@@ -815,7 +815,7 @@ if test x_$ub_test_python != x_no; then +@@ -818,7 +818,7 @@ if test x_$ub_test_python != x_no; then fi fi diff --git a/net/unbound/patches/100-example-conf-in.patch b/net/unbound/patches/100-example-conf-in.patch index e81ed87c4..15cfc0562 100644 --- a/net/unbound/patches/100-example-conf-in.patch +++ b/net/unbound/patches/100-example-conf-in.patch @@ -6,7 +6,7 @@ starting point for embedded routers if one is not going to use UCI. +++ b/doc/example.conf.in @@ -19,6 +19,76 @@ server: # verbosity number, 0 is least verbose. 1 is default. - verbosity: 1 + # verbosity: 1 + ############################################################################ + # MEMORY CONTROL EXAMPLE diff --git a/net/wifi-presence/Makefile b/net/wifi-presence/Makefile index e820a104f..6f9f6f89b 100644 --- a/net/wifi-presence/Makefile +++ b/net/wifi-presence/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wifi-presence -PKG_VERSION:=0.2.0 +PKG_VERSION:=0.3.0 PKG_RELEASE:=1 PKG_SOURCE:=-$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/awilliams/wifi-presence/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=d3b4f2e33ba423e353ad17a000f67690c7c84b136726e683a9cb24be53889407 +PKG_HASH:=70014a3d72635fece3ec666bcf0235f7bbd028cea6bc10d8548fbb2a8a8cbc1d PKG_LICENSE:=MIT PKG_MAINTAINER:=Adam Williams diff --git a/net/xfrpc/Makefile b/net/xfrpc/Makefile index aeffcba6b..9a98f37db 100644 --- a/net/xfrpc/Makefile +++ b/net/xfrpc/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xfrpc -PKG_VERSION:=1.07.582 +PKG_VERSION:=1.11.587 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/liudf0716/xfrpc.git PKG_SOURCE_VERSION:=$(PKG_VERSION) -PKG_MIRROR_HASH:=163d255e65bf516864bbd6db91f6f694fd42409d9cddcf08372ccfff650e5032 +PKG_MIRROR_HASH:=da58e702d3b451e1b5a3d59ac3842cc424f636ca879c19ebb94cce8aa8dde3bb PKG_MAINTAINER:=Dengfeng Liu PKG_LICENSE:=GPL-3.0-or-later diff --git a/net/xray-core/Makefile b/net/xray-core/Makefile index c7a47774c..5436db2d6 100644 --- a/net/xray-core/Makefile +++ b/net/xray-core/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xray-core -PKG_VERSION:=1.6.3 +PKG_VERSION:=1.6.4 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=2eff51567046ab2046c8f50552bf1f531071f0f9f189a32f7035f243c0143b97 +PKG_HASH:=8f81aecb5c28585c98ea95e563d2f03a7d21daa333778f9c4f0aeed27afacef4 PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MPL-2.0 diff --git a/net/yggdrasil/Makefile b/net/yggdrasil/Makefile index 6c7c108f6..bdc3157e4 100644 --- a/net/yggdrasil/Makefile +++ b/net/yggdrasil/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=yggdrasil -PKG_VERSION:=0.4.3 +PKG_VERSION:=0.4.7 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=db793089eddfef628d30055d8b06a6a09f98bb38c3b4ede5265a4ad6eaa80d52 +PKG_HASH:=47429f75b87d9b2450108471991e84c90d748606642e8778e9f578485b05a56f PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-go-$(PKG_VERSION) PKG_MAINTAINER:=William Fleurant diff --git a/sound/upmpdcli/Makefile b/sound/upmpdcli/Makefile index 53ab1bd4f..8cd88f660 100644 --- a/sound/upmpdcli/Makefile +++ b/sound/upmpdcli/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=upmpdcli -PKG_VERSION:=1.5.13 +PKG_VERSION:=1.5.19 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads -PKG_HASH:=c7726f0d4062ae253159102e499759bd513d3c68bfe16c44997ee3fba35509f8 +PKG_HASH:=67fa1f5c06fecd404f3414b25a070c9deabe917241ed6881b7a8e41e8379ed09 PKG_MAINTAINER:= PKG_LICENSE:=LGPL-2.1-or-later diff --git a/utils/jq/Makefile b/utils/jq/Makefile index d0516a8de..66b4306a5 100644 --- a/utils/jq/Makefile +++ b/utils/jq/Makefile @@ -12,11 +12,14 @@ PKG_VERSION:=1.6 PKG_RELEASE:=2 PKG_LICENSE:=BSD -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/stedolan/jq/releases/download/jq-$(PKG_VERSION)/ -PKG_HASH:=9625784cf2e4fd9842f1d407681ce4878b5b0dcddbcd31c6135114a30c71e6a8 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/stedolan/jq.git +PKG_SOURCE_DATE:=2018-11-02 +PKG_SOURCE_VERSION:=2e01ff1fb69609540b2bdc4e62a60499f2b2fb8e +PKG_MIRROR_HASH:=ee52d2dce67dfbea633020d11a908d5818145a2bf87e5a0a17c0ff6885a428a7 PKG_MAINTAINER:=Marko Ratkaj +PKG_FIXUP:=autoreconf PKG_INSTALL:=1 include $(INCLUDE_DIR)/package.mk diff --git a/utils/librespeed-cli/Makefile b/utils/librespeed-cli/Makefile index b724b8754..a816fdaec 100644 --- a/utils/librespeed-cli/Makefile +++ b/utils/librespeed-cli/Makefile @@ -41,5 +41,11 @@ define Package/librespeed-cli/description LibreSpeed client for measuring internet speed from command line. endef +define Package/librespeed-cli/install + $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/speedtest-cli $(1)/usr/bin/librespeed-cli +endef + $(eval $(call GoBinPackage,librespeed-cli)) $(eval $(call BuildPackage,librespeed-cli)) diff --git a/utils/lm-sensors/patches/001-Add_support_for_dev_name_formatted_like_a000000.wifi.patch b/utils/lm-sensors/patches/001-Add_support_for_dev_name_formatted_like_a000000.wifi.patch new file mode 100644 index 000000000..a29b4ce98 --- /dev/null +++ b/utils/lm-sensors/patches/001-Add_support_for_dev_name_formatted_like_a000000.wifi.patch @@ -0,0 +1,23 @@ +From 6da486d7415e426ec983baa5f8edafe0ff4c4171 Mon Sep 17 00:00:00 2001 +From: 7217043955 <85880133+7217043955@users.noreply.github.com> +Date: Tue, 6 Sep 2022 15:48:11 +0800 +Subject: [PATCH] Add support for dev_name formatted like "a000000.wifi" + +--- + lib/sysfs.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/lib/sysfs.c ++++ b/lib/sysfs.c +@@ -663,8 +663,9 @@ static int classify_device(const char *d + if ((!subsys || !strcmp(subsys, "platform") || + !strcmp(subsys, "of_platform"))) { + /* must be new ISA (platform driver) */ +- if (sscanf(dev_name, "%*[a-z0-9_].%d", &entry->chip.addr) != 1) +- entry->chip.addr = 0; ++ if (sscanf(dev_name, "%*[a-zA-Z0-9_]%*1[.:]%d", &entry->chip.addr) == 1); ++ else if (sscanf(dev_name, "%x.%*s", &entry->chip.addr) == 1); ++ else entry->chip.addr = 0; + entry->chip.bus.type = SENSORS_BUS_TYPE_ISA; + entry->chip.bus.nr = 0; + } else if (subsys && !strcmp(subsys, "acpi")) { diff --git a/utils/nano/Makefile b/utils/nano/Makefile index aaec7f65a..f9f9575d4 100644 --- a/utils/nano/Makefile +++ b/utils/nano/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nano -PKG_VERSION:=6.4 +PKG_VERSION:=7.0 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/nano -PKG_HASH:=4199ae8ca78a7796de56de1a41b821dc47912c0307e9816b56cc317df34661c0 +PKG_HASH:=8dd6eac38b2b8786d82681f0e1afd84f6b75210d17391b6443c437e451552149 PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=COPYING diff --git a/utils/nano/patches/100-post-7.0-fix-commenting.patch b/utils/nano/patches/100-post-7.0-fix-commenting.patch new file mode 100644 index 000000000..a0fb94f62 --- /dev/null +++ b/utils/nano/patches/100-post-7.0-fix-commenting.patch @@ -0,0 +1,18 @@ +--- a/src/nano.c ++++ b/src/nano.c +@@ -1395,11 +1395,14 @@ bool changes_something(const void *f) + #ifndef NANO_TINY + f == chop_previous_word || f == chop_next_word || + f == zap_text || f == cut_till_eof || f == do_execute || +- f == do_indent || f == do_unindent || f == do_comment || ++ f == do_indent || f == do_unindent || + #endif + #ifdef ENABLE_JUSTIFY + f == do_justify || f == do_full_justify || + #endif ++#ifdef ENABLE_COMMENT ++ f == do_comment || ++#endif + #ifdef ENABLE_SPELLER + f == do_spell || + #endif diff --git a/utils/uhubctl/Makefile b/utils/uhubctl/Makefile index 9d0a51add..dffaa3948 100644 --- a/utils/uhubctl/Makefile +++ b/utils/uhubctl/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uhubctl -PKG_VERSION:=2.4.0 +PKG_VERSION:=2.5.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/mvp/uhubctl/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=391f24fd1f89cacce801df38ecc289b34c3627bc08ee69eec515af7e1a283d97 +PKG_HASH:=d4452252f7862f7a45dd9c62f2ea7cd3a57ab5f5ab0e54a857d4c695699bbba3 PKG_LICENSE:=GPL-2.0-only PKG_LICENSE_FILES:=COPYING LICENSE