Alist

一款支持多种存储的目录文件列表程序,支持 web 浏览与 webdav,后端基于gin,前端使用react。

演示站

  • https://alist.nn.ci

支持

  • 多种存储
  • 本地存储
  • 阿里云盘
  • OneDrive / Sharepoint(国际版, 世纪互联,de,us)
  • 天翼云盘
  • GoogleDrive
  • 123云盘
  • 蓝奏云
  • Alist
  • FTP
  • PikPak
  • 闪电盘
  • S3
  • WebDav
  • Teambition(中国,国际)
  • 分秒帧
  • 和彩云 (个人云, 家庭云)
  • Yandex.Disk
  • 百度网盘
  • 夸克网盘
  • 迅雷云盘
  • 部署方便,开箱即用
  • 文件预览(PDF、markdown、代码、纯文本……)
  • 画廊模式下的图像预览
  • 视频和音频预览(mp4、mp3 等)
  • Office 文档预览(docx、pptx、xlsx、…)
  • README.md 预览渲染
  • 文件永久链接复制和直接文件下载
  • 黑暗模式
  • 国际化
  • 受保护的路由(密码保护和身份验证)
  • WebDav(具体见https://alist-doc.nn.ci/docs/webdav )
  • Docker 部署
  • Cloudflare workers 中转
  • 文件/文件夹打包下载
  • 支持视频列表播放和字幕(ass,srt,vtt)
  • 网页上传(可以允许访客上传),删除,新建文件夹,重命名,移动,复制

文档

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

安装

本文章仅适用于群晖NAS,并要求正确安装好Docker套件。

下载镜像

进入群晖Docker套件,注册表中搜索alist,选择xhofe/alist

Snipaste_2022-05-24_01-17-07

选择latest标签

Snipaste_2022-05-24_01-17-28
最后等待镜像下载完成,在Docker-映像中可找到该镜像

部署

双击下载完成的alist镜像创建容器,网络默认即可

Snipaste_2022-05-24_01-21-38

这里保持默认即可,也可勾选“通过Web Station启用网页门户”(需要DSM7.1)

如果勾选“通过Web Station启用网页门户”,在创建容器完成后会自动跳转到Web Station配置域名端口等信息,这里不选择这种方式。

Snipaste_2022-05-24_01-24-11

配置端口转发

Snipaste_2022-05-24_01-29-01

文件夹挂载(后续不手动修改配置这里也可不挂载)

/opt/alist/data
Snipaste_2022-05-24_01-31-51

最后启动容器即可

配置文件 – 不修改的可以跳过这一步

首先启动一次容器,让容器生成默认配置文件,随后关闭容器,进入到之前创建容器中所挂载的本地文件夹中,会有个config文件夹

Snipaste_2022-05-24_01-38-02

在config中找到Config.json

Snipaste_2022-05-24_01-38-57

修改配置文件

Snipaste_2022-05-24_01-42-23
  • config.json
  • address​
    • 监听地址
  • port​
    • 监听端口
  • assets​
    • 使用的静态资源位置。这是动态可变化的,现有的静态资源在 npm 和 GitHub 上都有托管,它们的位置分别是:
    • https://www.npmjs.com/package/alist-web
    • https://github.com/alist-org/assets
    • 所以你可以使用任何 npm 或者 github 的 cdn 来作为路径。默认使用饿了么反代的 unpkg 的 cdn(阿里云 cdn):https://npm.elemecdn.com/alist-web@$version/dist/ ,$version在程序中会自动替换为前端的发行版本。在这里列举一些其他的可用的 assets:
    • NPM​
    • jsdelivr npm: https://cdn.jsdelivr.net/npm/alist-web@$version/dist/
    • unpkg npm: https://unpkg.com/alist-web@$version/dist/
    • pigax jsdelivr npm(腾讯云cdn): https://u.pigax.cn/npm/alist-web@$version/dist/
    • pigax unpkg npm(腾讯云cdn): https://unpkg.pigax.cn/alist-web@$version/dist/
    • tianli jsdelivr npm(腾讯云cdn): https://cdn1.tianli0.top/npm/alist-web@$version/dist/
    • GitHub​
    • jsdelivr github: https://cdn.jsdelivr.net/gh/alist-org/assets@$version/dist/
    • pigax jsdelivr github(腾讯云cdn): https://u.pigax.cn/gh/alist-org/assets@$version/dist/
    • tianli jsdelivr github(腾讯云cdn): https://cdn1.tianli0.top/gh/alist-org/assets@$version/dist/
    • 本地​
    • 本地: /
    • 自定义​
    • 两种方法:
    • 反代jsdelivr,然后将jsdelivr的npm或者github的cdn中的host换成自己的
    • 在https://github.com/alist-org/alist-web/releases 下载编译好的文件放到你的空间上,然后此处的assets填写你存放的位置的链接(到dist/这一级)
  • database​
    • 数据库相关设置
  • type​
    • 数据库类型,可选sqlite3、mysql、postgres
  • user​
    • 数据库用户名
  • password​
    • 数据库密码
  • host​
    • 数据库地址
  • port​
    • 数据库端口
  • name​
    • 数据库名称
  • table_prefix​
    • 数据库表前缀(针对多个应用程序使用一个数据库)
  • db_file​
    • 数据库文件,对于 sqlite3
  • ssl_mode​
    • sqlite3:忽略该参数
    • mysql:等同于https://github.com/go-sql-driver/mysql#tls
    • postgres: 即同名参数,具体见https://github.com/jackc/pgconn/blob/b7a85d1a6fc58df695e8cf0571ebf4e7dab921d5/config.go#L576
  • 上述配置文件说明来自作者文档,详情可参考作者文档:https://alist-doc.nn.ci/docs/setting/config

初始密码

  • 初始密码请查看容器日志输出:
Snipaste_2022-05-24_02-01-01

添加网盘

启动容器后在浏览器中输入:IP:prot,点击页面方的管理进行后台登录

Snipaste_2022-05-24_02-05-49

登录完成找到找到账号

Snipaste_2022-05-24_02-07-36

点击添加

Snipaste_2022-05-24_02-09-38

选择需要添加的网盘,这里以阿里网盘为例子

Snipaste_2022-05-24_02-10-58

红色标信号部分为必填,刷新令牌(refresh_token)获取可扫码获取:https://alist-doc.nn.ci/docs/driver/aliyundrive/

Snipaste_2022-05-24_02-14-19

正确添加网盘信息后保存,重新输入IP:prot进入alist首页即可看到网盘内容,其他网盘添加只需按照要求填写所需参数进行添加即可

Snipaste_2022-05-24_02-18-50

链接

  • 本文部分内容整理修改至作者文档:https://alist-doc.nn.ci/docs/intro
  • 演示站:https://alist.nn.ci
  • 镜像Docker Hub:https://registry.hub.docker.com/r/xhofe/alist/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注