From: Tianling Shen Date: Sun, 29 Jun 2025 08:48:11 +0000 (+0800) Subject: openlist: move from alist and update to 4.0.5 X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=b13bdcbac6c06fc4ca3b221fe5d0c991cf8f006a;p=openwrt-packages.git openlist: move from alist and update to 4.0.5 The alist was sold to a Chinese commercial company by the project owner without any clarification. Though the company bought it nearly a half year ago, they still cannot show a clear roadmap and privacy policy now. They also tried to collect runtime information from the user, but the code was not merged into the main tree "luckily". Anyway, various behaviors from the company indicate they are untrustable, so the other developers from the alist project have forked and made a new project named OpenList, which will continue to be maintained by the community. ===== security note ===== The alist code up to 3.45.0 has been reviewed "clean", however the main problem is from the author's private API that used to connect to cloud drives. For security reasons, please reset your password and/or token if possible. Signed-off-by: Tianling Shen --- diff --git a/net/alist/Makefile b/net/alist/Makefile deleted file mode 100644 index b4b16aa53..000000000 --- a/net/alist/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# -# Copyright (C) 2023 ImmortalWrt.org - -include $(TOPDIR)/rules.mk - -PKG_NAME:=alist -PKG_VERSION:=3.45.0 -PKG_RELEASE:=1 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/AlistGo/alist/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=224119ea5a3b43694e5342c460ab471d6477db1bf7ade5180d542a32363cb097 - -PKG_LICENSE:=AGPL-3.0-only -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Tianling Shen - -PKG_BUILD_DEPENDS:=golang/host -PKG_BUILD_PARALLEL:=1 -PKG_BUILD_FLAGS:=no-mips16 - -GO_PKG:=github.com/alist-org/alist/v3 -GO_PKG_LDFLAGS_X = \ - $(GO_PKG)/internal/conf.Version=$(PKG_VERSION) \ - $(GO_PKG)/internal/conf.WebVersion=$(WEB_VERSION) -ifeq ($(filter aarch64 x86_64, $(ARCH)),) - GO_PKG_EXCLUDES:=drivers/lark -endif - -include $(INCLUDE_DIR)/package.mk -include ../../lang/golang/golang-package.mk - -define Package/alist - SECTION:=net - CATEGORY:=Network - TITLE:=A file list program that supports multiple storage - URL:=https://alist.nn.ci - DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +fuse-utils -endef - -define Package/alist/description - A file list program that supports multiple storage, and supports - web browsing and webdav, powered by gin and Solidjs. -endef - -define Package/alist/conffiles -/etc/alist/ -/etc/config/alist -endef - -WEB_VERSION:=3.45.0 -WEB_FILE:=$(PKG_NAME)-web-$(WEB_VERSION).tar.gz -define Download/alist-web - URL:=https://github.com/AlistGo/alist-web/releases/download/$(WEB_VERSION)/ - URL_FILE:=dist.tar.gz - FILE:=$(WEB_FILE) - HASH:=408b1822893ba6dd6bbeb4055d6c8b96c178d10f4fbb8e5696cf14dcc88dd2fb -endef - -define Build/Prepare - $(call Build/Prepare/Default) - - ( \ - mkdir -p $(PKG_BUILD_DIR)/public ; \ - gzip -dc $(DL_DIR)/$(WEB_FILE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/public $(TAR_OPTIONS) ; \ - ) -endef - -ifneq ($(CONFIG_USE_MUSL),) - TARGET_CFLAGS += -D_LARGEFILE64_SOURCE -endif - -define Package/alist/install - $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) - - $(INSTALL_DIR) $(1)/usr/bin/ - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/alist $(1)/usr/bin/ - - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_CONF) $(CURDIR)/files/alist.config $(1)/etc/config/alist - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) $(CURDIR)/files/alist.init $(1)/etc/init.d/alist -endef - -$(eval $(call Download,alist-web)) -$(eval $(call GoBinPackage,alist)) -$(eval $(call BuildPackage,alist)) diff --git a/net/alist/test.sh b/net/alist/test.sh deleted file mode 100644 index efcb07e4c..000000000 --- a/net/alist/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -alist version | grep "$PKG_VERSION" diff --git a/net/openlist/Makefile b/net/openlist/Makefile new file mode 100644 index 000000000..0d589e50e --- /dev/null +++ b/net/openlist/Makefile @@ -0,0 +1,92 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2023-2025 ImmortalWrt.org + +include $(TOPDIR)/rules.mk + +PKG_NAME:=openlist +PKG_VERSION:=4.0.5 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/OpenListTeam/OpenList/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=c510e31d00868774b52429897c39789547756bbea76c501e2bcfbff1f4dc70b8 +PKG_BUILD_DIR:=$(BUILD_DIR)/OpenList-$(PKG_VERSION) + +PKG_LICENSE:=AGPL-3.0-only +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Tianling Shen + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_FLAGS:=no-mips16 + +GO_PKG:=github.com/OpenListTeam/OpenList +GO_PKG_LDFLAGS_X = \ + $(GO_PKG)/internal/conf.Version=$(PKG_VERSION) \ + $(GO_PKG)/internal/conf.WebVersion=$(WEB_VERSION) +ifeq ($(filter aarch64 x86_64, $(ARCH)),) + GO_PKG_EXCLUDES:=drivers/lark +endif + +include $(INCLUDE_DIR)/package.mk +include ../../lang/golang/golang-package.mk + +define Package/openlist + SECTION:=net + CATEGORY:=Network + TITLE:=A file list program that supports multiple storage + URL:=https://docs.oplist.org + DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +fuse-utils + PROVIDES:=alist +endef + +define Package/openlist/description + A file list program that supports multiple storage, and supports + web browsing and webdav, powered by gin and Solidjs, fork of AList. +endef + +define Package/openlist/conffiles +/etc/openlist/ +/etc/config/openlist +endef + +WEB_VERSION:=4.0.5 +WEB_FILE:=$(PKG_NAME)-frontend-dist-v$(WEB_VERSION).tar.gz +define Download/openlist-web + URL:=https://github.com/OpenListTeam/OpenList-Frontend/releases/download/v$(WEB_VERSION)/ + URL_FILE:=$(WEB_FILE) + FILE:=$(WEB_FILE) + HASH:=0b755542c660ac66c86689957cd0d5c783ad5dac64222f764988f1c26c51d55a +endef + +define Build/Prepare + $(call Build/Prepare/Default) + + ( \ + mkdir -p $(PKG_BUILD_DIR)/public/dist ; \ + libdeflate-gzip -dc $(DL_DIR)/$(WEB_FILE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/public/dist $(TAR_OPTIONS) ; \ + ) +endef + +ifneq ($(CONFIG_USE_MUSL),) + TARGET_CFLAGS += -D_LARGEFILE64_SOURCE +endif + +define Package/openlist/install + $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) + + $(INSTALL_DIR) $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/OpenList $(1)/usr/bin/openlist + + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) $(CURDIR)/files/openlist.config $(1)/etc/config/openlist + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) $(CURDIR)/files/openlist.init $(1)/etc/init.d/openlist + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) $(CURDIR)/files/openlist.uci $(1)/etc/uci-defaults/99-migrate-openlist +endef + +$(eval $(call Download,openlist-web)) +$(eval $(call GoBinPackage,openlist)) +$(eval $(call BuildPackage,openlist)) diff --git a/net/alist/files/alist.config b/net/openlist/files/openlist.config similarity index 96% rename from net/alist/files/alist.config rename to net/openlist/files/openlist.config index 519036655..8a763574a 100644 --- a/net/alist/files/alist.config +++ b/net/openlist/files/openlist.config @@ -1,5 +1,5 @@ -config alist 'config' +config openlist 'config' option enabled '0' option debug '0' diff --git a/net/alist/files/alist.init b/net/openlist/files/openlist.init similarity index 97% rename from net/alist/files/alist.init rename to net/openlist/files/openlist.init index a06e4e165..5d1d13a15 100644 --- a/net/alist/files/alist.init +++ b/net/openlist/files/openlist.init @@ -3,8 +3,8 @@ USE_PROCD=1 START=99 -CONF="alist" -PROG="/usr/bin/alist" +CONF="openlist" +PROG="/usr/bin/openlist" CONF_DIR="/etc/$CONF" RUN_DIR="/var/run/$CONF" @@ -71,7 +71,7 @@ start_service() { json_add_string "bleve_dir" "$CONF_DIR/bleve" json_add_object "log" uci_json_add_boolean "enable" "log_enable" "1" - json_add_string "name" "$RUN_DIR/log/alist.log" + json_add_string "name" "$RUN_DIR/log/openlist.log" uci_json_add_int "max_size" "log_max_size" "5" uci_json_add_int "max_backups" "log_max_backups" "1" uci_json_add_int "max_age" "log_max_age" "15" diff --git a/net/openlist/files/openlist.uci b/net/openlist/files/openlist.uci new file mode 100644 index 000000000..4a36d0f62 --- /dev/null +++ b/net/openlist/files/openlist.uci @@ -0,0 +1,13 @@ +#!/bin/sh + +if [ -d "/etc/alist" ]; then + mv -f "/etc/alist" "/etc/openlist" +fi + +if [ -f "/etc/config/alist" ]; then + mv -f "/etc/config/alist" "/etc/config/openlist" + uci -q set openlist.config=openlist + uci -q commit openlist +fi + +exit 0 diff --git a/net/openlist/test.sh b/net/openlist/test.sh new file mode 100644 index 000000000..d09b0bab7 --- /dev/null +++ b/net/openlist/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +openlist version | grep "$PKG_VERSION"