Total Pageviews

Saturday, 26 February 2022

目录列表程序alist

A file list program that supports multiple storage, powered by Go. 一个支持多存储的文件列表程序.

https://alist-doc.nn.ci/

Another file list program that supports multiple storage, powered by Gin and React.

latest version discussions Build status Downloads License donate

English | 中文

Features

Discussion

Please go to our discussion forum for general questions, issues are for bug reports and feature request only.

Demo

Available at: https://alist.nn.ci

Document

https://alist-doc.nn.ci/en/

from  https://github.com/Xhofe/alist

-------

目录列表程序AList使用教程

本文后续将在https://alist-doc.nn.ci/ 更新。提问请到https://github.com/Xhofe/alist/discussions
AList是一款支持多种存储的目录文件列表程序,后端基于gin,前端使用react

https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md

项目地址

预览

部署

先打开 https://github.com/Xhofe/alist 

手动部署

运行起来

  1. 打开AList Release下载要部署的系统对应的文件
  2. 解压下载对文件得到可执行文件:tar -zxvf alist-xxxx.tar.gz(Linux)
  3. 赋予程序执行权限:chmod +x alist-xxxx
  4. 运行程序:./alist-xxxx
  5. 完成,后台默认密码为alist

守护进程

vim /usr/lib/systemd/system/alist.service添加以下内容,

其中path_alist为alist所在的路径.

[Unit]

Description=alist

After=network.target

[Service]

Type=simple

WorkingDirectory=path_alist

ExecStart=path_alist/alist-xxxx -conf data/config.json

Restart=on-failure

[Install]

WantedBy=multi-user.target


然后systemctl daemon-reload重载配置,现在你就可以使用这些命令来管理程序了:

启动: systemctl start alist

关闭: systemctl stop alist

自启: systemctl enable alist

状态: systemctl status alist

重启: systemctl restart alist


使用Docker

开发版:docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:v2

稳定版:docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest

指定版本:具体见https://hub.docker.com/r/xhofe/alist


从源码运行

首先需要有nodejs、yarn、golang>1.17的环境:

构建前端

clone https://github.com/Xhofe/alist-web 这个项目,执行yarn&& yarn build,得到dist目录下的目标文件


构建后端

将上一步dist目录下的文件全部拷贝至 https://github.com/Xhofe/alist 项目下的public目录,然后:

appName="alist"

builtAt="$(date +'%F %T %z')"

goVersion=$(go version | sed 's/go version //')

gitAuthor=$(git show -s --format='format:%aN <%ae>' HEAD)

gitCommit=$(git log --pretty=format:"%h" -1)

gitTag=$(git describe --long --tags --dirty --always)

ldflags="\

-w -s \

-X 'github.com/Xhofe/alist/conf.BuiltAt=$builtAt' \

-X 'github.com/Xhofe/alist/conf.GoVersion=$goVersion' \

-X 'github.com/Xhofe/alist/conf.GitAuthor=$gitAuthor' \

-X 'github.com/Xhofe/alist/conf.GitCommit=$gitCommit' \

-X 'github.com/Xhofe/alist/conf.GitTag=$gitTag' \

"

go build -ldflags="$ldflags" alist.go


反向代理:

程序默认监听5244端口,要实现https访问,需要使用nginx反向代理,在配置文件中加入:

location / {

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_redirect off;

proxy_pass http://127.0.0.1:5244;

}


后台默认密码为alist

添加账号

所有账号的必填项:

  • name(名称):唯一标识符,也是当有多个账号时展示的路径
  • index(索引):当有多个账号时,用于排序,越小越靠前
  • proxy(带理):是否允许服务器中转下载

本地存储

只需填写根目录路径即可,可以是绝对路径,也可以是程序所在的相对路径

阿里云盘

  • refresh_token(刷新令盘):如何获取参考这个issue通过手机端抓包/查找日志(/data/media/0/Android/data/com.alicloud.databox/files/logs/trace/)来获取,或使用https://media.cooluc.com/decode_token/
  • 根目录file_id:打开阿里云盘官网,点进去你要设置的文件夹时url后面的一串,如https://www.aliyundrive.com/drive/folder/5fe01e1830601baf774e4827a9fb8fb2b5bf7940就是5fe01e1830601baf774e4827a9fb8fb2b5bf7940
  • order_by(排序):可选值为namesizeupdated_atcreated_at
  • order_direction(排序方向):可选ASC(正序),DESC(倒序)

Onedrive

打开https://tool.nn.ci/onedrive/request

创建应用

  • 在打开的页面,选择所在区域,点击创建应用
  • 登陆后选择「注册应用程序」,输入「名称」,选择「任何组织目录中的账户和个人」(注意这里不要看位置选择而是看文字,部分人可能是中间那个选项,不要选成单一租户或者其他选项,否则会导致登陆时出现问题),输入重定向 URL 为 https://tool.nn.ci/onedrive/callback,「注册」即可,然后可以得到client_id
  • 注册好应用程序之后,选择「证书和密码」,点击「新客户端密码」,输入一串密码,选择时间为最长的那个,点击「添加」
    (注:在添加之后输入的密码之后会消失,请记录下来 client_secret 的值)

