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

 

 

 

 

No comments:

Post a Comment