├── LICENSE ├── README.md ├── arm-x41 └── sqlite3 ├── arm_64 └── sqlite3 ├── icons ├── alist.gif ├── alist_80.gif └── alist_gray.gif ├── package_routines ├── qpkg.cfg ├── qq-group.jpg ├── shared ├── alist-service.sh └── data │ └── data.db └── x86_64 ├── alist └── sqlite3 /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Alireza 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 多云盘挂载集成工具 for QNAP 2 | ### Alist webdav for QNAP 3 | A file list program that supports multiple storage, powered by Gin and Solidjs. 4 | 5 | ## 介绍 6 | 一款支持多种网络存储、挂载本地存储、阿里云盘、百度网盘、OneDrive、Google Drive 等,支持网页浏览和 WebDAV 的文件列表程序。 7 | 8 | * Alist 版开源:https://github.com/alist-org/alist 9 | latest version 10 | 11 | ## 安装注意 12 | * 安装前先去【控制台】→【应用程序】→【Web服务器】→【☑️启用Web服务器】,不要更改默认80端口 13 | * 忘记密码,进入shell,运行命令 `$(getcfg alist Install_Path -f /etc/config/qpkg.conf)/alist --force-bin-dir admin set 123456` 14 | * 设置用户admin的新密码为123456 15 | 16 | ## v3.37.3 17 | * 修复115网盘登录故障 18 | * 修复旧版阿里云Open的API导致不可登陆的故障 https://github.com/alist-org/alist/discussions/7189 19 | * 修复早期旧版本用户密码迁移的bug 20 | 21 | 22 | ## v3.26.0 Update: 23 | * 升级全新最新数据库形态,保留用户配置 24 | 25 | ## v3.13.2 Update: 26 | * 强烈建议卸载v3.13.2之前版本,安装最新版,以便使用最新数据库形态 27 | * 手动挂载网盘,尽量不要恢复之前备份内容。(可以将token记录后复制) 28 | * sqlite3文件提取路径为/share/CACHEDEV1_DATA/.qpkg/CacheMount/bin/sqlite3 29 | 30 | 31 | 32 | ## 如何使用 33 | 在QNAP系统,通过App Center手动安装 ***.qpkg*** 后辍程序。 34 | 35 | * 支持 x86_64 构架的QNAP存储设备【x86_64】 36 | * 支持 ARM 构架的QNAP存储设备 【仅支持 arm-x41 及更高】 (旧版本插件) 37 | * 支持 aach64 构架的QNAP存储设备 【arm_64】 38 | 39 | ## WebDAV 存储支持 40 | | 存储类型| 列出文件/文件夹 | 下载文件| 创建目录| 重命名| 移动| 复制| 上传文件/文件夹| 41 | | :--------: | :--------: | :--------: |:--------: |:--------: |:--------: |:--------: |:--------: | 42 | | 本地存储| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 43 | | 阿里云盘| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 44 | | Onedrive| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 45 | | 天翼云盘| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 46 | | GoogleDrive| ✅| ✅| ✅| ✅| ✅| ❌| ✅| 47 | | 123pan| ✅| ✅| ✅| ✅| ✅| ❌| ✅| 48 | | FTP| ✅| ✅| ✅| ✅| ✅| ❌| ✅| 49 | | SFTP| ✅| ✅| ✅| ✅| ✅| ❌| ✅| 50 | | PikPak| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 51 | | S3| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 52 | | USS| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 53 | | WebDAV| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 54 | | Teambition| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 55 | | 分秒帧| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 56 | | 和彩云| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 57 | | YandexDisk| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 58 | | 百度网盘| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 59 | | 夸克网盘| ✅| ✅| ✅| ✅| ✅| ✅| ✅| 60 | 61 | ## 注意 62 | * 如何挂载网盘:https://alist.nn.ci/zh/guide/ 63 | * 如需挂载阿里云盘,改为挂载【阿里云盘 Open】 64 | * 点击这里获取【阿里云盘Open】token :https://alist.nn.ci/zh/guide/drivers/aliyundrive_open.html 65 | 66 | ## 配置示意图 67 | | 类型| 配置 | 68 | | :--------: | :--------: | 69 | | 默认用户名|admin| 70 | | 默认密码|123456| 71 | |访问Url|http://Nas-ip:5244| 72 | | webdav用户名|同上| 73 | | webdav密码|同上| 74 | | webdav根目录 Url|http://localhost:5244/dav/| 75 | 76 | * 注意:威联通HBS3挂载的名称必须为英文,不能挂载/dav/根目录,要带网盘的挂载路径 77 | * 例如阿里云盘的alist挂载目录名称是aliyundrive 78 | * 挂载URL:http://127.0.0.1:5244/dav/aliyundrive 79 | 80 | ## 交流群 81 | * 群名称: alist for QNAP QQ群号: 529743094 82 | * 可以交流各种QNAP技术、技巧、问题。 83 | QQ GRPUP 84 | 85 | ## Starchart 86 | ![Star History Chart](https://api.star-history.com/svg?repos=iranee/qnap-alist-webdav&type=Date) 87 | 88 | ## 开源声明 89 | 1. 本软件为免费开源项目,无任何形式的盈利行为。 90 | 2. 本软件服务于各种网盘,旨在让各大网盘功能更强大。如有侵权,请与我联系,会及时处理。 91 | 3. 本软件皆调用官方接口实现,无任何“Hack”行为,无破坏官方接口行为。 92 | 4. 本软件仅做流量转发,不拦截、存储、篡改任何用户数据。 93 | 5. 严禁使用本软件进行盈利、损坏官方、散落任何违法信息等行为。 94 | 6. 本软件不作任何稳定性的承诺,如因使用本软件导致的文件丢失、文件破坏等意外情况,均与本软件无关。 95 | -------------------------------------------------------------------------------- /arm-x41/sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/arm-x41/sqlite3 -------------------------------------------------------------------------------- /arm_64/sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/arm_64/sqlite3 -------------------------------------------------------------------------------- /icons/alist.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/icons/alist.gif -------------------------------------------------------------------------------- /icons/alist_80.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/icons/alist_80.gif -------------------------------------------------------------------------------- /icons/alist_gray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/icons/alist_gray.gif -------------------------------------------------------------------------------- /package_routines: -------------------------------------------------------------------------------- 1 | ###################################################################### 2 | # List of available definitions (it's not necessary to uncomment them) 3 | ###################################################################### 4 | ###### Command definitions ##### 5 | #CMD_AWK="/bin/awk" 6 | #CMD_CAT="/bin/cat" 7 | #CMD_CHMOD="/bin/chmod" 8 | #CMD_CHOWN="/bin/chown" 9 | #CMD_CP="/bin/cp" 10 | #CMD_CUT="/bin/cut" 11 | #CMD_DATE="/bin/date" 12 | #CMD_ECHO="/bin/echo" 13 | #CMD_EXPR="/usr/bin/expr" 14 | #CMD_FIND="/usr/bin/find" 15 | #CMD_GETCFG="/sbin/getcfg" 16 | #CMD_GREP="/bin/grep" 17 | #CMD_GZIP="/bin/gzip" 18 | #CMD_HOSTNAME="/bin/hostname" 19 | #CMD_LN="/bin/ln" 20 | #CMD_LOG_TOOL="/sbin/log_tool" 21 | #CMD_MD5SUM="/bin/md5sum" 22 | #CMD_MKDIR="/bin/mkdir" 23 | #CMD_MV="/bin/mv" 24 | #CMD_RM="/bin/rm" 25 | #CMD_RMDIR="/bin/rmdir" 26 | #CMD_SED="/bin/sed" 27 | #CMD_SETCFG="/sbin/setcfg" 28 | #CMD_SLEEP="/bin/sleep" 29 | #CMD_SORT="/usr/bin/sort" 30 | #CMD_SYNC="/bin/sync" 31 | #CMD_TAR="/bin/tar" 32 | #CMD_TOUCH="/bin/touch" 33 | #CMD_WGET="/usr/bin/wget" 34 | #CMD_WLOG="/sbin/write_log" 35 | #CMD_XARGS="/usr/bin/xargs" 36 | #CMD_7Z="/usr/local/sbin/7z" 37 | # 38 | ###### System definitions ##### 39 | #SYS_EXTRACT_DIR="$(pwd)" 40 | #SYS_CONFIG_DIR="/etc/config" 41 | #SYS_INIT_DIR="/etc/init.d" 42 | #SYS_STARTUP_DIR="/etc/rcS.d" 43 | #SYS_SHUTDOWN_DIR="/etc/rcK.d" 44 | #SYS_RSS_IMG_DIR="/home/httpd/RSS/images" 45 | #SYS_QPKG_DATA_FILE_GZIP="./data.tar.gz" 46 | #SYS_QPKG_DATA_FILE_BZIP2="./data.tar.bz2" 47 | #SYS_QPKG_DATA_FILE_7ZIP="./data.tar.7z" 48 | #SYS_QPKG_DATA_CONFIG_FILE="./conf.tar.gz" 49 | #SYS_QPKG_DATA_MD5SUM_FILE="./md5sum" 50 | #SYS_QPKG_DATA_PACKAGES_FILE="./Packages.gz" 51 | #SYS_QPKG_CONFIG_FILE="$SYS_CONFIG_DIR/qpkg.conf" 52 | #SYS_QPKG_CONF_FIELD_QPKGFILE="QPKG_File" 53 | #SYS_QPKG_CONF_FIELD_NAME="Name" 54 | #SYS_QPKG_CONF_FIELD_VERSION="Version" 55 | #SYS_QPKG_CONF_FIELD_ENABLE="Enable" 56 | #SYS_QPKG_CONF_FIELD_DATE="Date" 57 | #SYS_QPKG_CONF_FIELD_SHELL="Shell" 58 | #SYS_QPKG_CONF_FIELD_INSTALL_PATH="Install_Path" 59 | #SYS_QPKG_CONF_FIELD_CONFIG_PATH="Config_Path" 60 | #SYS_QPKG_CONF_FIELD_WEBUI="WebUI" 61 | #SYS_QPKG_CONF_FIELD_WEBPORT="Web_Port" 62 | #SYS_QPKG_CONF_FIELD_SERVICEPORT="Service_Port" 63 | #SYS_QPKG_CONF_FIELD_SERVICE_PIDFILE="Pid_File" 64 | #SYS_QPKG_CONF_FIELD_AUTHOR="Author" 65 | #SYS_QPKG_CONF_FIELD_RC_NUMBER="RC_Number" 66 | ## The following variables are assigned values at run-time. 67 | #SYS_HOSTNAME=$($CMD_HOSTNAME) 68 | ## Data file name (one of SYS_QPKG_DATA_FILE_GZIP, SYS_QPKG_DATA_FILE_BZIP2, 69 | ## or SYS_QPKG_DATA_FILE_7ZIP) 70 | #SYS_QPKG_DATA_FILE= 71 | ## Base location. 72 | #SYS_QPKG_BASE="" 73 | ## Base location of QPKG installed packages. 74 | #SYS_QPKG_INSTALL_PATH="" 75 | ## Location of installed software. 76 | #SYS_QPKG_DIR="" 77 | ## If the QPKG should be enabled or disabled after the installation/upgrade. 78 | #SYS_QPKG_SERVICE_ENABLED="" 79 | ## Architecture of the device the QPKG is installed on. 80 | #SYS_CPU_ARCH="" 81 | ## Name and location of system shares 82 | #SYS_PUBLIC_SHARE="" 83 | #SYS_PUBLIC_PATH="" 84 | #SYS_DOWNLOAD_SHARE="" 85 | #SYS_DOWNLOAD_PATH="" 86 | #SYS_MULTIMEDIA_SHARE="" 87 | #SYS_MULTIMEDIA_PATH="" 88 | #SYS_RECORDINGS_SHARE="" 89 | #SYS_RECORDINGS_PATH="" 90 | #SYS_USB_SHARE="" 91 | #SYS_USB_PATH="" 92 | #SYS_WEB_SHARE="" 93 | #SYS_WEB_PATH="" 94 | ## Path to ipkg or opkg package tool if installed. 95 | #CMD_PKG_TOOL= 96 | # 97 | ###################################################################### 98 | # All package specific functions shall call 'err_log MSG' if an error 99 | # is detected that shall terminate the installation. 100 | ###################################################################### 101 | # 102 | ###################################################################### 103 | # Define any package specific operations that shall be performed when 104 | # the package is removed. 105 | ###################################################################### 106 | #PKG_PRE_REMOVE="{ 107 | #}" 108 | # 109 | #PKG_MAIN_REMOVE="{ 110 | #}" 111 | # 112 | #PKG_POST_REMOVE="{ 113 | #}" 114 | # 115 | ###################################################################### 116 | # Define any package specific initialization that shall be performed 117 | # before the package is installed. 118 | ###################################################################### 119 | #pkg_init(){ 120 | #} 121 | # 122 | ###################################################################### 123 | # Define any package specific requirement checks that shall be 124 | # performed before the package is installed. 125 | ###################################################################### 126 | #pkg_check_requirement(){ 127 | #} 128 | # 129 | ###################################################################### 130 | # Define any package specific operations that shall be performed when 131 | # the package is installed. 132 | ###################################################################### 133 | 134 | pkg_pre_install() { 135 | CONF=/etc/config/qpkg.conf 136 | QPKG_NAME="alist" 137 | QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}` 138 | 139 | if [ -f "$QPKG_ROOT/data/data.db" ]; then 140 | mv $QPKG_ROOT/data/data.db $QPKG_ROOT/data/_data.db 141 | fi 142 | } 143 | 144 | pkg_post_install() { 145 | CONF=/etc/config/qpkg.conf 146 | QPKG_NAME="alist" 147 | QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}` 148 | sqlite3="$QPKG_ROOT/sqlite3" 149 | Ver=3.13.2 150 | 151 | chmod -Rf 777 $QPKG_ROOT/alist 152 | if [ -f "$QPKG_ROOT/data/_data.db" ]; then 153 | mv $QPKG_ROOT/data/_data.db $QPKG_ROOT/data/data.db 154 | $sqlite3 $QPKG_ROOT/data/data.db "UPDATE x_setting_items SET value='