获取刷新令牌

将上一步骤中获得的client_idclient_secret填入https://tool.nn.ci/onedrive/request 这个页面,点击获取刷新令牌,就可以得到刷新令牌了

获取Sharepoint site_id(未测试)

如果需要挂载Sharepoint,完成上一步后,在显示刷新令牌的界面会出现一个输入站点地址,输入站点地址后点击获取site_id即可。

添加账号

将上述过程中获取得到的值依次填入即可。

天翼云盘

填写账号(手机号),密码即可。可能会触发验证码,可等一段时间再重试。
根目录ID:与阿里云盘类似,官网url最后面一串,如:

  • https://cloud.189.cn/web/main/file/folder/-11 -> -11
  • https://cloud.189.cn/web/main/file/folder/71398114617385472 -> 71398114617385472

GoogleDrive(支持团队盘)

参照https://install.kenci.workers.dev/ 获取client_id,client_secret,refresh_token;或:

  1. Open Google Drive API
  2. Create a OAuth client ID
  3. Install rclone software locally
  4. Get refresh_token with rclone

123Pan

填写账号密码即可。

元信息(meta)设置

此处的path(路径)是访问alist页面时的pathname,如要设置https://alist.nn.ci/本地存储则路径是/本地存储

设置密码

填写密码字段即可

隐藏文件/文件夹

填写hide字段,填写要隐藏的文件(夹)名称,以,分隔,比如要隐藏https://alist.nn.ci/本地存储下的README.mdindex.tsx文件,则填写README.md,index.tsx即可。

常见问题

  • 向前不兼容版本记录
    v2.0.0-beta5
  • 阿里云盘视频无法播放,下载显示InvalidArgument?
    由于referrer的限制,必须使用移动端token
  • 视频播放不了?
    然后检查一下是不是编码不支持,一般浏览器不支持h.265(hevc)等编码视频,ac3等编码音频,Safari不支持的更多,建议使用软件播放。
  • 获取中转链接?
    允许中转之后,复制对应文件直链,将/d改成/p即可。
  • 前端文件在哪里?
    为方便安装,前端文件与程序打包在一起了,如需修改,请按照从源码运行自行修改编译或填写自定义样式/脚本字段。
  • 密码忘了怎么半?
    命令行 ./alist-xxxx -password查看。
  • 自定义样式/脚本不生效?
    是否前后端分开了?自定义部分为后端处理,只有在不分开时才起作用。
  • 上传的文件不显示/删除的文件还在?
    程序缓存一小时自动失效,后台右上角可手动清除缓存。

-----------------------------------------------

近日在 Github 上发现一个名为 alist 的项目,是把多家网盘聚合在一处,以网页形式打开后,能够查看里面的文件,比如看视频,听音乐,看图片等等。这样部署在云端,可以让手机和电脑的储存容量增加好几倍,十几 T 甚至是上百 T 容量。这个项目和伯衡君此前介绍的几款应用类似,不过这个是开源的,可以自己部署。

项目地址

  • https://github.com/Xhofe/alist/

演示地址

  • https://alist.nn.ci

内容详情

该项目是一款 All in One 网盘聚合应用,支持网盘和格式众多,包括但不限于:

  • 本地存储
  •  阿里云盘
  •  OneDrive / Sharepoint
  •  天翼云盘
  •  GoogleDrive
  •  123云盘
  •  蓝奏云
  •  Alist
  •  FTP
  •  PikPak
  •  闪电盘
  •  S3
  •  WebDav
  •  Teambition
  •  分秒帧
  •  和彩云
  •  Yandex.Disk
  •  百度网盘
  •  夸克网盘
  •  迅雷云盘

支持文件预览(PDF、markdown、代码、纯文本、docx、pptx、xlsx、...),视频(提供字幕支持)和音频预览,打包下载等等。

因为支持的网盘如此众多,所以不用安装一堆的app。

alist不走服务器流量,所以推荐直接部署在服务器上,手机和电脑都可以访问,相当于扩展了一个无限容量网盘。

官方文档给出了一键安装脚本,有兴趣挂载在服务器的朋友可以尝试一番:

  • https://alist-doc.nn.ci/docs/install/script
总体来说,是一个非常优秀的 All in One 网盘聚合项目了

-----------------------------

在Replit上部署被屏蔽的Alist.

Apan-Replit

在Replit部署Alist,被检测到就会无法运行,所以修改了程序的名称,并且代理了程序下载链接。数据库使用sqlite3,默认转移到不公开的上级目录,默认admin密码:123456。建议修改配置后将数据库备份到其他网盘,并且分享下载链接。将数据库下载链接添加到Secrets,每次Replit重置的时候都会重新下载数据库。没有添加Secrets的话,配置不会被保存,每次重置后恢复默认配置。

