A file list program that supports multiple storage, powered by Go. 一个支持多存储的文件列表程序.
English | 中文
Features
- Multiple storage
- Local storage
- Aliyundrive
- OneDrive / Sharepoint (global, cn,de,us)
- 189cloud
- GoogleDrive
- 123pan
- Lanzou
- Alist
- FTP
- PikPak
- ShandianPan
- S3
- WebDav
- Teambition(China,International)
- Mediatrack
- 139yun (Personal, Family)
- Yandex.Disk
- Baidu Disk
- Quark
- Easy to deploy and out-of-the-box
- File preview (PDF, markdown, code, plain text, ...)
- Image preview in gallery mode
- Video and audio preview (mp4, mp3, ...)
- Office documents preview (docx, pptx, xlsx, ...)
-
README.md
preview rendering - File permalink copy and direct file download
- Dark mode
- I18n
- Protected routes (password protection and authentication)
- WebDav (see https://alist-doc.nn.ci/en/docs/webdav for details)
- Docker Deploy
- Cloudflare workers proxy
- File/Folder package download
- Support video list playback and subtitles(ass,srt,vtt)
- Web upload(Can allow visitors to upload), delete, mkdir, rename, move and copy
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
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://alist.nn.ci (稳定版本,即Github Release的最新版本)
- https://alist.now.sh (开发版本,随着GitHub提交更新)
部署
先打开 https://github.com/Xhofe/alist
手动部署
运行起来
- 打开AList Release下载要部署的系统对应的文件
- 解压下载对文件得到可执行文件:
tar -zxvf alist-xxxx.tar.gz
(Linux) - 赋予程序执行权限:
chmod +x alist-xxxx
- 运行程序:
./alist-xxxx
- 完成,后台默认密码为
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(排序):可选值为
name
,size
,updated_at
,created_at
- order_direction(排序方向):可选
ASC
(正序),DESC
(倒序)
Onedrive
打开https://tool.nn.ci/onedrive/request
创建应用
- 在打开的页面,选择所在区域,点击创建应用
- 登陆后选择「注册应用程序」,输入「名称」,选择「任何组织目录中的账户和个人」(注意这里不要看位置选择而是看文字,部分人可能是中间那个选项,不要选成单一租户或者其他选项,否则会导致登陆时出现问题),输入重定向 URL 为 https://tool.nn.ci/onedrive/callback,「注册」即可,然后可以得到
client_id
- 注册好应用程序之后,选择「证书和密码」,点击「新客户端密码」,输入一串密码,选择时间为最长的那个,点击「添加」
(注:在添加之后输入的密码之后会消失,请记录下来client_secret
的值)
获取刷新令牌
将上一步骤中获得的client_id
和client_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
;或:
- Open Google Drive API
- Create a OAuth client ID
- Install rclone software locally
- Get refresh_token with rclone
123Pan
填写账号密码即可。
元信息(meta)设置
此处的path(路径)是访问alist页面时的pathname,如要设置https://alist.nn.ci/本地存储
则路径是/本地存储
设置密码
填写密码字段即可
隐藏文件/文件夹
填写hide字段,填写要隐藏的文件(夹)名称,以,
分隔,比如要隐藏https://alist.nn.ci/本地存储
下的README.md
和index.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
-----------------------------
在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
。
from https://github.com/liuzhiwei90/Apan-Replit
----------------------------------------------------------------------------------------------
网盘聚合神器「AList」的图形界面版:Alist Helpe
Alist Helpe使用
总结
下载地址
- 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
支持存储列表
- 本地存储
- 阿里云盘
- OneDrive / SharePoint(国际版, 世纪互联,de,us)
- 天翼云盘 (个人云, 家庭云)
- GoogleDrive
- 123云盘
- FTP / SFTP
- PikPak
- S3
- 又拍云对象存储
- WebDAV(支持无API的OneDrive/SharePoint)
- Teambition(中国,国际)
- 分秒帧
- 和彩云 (个人云, 家庭云)
- Yandex.Disk
- 百度网盘
- 夸克网盘
- 迅雷网盘
- 蓝奏云
- 阿里云盘分享
- 谷歌相册
- Mega.nz
- 一刻相册
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