欢迎使用Alist管理云盘空间

在线版本
本地版本
' WHERE key='announcement';" 155 | else 156 | $QPKG_ROOT/alist --force-bin-dir admin 157 | sleep 2 158 | if [ ! -f "$QPKG_ROOT/data/data.db" ]; then 159 | /sbin/log_tool -N "多云盘挂载" -G "Error" -t1 -uSystem -p127.0.0.1 -mlocalhost -a "[多云盘挂载] 无法生成数据库文件,请检查编译版本是否正确,系统构架:$(uname -r)-$(uname -m)。" 160 | else 161 | $sqlite3 $QPKG_ROOT/data/data.db "UPDATE x_users SET password='123456' WHERE username='admin'" 162 | $sqlite3 $QPKG_ROOT/data/data.db "UPDATE x_setting_items SET value='多云盘挂载' WHERE key='site_title';" 163 | $sqlite3 $QPKG_ROOT/data/data.db "UPDATE x_setting_items SET value='

欢迎使用Alist管理云盘空间

在线版本
本地版本
' WHERE key='announcement';" 164 | sleep 1 165 | fi 166 | fi 167 | mv $QPKG_ROOT/sqlite3 /dev/null 168 | $QPKG_ROOT/alist --force-bin-dir admin 169 | } -------------------------------------------------------------------------------- /qpkg.cfg: -------------------------------------------------------------------------------- 1 | QPKG_NAME="alist" 2 | QPKG_DISPLAY_NAME="多云盘挂载" 3 | QPKG_VER="3.13.2" 4 | QPKG_AUTHOR="bbis
简介:支持多种网络存储、挂载本地存储、阿里云盘、OneDrive、Google Drive 等,支持网页浏览和 WebDAV
开源:https://github.com/iranee/qnap-alist-webdav" 5 | QPKG_SUMMARY="A file list tools." 6 | QPKG_RC_NUM="101" 7 | QPKG_SERVICE_PROGRAM="alist-service.sh" 8 | QPKG_WEB_PORT="5244" 9 | QDK_DATA_DIR_ICONS="icons" 10 | QDK_DATA_DIR_SHARED="shared" 11 | -------------------------------------------------------------------------------- /qq-group.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/qq-group.jpg -------------------------------------------------------------------------------- /shared/alist-service.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | CONF=/etc/config/qpkg.conf 3 | QPKG_NAME="alist" 4 | QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}` 5 | 6 | case "$1" in 7 | start) 8 | ENABLED=$(/sbin/getcfg $QPKG_NAME Enable -u -d FALSE -f $CONF) 9 | if [ "$ENABLED" != "TRUE" ]; then 10 | echo "$QPKG_NAME 已禁用" 11 | exit 1 12 | fi 13 | 14 | /bin/chmod -Rf 777 $QPKG_ROOT/* 15 | cd $QPKG_ROOT 16 | ./alist --force-bin-dir server 2>&1 & disown 17 | 18 | ;; 19 | 20 | stop) 21 | killall -9 alist 22 | 23 | ;; 24 | 25 | restart) 26 | 27 | $0 stop 28 | $0 start 29 | 30 | ;; 31 | 32 | *) 33 | echo "Usage: $0 {start|stop|restart}" 34 | exit 1 35 | esac 36 | 37 | exit 0 38 | -------------------------------------------------------------------------------- /shared/data/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/shared/data/data.db -------------------------------------------------------------------------------- /x86_64/alist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/x86_64/alist -------------------------------------------------------------------------------- /x86_64/sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iranee/qnap-alist-webdav/a89bf009b5308e326c1355a0cb733455d1188422/x86_64/sqlite3 --------------------------------------------------------------------------------