Secrets

Key Value
url_db data.db的下载链接
url_db_shm data.db-shm的下载链接
url_db_wal data.db-wal下载链接

部署

点击下方 run on repl.it 按钮,将apan快速部署到repl.it

Run on Repl.it

from https://github.com/liuzhiwei90/Apan-Replit

----------------------------------------------------------------------------------------------

网盘聚合神器「AList」的图形界面版:Alist Helpe

 

如果你不想安装太多个网盘客户端,那么之前锋哥给大家推荐过「AList」这个项目,支持部署多种存储,其中就包括支持添加各种网盘,例如:阿里云盘 / 115网盘 / 百度网盘等等,并且支持把项目部署到服务器、NAS 上,方便你远程访问。详细介绍可以看:一个软件搞定各种网盘!太强大了!文章。
不过「AList」默认是没有提供图形界面的,在 Windows 上运行和管理比较麻烦,那么现在可以用「Alist Helper」工具,它基于 Flutter 开发的图形界面版本,可以让你更轻松的管理网盘、并且完全免费、开源。

Alist Helpe使用

首先你需要下载「AList」解压,然后运行「Alist Helper」工具,点击设置里面 - 工作目录,选择「AList」的目录。
20230515
然后返回主页,点击启动,日志暂停就表示启动好了。点击管理员信息获取默认的账户。
20230515-2
点击打开 GUI 可以使用「AList」了,你可以点击左边的存储来添加各种网盘,具体操作这里就不介绍了,可以看之前分享的文章。
20230515-3
其它功能方面支持:自动启动、最小化至系统托盘、开机自启和静默启动、能够快速查看的版本、可调整启动参数。
20230515-1

总结

这款「AList」聚合网盘工具对于很多人来说主要用来方便在线看网盘里的视频资源吧,例如之前锋哥分享过的:低至 9 块钱打造 NAS 主机 / 家庭影音中心 文章,目前还是作为主力网盘播放器,使用下来体验很不错。

下载地址

  • Alist Helper下载:
    https://www.123pan.com/s/c8zA-5LLN3.html
  • Alist Helper项目地址:
    https://github.com/Xmarmalade/alisthelper
  • AList下载:
    https://www.123pan.com/s/c8zA-qLLN3.html
  • AList项目地址:
    https://github.com/alist-org/alist/releases

from https://archive.is/2N9KT#selection-355.0-497.44 

---------------------------------------------------------------

一个软件搞定各种网盘:AList

一些用户可能会同时用到几个网盘,但是不少网盘需要客户端才能下载文件,所以可能你需要安装好几个网盘客户端,非常麻烦。那么有没有一种可能把目前主流的几大网盘都整合到一起?
今天锋哥给大家分享「AList」这个神奇的免费开源项目,支持部署多种存储,其中就包括支持添加各种网盘,并且支持把项目部署到服务器、NAS 上,方便你远程访问。

支持存储列表

  • 本地存储
  • 阿里云盘
  • OneDrive / SharePoint(国际版, 世纪互联,de,us)
  • 天翼云盘 (个人云, 家庭云)
  • GoogleDrive
  • 123云盘
  • FTP / SFTP
  • PikPak
  • S3
  • 又拍云对象存储
  • WebDAV(支持无API的OneDrive/SharePoint)
  • Teambition(中国,国际)
  • 分秒帧
  • 和彩云 (个人云, 家庭云)
  • Yandex.Disk
  • 百度网盘
  • 夸克网盘
  • 迅雷网盘
  • 蓝奏云
  • 阿里云盘分享
  • 谷歌相册
  • Mega.nz
  • 一刻相册

AList介绍

目前「AList」提供了 Windows、macOS、Linux 的支持,你可以安装到本机电脑上或者服务器。这里以 Windows 版为例,作者已经打包好了前端和后端。
下载解压后通过 PowerShell 运行 .\alist.exe server 命令启动。当你看见 start server @ 0.0.0.0:5244 提示就证明启动成功了。
20230811
如果你是第一次运行「AList」会自动生成账号密码,在命令里面会显示。如果你忘记密码了,可以通过 .\alist.exe admin 命令来获取。
20230811-1
接着打开浏览器,输入 http://127.0.0.1:5244 登录,输入你的账号密码,然后进入管理界面,添加网盘。
20230811-28
接着主要填写相关网盘的用户名和密码,挂载路径就是你网盘目录的 URL 结尾路径。其它设置你根据自己的情况选就行了。
20230811-27
需要注意的是,不同网盘添加的方式有点区别,例如百度网盘还需要填写刷新令牌,具体操作作者也提供了说明。
20230811-29
添加好后,你就可以返回到主页访问你网盘里面的内容了,功能还支持视频、音频、文档、PDF、图片预览等,以及支持 ipa 安装。
20230811-30
功能设置方面,支持需要预览的格式、包括文本类型、视频类型、图片类型等等,以及你还可以添加站点的公告、以及对站点的样式进行简单的设置。
20230811-32
如果你是部署在服务器上,打算共享的话,还可以新增账号并设置权限,例如无需密码访问、可以离线下载、支持创建目录上传、重命名、移动、复制、删除等。
20230811-31

