From da884c0e11647de805b93d4b9728d12e3b48f89a Mon Sep 17 00:00:00 2001 From: Denis <146707790+dnzbk@users.noreply.github.com> Date: Mon, 29 Apr 2024 11:12:32 +0300 Subject: [PATCH 01/12] increase version to v24.1 (#247) --- CMakeLists.txt | 2 +- configure.ac | 2 +- nzbget.vcxproj | 8 ++++---- osx/NZBGet-Info.plist | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f5a5d1da3..cf63d6603 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ set_property(GLOBAL PROPERTY PACKAGE) set_property(GLOBAL PROPERTY LIBS) set_property(GLOBAL PROPERTY INCLUDES) -set(VERSION "24.0") +set(VERSION "24.1") set(PACKAGE "nzbget") set(PACKAGE_BUGREPORT "https://github.com/nzbgetcom/nzbget/issues") set(CMAKE_CXX_STANDARD 14) diff --git a/configure.ac b/configure.ac index 5966bc22d..a91dfa8d9 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.65) -AC_INIT(nzbget, 24.0, https://github.com/nzbgetcom/nzbget/issues) +AC_INIT(nzbget, 24.1, https://github.com/nzbgetcom/nzbget/issues) AC_CONFIG_AUX_DIR(posix) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([foreign subdir-objects]) diff --git a/nzbget.vcxproj b/nzbget.vcxproj index 51f103bce..f2944ba21 100755 --- a/nzbget.vcxproj +++ b/nzbget.vcxproj @@ -85,7 +85,7 @@ Disabled C:\vcpkg\installed\x86-windows-static\include;..\bin\Debug32;.\daemon\connect;.\daemon\extension;.\daemon\feed;.\daemon\frontend;.\daemon\main;.\daemon\nserv;.\daemon\nntp;.\daemon\postprocess;.\daemon\queue;.\daemon\remote;.\daemon\util;.\daemon\windows;.\lib\par2;.\lib\yencode;.\windows\resources;.\lib\regex;%(AdditionalIncludeDirectories) - WIN32;PACKAGE="nzbget";VERSION="24.0";_DEBUG;_CONSOLE;DEBUG;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions) + WIN32;PACKAGE="nzbget";VERSION="24.1";_DEBUG;_CONSOLE;DEBUG;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions) false EnableFastChecks MultiThreadedDebug @@ -107,7 +107,7 @@ Disabled C:\vcpkg\installed\x64-windows-static\include;..\bin\Debug64;.\daemon\connect;.\daemon\extension;.\daemon\feed;.\daemon\frontend;.\daemon\main;.\daemon\nserv;.\daemon\nntp;.\daemon\postprocess;.\daemon\queue;.\daemon\remote;.\daemon\util;.\daemon\windows;.\lib\regex;.\lib\par2;.\lib\yencode;.\windows\resources;%(AdditionalIncludeDirectories) - WIN32;PACKAGE="nzbget";VERSION="24.0";_DEBUG;_CONSOLE;DEBUG;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions) + WIN32;PACKAGE="nzbget";VERSION="24.1";_DEBUG;_CONSOLE;DEBUG;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions) false EnableFastChecks MultiThreadedDebug @@ -133,7 +133,7 @@ C:\vcpkg\installed\x86-windows-static\include;..\bin\Release32;.\daemon\connect;.\daemon\extension;.\daemon\feed;.\daemon\frontend;.\daemon\main;.\daemon\nserv;.\daemon\nntp;.\daemon\postprocess;.\daemon\queue;.\daemon\remote;.\daemon\util;.\daemon\windows;.\lib\par2;.\lib\yencode;.\windows\resources;.\lib\regex;%(AdditionalIncludeDirectories) - WIN32;PACKAGE="nzbget";VERSION="24.0";NDEBUG;_CONSOLE;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions) + WIN32;PACKAGE="nzbget";VERSION="24.1";NDEBUG;_CONSOLE;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions) Sync MultiThreaded Use @@ -172,7 +172,7 @@ C:\vcpkg\installed\x64-windows-static\include;..\bin\Release64;.\daemon\connect;.\daemon\extension;.\daemon\feed;.\daemon\frontend;.\daemon\main;.\daemon\nserv;.\daemon\nntp;.\daemon\postprocess;.\daemon\queue;.\daemon\remote;.\daemon\util;.\daemon\windows;.\lib\par2;.\lib\yencode;.\windows\resources;.\lib\regex;%(AdditionalIncludeDirectories) - WIN32;PACKAGE="nzbget";VERSION="24.0";NDEBUG;_CONSOLE;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions) + WIN32;PACKAGE="nzbget";VERSION="24.1";NDEBUG;_CONSOLE;_WIN32_WINNT=0x0403;%(PreprocessorDefinitions) Sync MultiThreaded Use diff --git a/osx/NZBGet-Info.plist b/osx/NZBGet-Info.plist index fb284b5cf..1dd438f3a 100644 --- a/osx/NZBGet-Info.plist +++ b/osx/NZBGet-Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 24.0 + 24.1 CFBundleDocumentTypes From 90169eb4eb774f1d0a5353308b41394d130fbe25 Mon Sep 17 00:00:00 2001 From: OneCD Date: Mon, 29 Apr 2024 21:32:38 +1000 Subject: [PATCH 02/12] tweak grammar (#243) --- README.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 524d01045..18b2e8096 100644 --- a/README.md +++ b/README.md @@ -20,22 +20,19 @@ ![GitHub repo size](https://img.shields.io/github/repo-size/nzbgetcom/nzbget) -NZBGet is a binary downloader, which downloads files from Usenet -based on information given in nzb-files. +NZBGet is a binary downloader, which downloads files from Usenet based-on information given in nzb files. NZBGet is written in C++ and is known for its performance and efficiency. -NZBGet can run on almost any device - classic PC, NAS, media player, SAT-receiver, WLAN-router, etc. -The download area provides precompiled binaries for Windows, macOS, and Linux. For other platforms the program can be compiled from sources. +NZBGet can run on almost any device - classic PC, NAS, media player, SAT-receiver, WLAN-router, etc. The download area provides precompiled binaries for Windows, macOS, and Linux. For other platforms, the program can be compiled from source. -This is a fork of the original NZBGet project formerly maintained by [hugbug](https://github.com/hugbug). The nzbget.com project is an extension of the original, and is maintained in honor of and with respect to its maintainer of many years. We hope to continue where the [hugbug](https://github.com/hugbug) left off by providing a useful downloader for the benefit of the Usenet community. +This is a fork of the original NZBGet project, formerly maintained by [hugbug](https://github.com/hugbug). The nzbget.com project is an extension of the original, and is maintained in honor-of and with respect-to its maintainer of many years. We hope to continue where the [hugbug](https://github.com/hugbug) left-off by providing a useful downloader for the benefit of the Usenet community. -More information available at https://nzbget.com +More information available at https://nzbget.com ## Installation and Documentation -We provide a easy-to-use installer for each platform we support. -Please download binaries from our [releases](https://github.com/nzbgetcom/nzbget/tags) page. +We provide an easy-to-use installer for each platform we support. Please download binaries from our [releases](https://github.com/nzbgetcom/nzbget/tags) page. Linux DEB/RPM packages are available from [releases](https://github.com/nzbgetcom/nzbget/tags) page or from DEB/RPM [repositories](https://nzbgetcom.github.io). @@ -47,7 +44,7 @@ QNAP packages are available as native packages and buildroot packages. [QNAP rea ## Migration from older NZBGet versions -[Migrating from NZBGet v21 or older](https://github.com/nzbgetcom/nzbget/discussions/100#discussioncomment-8080102) +[Migrating from NZBGet v21 or older](https://github.com/nzbgetcom/nzbget/discussions/100#discussioncomment-8080102) [Migrating from older Docker images](https://github.com/nzbgetcom/nzbget/issues/84#issuecomment-1884846500) @@ -72,11 +69,11 @@ QNAP packages are available as native packages and buildroot packages. [QNAP rea ## Contribution -Contributions are very welcome - not only from developers, but from our users too - please don't hesitate to participate in [discussions](https://github.com/nzbgetcom/nzbget/discussions) or [create a new discussion](https://github.com/nzbgetcom/nzbget/discussions/new/choose) +Contributions are very welcome - not only from developers, but from our users too - please don't hesitate to participate in [discussions](https://github.com/nzbgetcom/nzbget/discussions) or [create a new discussion](https://github.com/nzbgetcom/nzbget/discussions/new/choose) For more information - see [Contributing](docs/CONTRIBUTING.md). ## Donate -Please [donate](https://nzbget.com/donate/) if you like what we are doing. thank you! +Please [donate](https://nzbget.com/donate/) if you like what we are doing. Thank you! From e8640998e10eeb70d080fa6b969e8e041317bb72 Mon Sep 17 00:00:00 2001 From: phnzb <139914799+phnzb@users.noreply.github.com> Date: Tue, 30 Apr 2024 16:12:23 +0300 Subject: [PATCH 03/12] Update QNAP docs (install via sherpa) (#254) --- README.md | 2 +- qnap/README.md | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 18b2e8096..3430e90c2 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Docker images are available for x86-64 / arm64 / armv7 architectures. [Docker re Synology packages are available as SynoCommunity packages and SPK packages. [Synology readme](synology/README.md) -QNAP packages are available as native packages and buildroot packages. [QNAP readme](qnap/README.md) +QNAP packages are available as native / buildroot packages or via [sherpa](https://github.com/OneCDOnly/sherpa) package manager. [QNAP readme](qnap/README.md) ## Migration from older NZBGet versions diff --git a/qnap/README.md b/qnap/README.md index 1d6857f6e..a70463457 100644 --- a/qnap/README.md +++ b/qnap/README.md @@ -4,10 +4,23 @@ We support QNAP via native qpkg packages, built with QNAP toolchains (only x86/x ## Installing +### Manual install + Prerequsites: Enable installation of applications without digital signature (`AppCenter` - `Settings` - `Allow installation of applications without a valid digital signature`) To install nzbget for QNAP download qpkg for your architecture, then from QNAP AppCenter select `Install Manually` - browse for downloaded qpkg and press `Install` For digital signature warning select `I understand the risks and want to install this application` and press `Install`. + +### Install via sherpa package manager + +- [Install](https://github.com/OneCDOnly/sherpa?tab=readme-ov-file#installation) sherpa package manager +- From SSH command-prompt, run +``` +sudo sherpa install nzbget +``` + +## Post-install + After installation - Press `Open` in AppCenter or click NZBGet icon on desktop. Default login/password for WebUI ``` Login: nzbget From 483702814e4d3b0c950e1ad2a48471e6c99bf624 Mon Sep 17 00:00:00 2001 From: Anuskuss Date: Wed, 1 May 2024 20:17:08 +0200 Subject: [PATCH 04/12] Don't override user preference in unrar (#251) --- daemon/postprocess/DirectUnpack.cpp | 2 +- daemon/postprocess/Unpack.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/daemon/postprocess/DirectUnpack.cpp b/daemon/postprocess/DirectUnpack.cpp index defe2b9b5..9d66fbffc 100644 --- a/daemon/postprocess/DirectUnpack.cpp +++ b/daemon/postprocess/DirectUnpack.cpp @@ -180,7 +180,7 @@ void DirectUnpack::ExecuteUnrar(const char* archiveName) params.emplace_back("-p-"); } - if (!params.Exists("-o+") && !params.Exists("-o-")) + if (!params.Exists("-o+") && !params.Exists("-o-") && !params.Exists("-or")) { params.emplace_back("-o+"); } diff --git a/daemon/postprocess/Unpack.cpp b/daemon/postprocess/Unpack.cpp index 77ad0305a..ecbed1b2f 100644 --- a/daemon/postprocess/Unpack.cpp +++ b/daemon/postprocess/Unpack.cpp @@ -285,7 +285,7 @@ void UnpackController::ExecuteUnrar(const char* password) params.emplace_back("-p-"); } - if (!params.Exists("-o+") && !params.Exists("-o-")) + if (!params.Exists("-o+") && !params.Exists("-o-") && !params.Exists("-or")) { params.emplace_back("-o+"); } From 62aa1d900a9e9d2051301ef27beb672c4ce1e4b5 Mon Sep 17 00:00:00 2001 From: phnzb <139914799+phnzb@users.noreply.github.com> Date: Fri, 3 May 2024 11:37:01 +0300 Subject: [PATCH 05/12] Docker: v24 fixes (#256) --- README.md | 1 + docker/Dockerfile | 33 ++++++++++++++++++----------- docker/README.md | 19 ++++++++++------- docker/docker-compose.yml | 2 +- docker/entrypoint.sh | 14 ++++--------- docs/PERFORMANCE.md | 44 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 83 insertions(+), 30 deletions(-) create mode 100644 docs/PERFORMANCE.md diff --git a/README.md b/README.md index 3430e90c2..103f25852 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ QNAP packages are available as native / buildroot packages or via [sherpa](https ## Brief introduction on how to use NZBGet - [How to use](docs/HOW_TO_USE.md) + - [Performance tips](docs/PERFORMANCE.md) ## Contribution diff --git a/docker/Dockerfile b/docker/Dockerfile index f0ed61cff..c5ae1ed63 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -3,8 +3,9 @@ FROM alpine:3.19.1 AS build # args ARG NZBGET_RELEASE=develop -ARG UNRAR_VERSION=7.0.7 -ARG UNRAR_NATIVE=false +ARG UNRAR6_VERSION=6.2.12 +ARG UNRAR7_VERSION=7.0.7 +ARG UNRAR7_NATIVE=false ARG MAKE_JOBS=1 ARG TARGETPLATFORM @@ -44,19 +45,26 @@ RUN \ ln -s /usr/bin/unrar /app/nzbget/unrar && \ cp /nzbget/pubkey.pem /app/nzbget/pubkey.pem && \ curl -o /app/nzbget/cacert.pem -L "https://curl.se/ca/cacert.pem" && \ - echo "**** install unrar from source ****" && \ - mkdir /tmp/unrar && \ - curl -o /tmp/unrar.tar.gz -L "https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \ - tar xf /tmp/unrar.tar.gz -C /tmp/unrar --strip-components=1 && \ - cd /tmp/unrar && \ - if [ "${UNRAR_NATIVE}" != "true" ] && [ "${TARGETPLATFORM}" == "linux/amd64" ]; \ + echo "**** install unrar7 from source ****" && \ + mkdir /tmp/unrar7 && \ + curl -o /tmp/unrar7.tar.gz -L "https://www.rarlab.com/rar/unrarsrc-${UNRAR7_VERSION}.tar.gz" && \ + tar xf /tmp/unrar7.tar.gz -C /tmp/unrar7 --strip-components=1 && \ + cd /tmp/unrar7 && \ + if [ "${UNRAR7_NATIVE}" != "true" ] && [ "${TARGETPLATFORM}" == "linux/amd64" ]; \ then sed -i "s|CXXFLAGS=-march=native|CXXFLAGS=-march=x86-64-v2|" makefile; fi && \ - if [ "${UNRAR_NATIVE}" != "true" ] && [ "${TARGETPLATFORM}" == "linux/arm64" ]; \ - then sed -i "s|CXXFLAGS=-march=native|CXXFLAGS=-march=armv8-a|" makefile; fi && \ - if [ "${UNRAR_NATIVE}" != "true" ] && [ "${TARGETPLATFORM}" == "linux/arm/v7" ]; \ + if [ "${UNRAR7_NATIVE}" != "true" ] && [ "${TARGETPLATFORM}" == "linux/arm64" ]; \ + then sed -i "s|CXXFLAGS=-march=native|CXXFLAGS=-march=armv8-a+crypto+crc|" makefile; fi && \ + if [ "${UNRAR7_NATIVE}" != "true" ] && [ "${TARGETPLATFORM}" == "linux/arm/v7" ]; \ then sed -i "s|CXXFLAGS=-march=native|CXXFLAGS=-march=armv7-a|" makefile; fi && \ make -j ${MAKE_JOBS} && \ - install -v -m755 unrar /usr/bin + install -v -m755 unrar /usr/bin/unrar7 && \ + echo "**** install unrar6 from source ****" && \ + mkdir /tmp/unrar6 && \ + curl -o /tmp/unrar6.tar.gz -L "https://www.rarlab.com/rar/unrarsrc-${UNRAR6_VERSION}.tar.gz" && \ + tar xf /tmp/unrar6.tar.gz -C /tmp/unrar6 --strip-components=1 && \ + cd /tmp/unrar6 && \ + make -j ${MAKE_JOBS} && \ + install -v -m755 unrar /usr/bin/ # runtime stage FROM alpine:3.19.1 @@ -75,6 +83,7 @@ RUN \ echo "**** cleanup ****" && \ rm -rf /root/.cache /root/.cargo /tmp/* COPY --from=build /usr/bin/unrar /usr/bin/unrar +COPY --from=build /usr/bin/unrar7 /usr/bin/unrar7 COPY --from=build /app/nzbget/ /app/nzbget/ ADD entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh && \ diff --git a/docker/README.md b/docker/README.md index c6a753e8f..dd9add3bf 100644 --- a/docker/README.md +++ b/docker/README.md @@ -99,8 +99,9 @@ Dockerfile supports next build arguments: | Argument | Description |:----------------|- | NZBGET_RELEASE | Branch name or tag to build from -| UNRAR_VERSION | Unrar version -| UNRAR_NATIVE | Build native unrar (see below) +| UNRAR6_VERSION | Unrar 6 version +| UNRAR7_VERSION | Unrar 7 version +| UNRAR7_NATIVE | Build native unrar (see below) | MAKE_JOBS | Number of make jobs for speed up build # ghcr.io @@ -118,15 +119,19 @@ In case a linux image or docker image is slower than expected, here are some tip 1. Increase number of server connections (NEWS-SERVERS -> Connections) - default is 8, and 16 and 32 are worth trying 2. For slower machines/hosts - increase article read chunk size from 4 to 64 (CONNECTION -> ArticleReadChunkSize). This is new setting available in v23. -# Native unrar build support +# Unrar 7 support -Unrar from version 7.0 supports hardware crypto acceleration for unpacking encrypted archives. -For compatibility with most hardware nzbgetcom image unrar built with next march parameters: +The NZBGet docker image contains the optimized unrar7 binary. To use unrar7, change in settings UNPACK - UnrarCmd to `unrar7`. +Unrar 7 built with next march parameters: - x86_64: x86-64-v2 -- arm64: armv8-a +- arm64: armv8-a+crypto+crc - armhf: armv7-a +More information about unrar performance: [Performance tips](https://github.com/nzbgetcom/nzbget/blob/develop/docs/PERFORMANCE.md#unrar) + +# Native unrar 7 build support + To build image on hardware which support crypto acceleration with native-optimized unrar can be used docker-compose like this (also needed entrypoint.sh and Dockerfile from [official repository](https://github.com/nzbgetcom/nzbget/tree/develop/docker)): @@ -142,7 +147,7 @@ services: # make jobs == host cpu cores MAKE_JOBS: 4 # build native unrar - UNRAR_NATIVE: "true" + UNRAR7_NATIVE: "true" environment: - PUID=1000 - PGID=1000 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index bb57b6c5d..6e5a88370 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -6,7 +6,7 @@ services: args: NZBGET_RELEASE: develop MAKE_JOBS: 4 - UNRAR_NATIVE: true + UNRAR7_NATIVE: true environment: - PUID=1000 - PGID=1000 diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index a871f2e40..f761978b1 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -23,29 +23,23 @@ if [ ! -f /config/nzbget.conf ]; then chown user:users /config/nzbget.conf fi -# create scripts dir -if [ ! -d /downloads/scripts ]; then - mkdir -p /downloads/scripts - chown user:users /downloads/scripts -fi - # parse env vars to options OPTIONS="" if [ ! -z "${NZBGET_USER}" ]; then - OPTIONS="${OPTIONS}-o ControlUsername=${NZBGET_USER} " + OPTIONS="${OPTIONS}-o ControlUsername=${NZBGET_USER} " fi if [ ! -z "${NZBGET_PASS}" ]; then - OPTIONS="${OPTIONS}-o ControlPassword=${NZBGET_PASS} " + OPTIONS="${OPTIONS}-o ControlPassword=${NZBGET_PASS} " fi chown user:users /config || CONFIG_CHOWN_STATUS=$? if [ ! -z $CONFIG_CHOWN_STATUS ]; then - echo "*** Could not set permissions on /config ; this container may not work as expected ***" + echo "*** Could not set permissions on /config ; this container may not work as expected ***" fi chown user:users /downloads || DOWNLOADS_CHOWN_STATUS=$? if [ ! -z $DOWNLOADS_CHOWN_STATUS ]; then - echo "*** Could not set permissions on /downloads ; this container may not work as expected ***" + echo "*** Could not set permissions on /downloads ; this container may not work as expected ***" fi su -p user -c "/app/nzbget/nzbget -s -c /config/nzbget.conf -o OutputMode=log ${OPTIONS}" diff --git a/docs/PERFORMANCE.md b/docs/PERFORMANCE.md new file mode 100644 index 000000000..133ba19dc --- /dev/null +++ b/docs/PERFORMANCE.md @@ -0,0 +1,44 @@ +# NZBGet performance tips (WIP) + +## Unrar + +Unrar from version 7 provides improved performance when extracting encrypted archives, especially when built with optimized march. + +Several tests (`time unrar -p x `, archive size ~1.6Gb): + +- arm64 (Mac mini M2) + - unrar 6.24 + ``` + real 0m 27.71s + user 0m 25.00s + sys 0m 1.41s + ``` + - unrar 7.0 march=armv8-a + ``` + real 0m 11.04s + user 0m 9.28s + sys 0m 1.19s + ``` + - unrar 7.0 march=armv8-a+crypto+crc + ``` + real 0m 6.04s + user 0m 3.59s + sys 0m 1.48s + ``` + +- x86_64 (Intel Xeon E3-1265L V2) + - unrar 6.24 + ``` + real 0m 13.51s + user 0m 12.08s + sys 0m 1.27s + ``` + - unrar 7.0 march=x86-64-v2 + ``` + real 0m 6.13s + user 0m 5.34s + sys 0m 1.90s + ``` + +Extraction speed is increased by ~2x and ~4.5x when using the optimized binary. +The NZBGet docker container includes unrar6 (used by default, for most compatibility), and an optimized unrar7 (can be enabled in the settings). More information can be found in [Docker readme](../docker/README.md#unrar-7-support) From fb9ed767ae456564ce386b7235565b79da16ec52 Mon Sep 17 00:00:00 2001 From: OneCD Date: Fri, 3 May 2024 19:16:24 +1000 Subject: [PATCH 06/12] QNAP: check if `nzbget` proc is already running before starting (#258) --- qnap/package/shared/nzbget.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/qnap/package/shared/nzbget.sh b/qnap/package/shared/nzbget.sh index 0f6a13073..beb490edf 100755 --- a/qnap/package/shared/nzbget.sh +++ b/qnap/package/shared/nzbget.sh @@ -12,6 +12,12 @@ case "$1" in echo "$QPKG_NAME is disabled." exit 1 fi + + if /bin/pidof nzbget &>/dev/null; then + echo "$QPKG_NAME is already running." + exit 0 + fi + cd $QPKG_ROOT/nzbget $QPKG_ROOT/nzbget/nzbget -c $QPKG_ROOT/nzbget/nzbget.conf -D ;; From 63a3ed5a93ff4d4ce0d70077fb31ae492c7e4f0e Mon Sep 17 00:00:00 2001 From: Denis <146707790+dnzbk@users.noreply.github.com> Date: Fri, 3 May 2024 15:57:26 +0300 Subject: [PATCH 07/12] Fix: the parcheck lib is always enabled (#260) - fixed a typo in CMake that caused parcheck dependencies to always be checked even if parcheck was disabled. --- cmake/posix.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/posix.cmake b/cmake/posix.cmake index ff46d04e2..516d3ae82 100644 --- a/cmake/posix.cmake +++ b/cmake/posix.cmake @@ -148,12 +148,12 @@ if(NOT DISABLE_CURSES) set(HAVE_NCURSES_H 1) endif() -if(NOT DISABLED_PARCHECK) +if(NOT DISABLE_PARCHECK) check_type_size(size_t SIZE_T) check_symbol_exists(fseeko "stdio.h" HAVE_FSEEKO) check_function_exists(getopt HAVE_GETOPT) else() - set(DISABLED_PARCHECK 1) + set(DISABLE_PARCHECK 1) endif() # check ctime_r From a8ee4fb9b7862f1776d1d203978e74e6055cbb10 Mon Sep 17 00:00:00 2001 From: phnzb <139914799+phnzb@users.noreply.github.com> Date: Mon, 6 May 2024 10:34:51 +0300 Subject: [PATCH 08/12] macOS: add Homebrew information (#261) --- README.md | 2 ++ osx/brew-info.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 osx/brew-info.md diff --git a/README.md b/README.md index 103f25852..61ad853bb 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,8 @@ We provide an easy-to-use installer for each platform we support. Please downloa Linux DEB/RPM packages are available from [releases](https://github.com/nzbgetcom/nzbget/tags) page or from DEB/RPM [repositories](https://nzbgetcom.github.io). +macOS packages are available from [releases](https://github.com/nzbgetcom/nzbget/releases) page or via [Homebrew](https://brew.sh) package manager. [Homebrew readme](osx/brew-info.md) + Docker images are available for x86-64 / arm64 / armv7 architectures. [Docker readme](docker/README.md) Synology packages are available as SynoCommunity packages and SPK packages. [Synology readme](synology/README.md) diff --git a/osx/brew-info.md b/osx/brew-info.md new file mode 100644 index 000000000..07ed16189 --- /dev/null +++ b/osx/brew-info.md @@ -0,0 +1,46 @@ +# Install NZBGet via Homebrew + +## Prerequisites + +Homebrew package manager (https://brew.sh). + +Installation supported on Intel / Apple Silicon Macs. + +macOS supported: macOS Mojave+ 10.14+ + +## Install +Run from console: +``` +brew install nzbget +``` + +## Post-install + +### Starting nzbget + +NZBGet Homebrew package conains user service definition. +To start NZBGet, run from console: +``` +brew services start nzbget +``` +And this will start NZBGet at user login too. + +### Accessing WebUI + +Default WebUI location: http://127.0.0.1:6789 + +Default login credentials: +``` +login: nzbget +password: tegbzn6789 +``` + +### Unpackers + +`7zip` is installed automatically as a direct dependency. + +`unrar` can be installed via `rar` Homebrew Cask: + +``` +brew install rar --cask +``` From f87a24b6f0d83608e15662967e76b96850537199 Mon Sep 17 00:00:00 2001 From: Denis <146707790+dnzbk@users.noreply.github.com> Date: Mon, 6 May 2024 11:19:04 +0300 Subject: [PATCH 09/12] Fix: possibility to use value 0 for umask (#264) - fixed possibility to use value 0 for umask. --- daemon/main/nzbget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/main/nzbget.cpp b/daemon/main/nzbget.cpp index 874e01268..81dc0c3ac 100644 --- a/daemon/main/nzbget.cpp +++ b/daemon/main/nzbget.cpp @@ -273,7 +273,7 @@ void NZBGet::Init() #ifndef WIN32 mode_t uMask = static_cast(m_options->GetUMask()); - if (uMask > 0 && uMask < 01000) + if (uMask >= 0 && uMask < 01000) { /* set newly created file permissions */ FileSystem::uMask = uMask; From b9e51d482bd0e54bf917d0497c0736bfd12fefbf Mon Sep 17 00:00:00 2001 From: Denis <146707790+dnzbk@users.noreply.github.com> Date: Mon, 6 May 2024 16:31:12 +0300 Subject: [PATCH 10/12] Fix: fseeko not found (#262) - it's needed to use a more appropriate CMake command (check_function_exists rather than check_symbol_exists) to look for the fseeko function as on some systems it may have been falsely not found. --- cmake/posix.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/posix.cmake b/cmake/posix.cmake index 516d3ae82..199b6ac57 100644 --- a/cmake/posix.cmake +++ b/cmake/posix.cmake @@ -150,7 +150,7 @@ endif() if(NOT DISABLE_PARCHECK) check_type_size(size_t SIZE_T) - check_symbol_exists(fseeko "stdio.h" HAVE_FSEEKO) + check_function_exists(fseeko HAVE_FSEEKO) check_function_exists(getopt HAVE_GETOPT) else() set(DISABLE_PARCHECK 1) From 03916079949cebfb780d2a23c8667db31f57fae9 Mon Sep 17 00:00:00 2001 From: Denis <146707790+dnzbk@users.noreply.github.com> Date: Wed, 8 May 2024 06:18:26 -0700 Subject: [PATCH 11/12] fix: fixed icons in old browsers (#268) - fixed new icons in old browsers. --- webui/style.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/webui/style.css b/webui/style.css index 2275387a1..9eae64b7b 100644 --- a/webui/style.css +++ b/webui/style.css @@ -24,9 +24,8 @@ html { @font-face { font-family: 'Material Icons'; font-style: normal; - font-weight: 100 700; - src: local('material-icons'), - url(lib/material-icons.woff2) format('woff2'), + font-weight: normal; + src: url(lib/material-icons.woff2) format('woff2'); } .material-icon { From 5991cc19b0d68d77be62bdac34564612f4658a78 Mon Sep 17 00:00:00 2001 From: Denis <146707790+dnzbk@users.noreply.github.com> Date: Wed, 15 May 2024 00:22:54 -0700 Subject: [PATCH 12/12] Add: v24.1 changelog (#273) - added v24.1 changelog. --- ChangeLog.md | 13 +++++++++++++ README.md | 1 + 2 files changed, 14 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 78edfdf2c..7ee43b295 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,16 @@ +nzbget-24.1 + - Bug fixes: + - Fixed: don't override user preference in unrar + [#251](https://github.com/nzbgetcom/nzbget/commit/483702814e4d3b0c950e1ad2a48471e6c99bf624); + - Fixed (Docker): unable to unpack rar files + [#256](https://github.com/nzbgetcom/nzbget/commit/62aa1d900a9e9d2051301ef27beb672c4ce1e4b5); + - Fixed: possibility to use `0` for umask + [#264](https://github.com/nzbgetcom/nzbget/commit/f87a24b6f0d83608e15662967e76b96850537199); + - Fixed: `fseeko` not found + [#262](https://github.com/nzbgetcom/nzbget/commit/b9e51d482bd0e54bf917d0497c0736bfd12fefbf); + - Fixed: icons in webui in old browser versions + [#268](https://github.com/nzbgetcom/nzbget/commit/03916079949cebfb780d2a23c8667db31f57fae9). + nzbget-24.0 - Features: - Dark theme and new icons diff --git a/README.md b/README.md index 61ad853bb..7b833a3d3 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ ![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v22.0/total?label=v22.0) ![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v23.0/total?label=v23.0) ![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.0/total?label=v24.0) +![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.1/total?label=v24.1) ![docker pulls](https://img.shields.io/docker/pulls/nzbgetcom/nzbget.svg) [![linux build](https://github.com/nzbgetcom/nzbget/actions/workflows/linux.yml/badge.svg?branch=main)](https://github.com/nzbgetcom/nzbget/actions/workflows/linux.yml)