挂载到本地硬盘

如果你只是在本机用,觉得每次需要打开浏览器访问网盘内容比较麻烦,其实还可以利用「RaiDrive」工具把它网盘映射为本地磁盘。
安装好「RaiDrive」后,点击添加,选择 WebDav,然后取消掉地址选项,接着http:127.0.0.1、端口:5244、路径:/dav、以及账号密码。之后保存并连接就行了。
20230811-33
之后你就可以在文件管理器里面访问到网盘内容了,操作跟本地磁盘一样,你可以复制粘贴文件到里面。
20230811-34

总结

对于在使用多个网盘的用户来说使用「AList」整合管理的确要方便不少,并且可以部署到自己的服务器上变成共享网盘,可以说非常强大了。不过嘛,很多用户都会关心下载速度,该被限速的还是会被限速。

下载地址

  • 官方网站:
    https://alist.nn.ci/zh
  • 项目地址:
    https://github.com/alist-org/alist
  • Raidrive:
    https://www.raidrive.com.cn

from https://archive.is/2T6P5#selection-355.0-741.27

--------------------------------

Alist网盘程序,把网盘挂载到本地变成本地硬盘的神器


众所知周,WebDAV是基于 HTTP 协议的通信协议,是主要的文件共享协议之一,它优势明显,允许客户端/应用程序直接读写Web Server目录与文件,在诸多网络存储类服务产品中,例如网盘,它广受欢迎,大多数使用场景中,用户主要通过它在Windows资源管理器可直接挂载网盘,实现本地磁盘一样的体验。比如

可以直接在Windows中访问云盘资源

可以直接上传复制删除文件

可以直接使用Potplayer原画质播放视频文件

近期在阿里云盘PC端最新内测版中,提供了一个网盘挂载服务,可以在Windows资源中挂载你的阿里云盘以实现本地访问~不过这功能必须是超级会员才可开启~

嗯~实际上,早在此之前Github上各种相关的项目层出不穷,譬如之前为大家推荐过的吾爱论坛上的CloudDrive。近期阿刚又发现两个相当好用的替代品~


aliyundriver-webdav是Github上一个开源项目,它实现了阿里云盘WebDAV服务,可通过客户端直接挂载云盘,它兼容广泛,部署方式多样,支持Win客户端、支持路由器、NAS等设备,是目前口碑极好的一个阿里云盘WebDAV服务。

主要功能:

阿里云盘WebDAV服务

支持浏览查看云盘文件

支持上传文件(不支持秒传)

支持路由器、Docker、威联通NAS

在Github上的页面中,开发者有专门详述它的部署方式,比如路由器梅林固件或是Docker等部署教程,同时也有详细的命令行参数,动手能力强或者想将它玩的更彻底可以参照说明自行配置,我们这里主要说的是aliyundriver-webdav-software-ui。

顾名思义,它是一个使用GO开发的aliyundriver-webdav的UI版,提供了一个直观的配置界面,方便你在Windows中进行配置,使用简单。

通过它挂载阿里云盘,只需下面简单的几步:

1,获取阿里云盘refreshToken

refreshToken是一种身份权限验证,查看方式相当简单,在登录阿里云盘后,F12快捷键打开开发者工具——>Application——>Local Storage,点击 Local Storage下的www.aliyundrive.com,点击右边的token,此时可以看到里面的数据,其中就有refresh_token,把它的值复制出来.


2,运行aliyundriver-webdav.exe开始配置

其中红色标注为必填项,绿色标注为建议选项。一般只需填写refreshToken,设置webdav账号和密码以及监听端口即可。

3,配置完成后直接点击启动,webdav服务便开始运行,也可以点击上面的开机自启。

支持webdav的工具相当多,例如RaiDrive、NetDrive2,在RaiDrive中,选择Add New Drive,类型选择NAS,协议:WebDAV,自定义选择盘符号。

Address:127.0.0.1 端口8080(你设置的端口号)

账号与密码:你设置的账号密码。

最后点击OK即可连接成功

网盘挂载成功后,它的体验就如同额外添加了一块硬盘,可以更方便更快捷的浏览网盘文件,你也可以播放网盘中的文件。

小结:

aliyundriver-webdav-ui让Windows本地挂载阿里云盘更加简单快捷,仅需一个refreshToken值即可,当然你也可以装在路由器,NAS中,实现在手机上TV上使用诸如Infuse、nPlayer来远程挂载看视频,这个大家可以在开发者主页中下载配置。

Alist,在本地创建多网盘网站

实际上针对网盘目录,玩法多样,在Github上各种形式的网盘目录程序层出不穷,诸如Z-File、OneManager、ShareList、FODI等程序,不仅可以聚合多个网盘目录,更可实现高速下载、在线浏览等诸多功能,非常适合希望把自己网盘搭建成一个公开的个人网盘站点,比如之前的阿刚网盘,采用的便是相当好用的OneManager。

近期在吾爱上,有网友分享了在本地搭建Alist,阿刚这里就趁此机会,给大家推荐一下Alist

Alist是Github上一个备受欢迎的网盘目录程序,它原本是一个阿里云盘目录程序,经过开发者的不懈努力,历经多个版本的更迭,功能不断增强与完善,目前它已经支持包括阿里云盘 、OneDrive/Sharepoint(国际版, 世纪互联,de,us) 天翼云盘 GoogleDrive、123云盘、蓝奏云等国内外将近20个网盘程序,你可通过它将上面所有网盘全部聚合在一起。

主要特性:

  • 支持多种存储(本地、阿里/ OneDrive/123云盘/ 蓝奏云/ 夸克/天翼等
  • 部署方便,基本上是开箱即可使用
  • 支持文件预览(PDF、markdown、代码、纯文本……)
  • 支持图像预览、视频和音频预览(mp4、mp3 等)、 Office 文档预览(docx、pptx、xlsx、…)
  • 文件永久链接复制和直接文件下载
  • 受保护的路由(密码保护和身份验证)
  • 支持WebDav
  • 支持Docker 部署
  • 文件/文件夹打包下载
  • 支持视频列表播放和字幕(ass,srt,vtt)
  • 网页上传(可以允许访客上传),删除,新建文件夹,重命名,移动,复制

Alist原本是安装和部署在服务器中,稍有建站经验的同学可以快速完成安装与配置,阿刚这里主要说一下在Windows本地中如何创建~

1,本地搭建Alist

首先解压Alist.zip,将解压后的Alist文件夹放在一个指定位置,比如D盘根目录下。直接双击运行alist.exe,在弹窗的运行框中,将初始的管理密码复制.

打开浏览器,输入地址http://127.0.0.1:524/,程序自动打开Alist的管理端,粘贴上面的管理员密码,登录。

此处便是Alist的所有设置中心,你可设置基本的信息,包括logo、名称、文件类型以及弹窗公告等等等等~

2,配置Alist

Alist是真正的开箱即用,运行Alist.exe后实际上服务就已成功运行,你已经成功搭建了一个本地的网盘网站。下面需要做的便是添加网盘账号,目前它基本上是通杀了国内外主流的网盘。

不同的网盘客户端验证账号的方式不同,大部分是直接输入用户名与密码即可,但有些也需要刷新令牌、密钥等方式进行验证。开发者也在它的文档中心给了相当详细的教程,几乎是手把手教你如何配置账号。

网盘账号配置完成后,便可以访问前端网址了(127.0.01)

Alist的前端界面非常简洁美观,所添加的网盘目录一目了然,你可以直接浏览网盘中的文件,可以在线查看文档、图片、播放音乐和视频~

3,挂载至本地

Alist支持WebDav协议,换句话说,你搭建的“本地网站”可以直接挂载到Windows盘符中,在Windows资源管理器中统一查看管理你在Alist所添加的所有网盘文件。

在Alist的后端设置中,有一个WebDAV username、WebDAV password,只需将它添加到RaiDrive软件中,连接即可。具体来说:

链接 http[s]://domain:port/dav/ 

本地为127.0.0.1:5244

主机端口:默认5244

路径 dav

连接成功后便可加载至Windows资源管理器中。

总结:

网盘挂载在Windows本地资源管理器,无疑是一种高效率的网盘管理方式,尤其Alist,多网盘统一管理,一个盘中实现查看所有网盘文件,简单高效~推荐给大家

---------------------


Alist手机版,将Alist部署在安卓手机上打造影音库


众所周知,WebDAV是主要的文件共享协议,它允许客户端直接访问Web Server目录,在网络存储产品服务中广受欢迎,它的应用场景广泛,通常主要本地挂载访问云盘,打造一个属于影音库

以阿里云盘为例,相关的项目屡见不鲜,比如去年为大家推荐的Alist,只需要简单几步即可轻松实现WebDAV,它部署方式灵活,你可以:

    直接部署在Windows、Linux中
    部署在OPENWRT路由器中
    群晖NAS设备使用Docker部署
    部署在一台安卓手机中

在实际的应用场景中,Alist需要时刻运行,如此才可以方便你的设备随时随地访问。以上的部署方式中,最简单实用最方便的必然是安卓手机,毕竟人手一部。

将Alist部署在安卓手机上,打造超级网盘

为了方便新来的同学,阿刚这里首先简单的科普一下Alist。

Alist是Github上一个开源的支持多种存储的文件列表程序,它功能强大,支持多个存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive 等,且易于拓展,它支持所有 WebDAV存储,支持文件预览,是一个相当强大的网盘目录程序。

Alist网盘程序
主要特性:

    支持多种存储(本地、阿里/ OneDrive/123云盘/ 蓝奏云/ 夸克/天翼等
    部署方便,基本上是开箱即可使用
    支持文件预览(包括图像、音视频、Office文档、PDF、markdown、代码、纯文本……)
    文件永久链接复制和直接文件下载
    受保护的路由(密码保护和身份验证)
    支持WebDav
    支持Docker 部署

简单的说,Alist是一个网站程序,一个Web网页,可以浏览、下载、查看各种网盘的文件,你可以用它打造成一个网盘,而通过WebDav协议,可以把它挂载在Windows本地或者通过播放器直接播放网盘的视频。

简单科普完毕,下面主要说下安卓手机搭建方法。
115小幸运

115小幸运,是安卓平台上一款115网盘助手,它的功能主要是115网盘的辅助工具,可以扫码直接登录115网盘,支持导入导出sha1文件,自定义useragent等,同时它内置了Alist程序,无需额外配置,开箱即用。

主要功能:

    支持115网盘扫码登录
    导入导出sha1文件
    支持自定义useragent(用于WebDav)
    内置Alist,一键启动

115小幸运

安装启用115小幸运后,第一次需要为其开启像素悬浮窗,此操作主要是保护app不被系统清理。

在设置页面,默认是直接启用了Alist,并且显示了Alist的基本信息,包括:

本机Webdav地址
默认:127.0.0.1:5244/dav

后台管理地址
默认:127.0.0.1:5244

局域网Webdav地址

同时它也可以显示Alist的账号和密码。

现在你可以用手机自带的浏览器,访问127.0.0.1:5244,即可进入Alsit的后台管理。如下图:

alist后台

当然,在手机上浏览配置可能并不方便,我们也可以在电脑上直接访问Alist后台。

首先确保电脑与手机处于同一网络中,也就是同一个WiFi中,在手机的WiFi高级设置中,查看当前手机的IP地址,比如阿刚这里为192.168.31.159

那么Alist的后台访问地址为:192.168.31.159:5244

配置Alist

前面说了,Alist是一个Web程序,主要作用是映射各大网盘,我们首要做的是为它配置网盘,目前它支持的网盘以及文件协议,基本上囊括了国内外主流的产品服务,支持的列表如下:

Alist支持的网盘

下面以阿里云盘为例。为了方便操作,阿刚以下的教程全部在PC浏览器中完成。

1,访问https://alist.nn.ci/tool/aliyundrive/request

此网页由Alist项目提供,主要是方便获取阿里云盘的refresh_token。

具体操作:

    点击Scan QRcode
    阿里云APP扫描二维码,允许权限
    点击i have scan
    复制得到的refresh_token

Alist获取阿里云盘令牌

2,网页登录阿里云盘,获取文件夹ID

Alist支持挂载网盘下的某个文件夹,也就是只获取指定文件夹下的内容。文件夹ID指的就是浏览器url中folder后的那串代码

比如我网盘下的影视资源文件夹,在浏览器中它的URL为

https://www.aliyundrive.com/drive/folder/5fe01e1830601baf774e4827a9fb8fb2b5bf7940

那么5fe01e1830601baf774e4827a9fb8fb2b5bf7940便是它的ID

3,回到Alist的后台,菜单导航中,存储——>添加,在下拉列表中选择阿里云盘Open

在配置界面中,我们只需要设置下面的几项

    挂载路径:填写/
    WebDAV 策略:使用本地代理
    根文件夹ID:上面步骤获取的ID
    刷新令牌:上面步骤获取的refresh_token

设置后点击添加,在存储中便可以看到配置好的阿里云盘OPEN.
Alist配置阿里云盘

完成上述的步骤后,Alist已经配置完成。浏览器可以访问前台,查看你挂载的阿里云盘中的内容了。

(PC浏览器访问)

支持WebDav的播放器

Alist部署并配置成功后,通过Webdav,它便如同桥梁一样,打通本地与网盘,目前的应用场景中,主要就是两种:

    挂载为本地磁盘
    播放器挂载网盘

一,使用RaiDrive挂载为本地磁盘

支持Webdav的工具多如牛毛,譬如RaiDrive、NetDrive2,通常支持多网盘挂载,以RaiDrive为例,我们直接添加一个New Drive。

在配置界面中:

Drvie:可以自行选择盘符以及自定义盘符名称
Address:不要勾选https!填写IP地址+端口
比如192.168.31.159 端口号:5244
Path:填写/dav
Account:填写alist后台账户密码

RaiDrive挂载阿里云盘

填写好后点击Connect,你的Windows资源管理器中便会多一个盘符。

你可以浏览阿里云盘中的目录,如在本地磁盘一样,可以查看、删除文件,方便至极。

挂载阿里云盘

二:播放器挂载网盘

如此费事折腾Alist,实现各个网盘的Webdav,最主要的应用场景,便是通过播放器直接播放网盘的资源,打造属于自己的影视库。

相关的教程在网上随处可见,不同的平台、各种五花八门的工具,真的让人看的眼花缭乱。

阿刚目前只推荐两个播放器

    nPlayer(支持安卓+ios)
    Infuse(仅支持ios+mac)

其实熟悉阿刚的老粉应该知道,阿刚早在20年时候就已经专门开篇推荐过这两款播放器,时隔两年,中间也体验过其他播放器,但这两款我始终认为是最强。

nPlayer,一款经典的万能高清播放器,其性能强大,支持目前主流音视频格式播放,支持外挂字幕,同时可通过FTP/SFTP/SMB等协议访问播放网络设备上的视频。

简单的说就是两点:

1,全能视频播放器

它本身几乎支持目前所有的音视频格式,强大的解码能力,流畅的播放体验,各种实用的功能,例如完美的特效字幕显示、


2,支持各种协议

支持WebDAV,FTP,SFTP,HTTP,SMB / CIFS,UPnP / DLNA协议,支持访问Google、OneDrvie等主流网盘。

比如WebDAV,可以方便的访问alist中各种网盘。


Infuse,一款功能强大的全能播放软件,它支持目前主流视频格式的播放,同时支持浏览和播放存储在Mac,PC,NAS或云服务(如Dropbox,Google Drive,OneDrive和Box)上的视频,而且支持海报墙,可自动下载影片海报,打造属于自己的媒体库。

Infuse播放器,阿刚用了三年,真的是太太好用了!

一,支持多协议

本身它支持包括WebDav/SMB/FTP/NFS,以及支持包括谷歌网盘、Onedrive 、Dropbox等网盘,还支持连接例如Plex、Emby等媒体服务器。

二,自动分类+海报刮削

从播放器本身的功能而言,包括支持的格式、字幕、各种小功能设置,与大部分播放器比如上面nPlayer基本相差不大。

Infuse我认为最好用的地方在于,它可以智能识别你所添加的影片,并为它添加海报、影片介绍等信息。

Infuse真正的让你只需要一个播放器,就能打造一个完美的个人影视库。

小结:

打造影视媒体库,所用的工具与方案众多,大部分都是通过播放器来实现,在安卓TV上比如Kido、Plex等。如果你只是一般的应用,我觉得支持Webdav的nPlayer足够使用,当然如果你是苹果用户,Infuse绝对是最佳的选择。
写在最后

Alist真的相当强大,它的用途主要是充当一个Webdav连接器,帮你挂载所有网盘。

将它部署在一部安卓手机上,其实是最简单实用的方式,如此可以让你家中所有的设备通过Webdav协议来连接各网盘,方便你打造自己的影视库。

貌似很久没写这么长的文章了,送给喜欢折腾的人,也感谢你看到这里。

Alist

    一款阿里云网盘的目录文件列表程序,后端基于golang最好的http框架gin,前端使用vue和ant design。

    因为(目前)阿里云网盘不限速,使用此程序在线观看视频,效果非常好。

    项目地址:https://github.com/Xhofe/alist/)

------------

一个软件搞定所有网盘!开源易用云存储管理工具:NetMount  

如果你有同时在用多个网盘或者云存储,不想安装太多客户端的话,可以将它们挂载到本地,统一管理。今天推荐的这款免费开源「NetMount」挂载工具提供了 Windows、Linux、macOS 客户端,由 Rclone 和 Alist 强力驱动。

使用体验

安装好「NetMount」后点击管理,添加你需要的存储网盘,基本上覆盖目前所有主流的网盘了,如:阿里云盘、百度网盘、115网盘、123网盘、天翼网盘、蓝奏云等等。这里以阿里云盘为例:

这里选择的是阿里云盘 Open,所以需要输入刷新令牌。获取刷新令牌的方法可以参考 Alist 的文档说明:

    Alist添加存储:
    https://alist.nn.ci/zh/guide/driver

添加成功后就会在浏览里面出现挂载的网盘了,可以直接通过「NetMount」软件来管理网盘里面的内容,支持文件上传、复制、移动、删除、重命名。

如果你想要挂载到本地管理,可以点击挂载,选择需要挂载的存储、软件提供了三种挂载方式,分别是:桌面、自动分配盘符、自定义。然后勾上软件启动时挂载,点击挂载。

然后就可以跟管理本地文件一样来管理网盘里面的文件了,支持直接复制粘贴文件。不过似乎播放不了视频文件,也有可能是个别网盘限制的原因。

另外「NetMount」里面的任务功能很不错,你可以用来实现多网盘自动同步备份文件,支持在指定时间触发,执行存储或文件操作,以同步、双向同步、复制、删除等操作。

挂载壁纸库

之前锋哥用 Alist 挂载了一个壁纸库,每天更新的壁纸都会同步到里面,目前已经收录了 4W+ 张壁纸,包括电脑、手机、视频等各种类型。现在你也可以用「NetMount」这个软件来挂载这个壁纸库。

管理 - Webdav,地址:http://bz.xiaoyi.vc:5244;用户名和密码:xiaoyi.vc;根目录:/dav。

添加完成后,你可以将壁纸库挂载到本地(*只能访问图片,不能管理)。点击挂载 - 添加- 存储,选择挂载的 Webdav,选择挂载方式。

支持存储

    各种网盘
    S3 对象存储
    FTP
    WebDav
    Google Drive
    alias
    Box
    crypt
    Dropbox
    HTTP
    Jottacloud
    本地存储
    Mega
    OpenDrive
    Pcloud
    Qingstor
    SFTP
    Swift
    Yandex Disk

总结

通过「NetMount」可以将各种网盘挂载本地文件,使用户能无缝访问云端资源,以及任务功能可以实现文件自动备份。另外「NetMount」目前正处于开发阶段,暂不知道作者会不会推出安卓版。
下载地址

    网盘下载:
    https://www.123pan.com/s/c8zA-DXyN3.html
    官方网站:
    https://www.netmount.cn
    项目地址:
    https://github.com/VirtualHotBar/NetMount
    文档教程:
    https://docs.netmount.cn

----------------------------------------------------------------------------------------------

alist编译记录

Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

前端

1
2
3
4
5
6
yum install npm
npm install -g npm@9.5.0
npm install pnpm -g
git clone --recursive https://github.com/alist-org/alist-web.git
cd alist-web
pnpm run build

后端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
yum install screen
screen -R alist # 开screen避免掉线编译中断
rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO
curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
yum install golang
git clone https://github.com/alist-org/alist.git
cd alist
vi build-local.sh # 新建一个本地编译的脚本,复制以下内容
------
rm -rf ./public/dist/*
cp -r ../alist-web/dist ./public/ # 注意前端代码路径
appName="alist"
builtAt="$(date +'%F %T %z')"
goVersion=$(go version | sed 's/go version //')
gitAuthor=$(git show -s --format='format:%aN <%ae>' HEAD)
gitCommit=$(git log --pretty=format:"%h" -1)
version=$(git describe --long --tags --dirty --always)
webVersion=$(wget -qO- -t1 -T2 "https://api.github.com/repos/alist-org/alist-web/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
ldflags="\
-w -s \
-X 'github.com/alist-org/alist/v3/internal/conf.BuiltAt=$builtAt' \
-X 'github.com/alist-org/alist/v3/internal/conf.GoVersion=$goVersion' \
-X 'github.com/alist-org/alist/v3/internal/conf.GitAuthor=$gitAuthor' \
-X 'github.com/alist-org/alist/v3/internal/conf.GitCommit=$gitCommit' \
-X 'github.com/alist-org/alist/v3/internal/conf.Version=$version' \
-X 'github.com/alist-org/alist/v3/internal/conf.WebVersion=$webVersion' \
"
go build -ldflags="$ldflags"
-----

bash build-local.sh # 编译

./alist admin # 查看管理员信息
./alist server # 启动服务
vi ./data/config.json # 可修改端口

国际化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
方案1:
# crowdin 环境变量配置,先去crowdin官网注册获取api-token,创建一个project获取project id
# https://crowdin.com/project/alist/zh-CN
export CROWDIN_PROJECT_ID=***
export CROWDIN_PERSONAL_TOKEN=***
pnpm run i18n:release

方案2:直接下载中文翻译文件
[root@ecs-G3x6u alist]# wget https://crowdin.com/backend/download/project/alist/zh-CN.zip --no-check-certificate
[root@ecs-G3x6u alist]# unzip zh-CN.zip
Archive: zh-CN.zip
creating: src/
creating: src/lang/
creating: src/lang/zh-CN/
inflating: src/lang/zh-CN/settings.json
inflating: src/lang/zh-CN/metas.json
inflating: src/lang/zh-CN/settings_other.json
inflating: src/lang/zh-CN/manage.json
inflating: src/lang/zh-CN/storages.json
inflating: src/lang/zh-CN/login.json
inflating: src/lang/zh-CN/drivers.json
inflating: src/lang/zh-CN/global.json
inflating: src/lang/zh-CN/users.json
inflating: src/lang/zh-CN/home.json
extracting: src/lang/zh-CN/index.json
inflating: src/lang/zh-CN/tasks.json
inflating: src/lang/zh-CN/br.json
inflating: src/lang/zh-CN/indexes.json
[root@ecs-G3x6u alist]# ls
alist alist-web src zh-CN.zip
[root@ecs-G3x6u alist]# cp -r ./src/lang/zh-CN ./alist-web/src/
app/ components/ hooks/ index.d.ts lang/ main.tsx pages/ store/ types/ utils/
[root@ecs-G3x6u alist]# cp -r ./src/lang/zh-CN ./alist-web/src/lang/
[root@ecs-G3x6u alist]# cd alist-web/
[root@ecs-G3x6u alist-web]# node ./scripts/i18n.mjs

参考

 

 

 

 

No comments:

Post a Comment