AList 一个支持多种存储的文件列表程序,使用 Gin 和 Solidjs。

news2024/11/27 18:33:08

一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序,由 gin 和 Solidjs 驱动。

特点

使用简单
AList 从一开始就设计为易于安装,并且可以在所有平台上使用。
多种存储
AList 支持多个存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive 等,且易于拓展。
支持 WebDAV
AList 支持所有 WebDAV 存储,这是一种用于访问文件的标准。
黑暗模式
自由切换明暗模式
受保护的路由
为特定路径添加密码保护和身份验证
文件预览
支持视频、音频、文档、PDF、图片预览等,甚至支持 ipa 安装
打包下载
使用浏览器的 stream api 支持打包下载,无需使用服务器
更多新功能
包括文本编辑器、README/HTML 渲染、文件永久链接、Cloudflare Workers 代理等

安装

一键脚本

仅适用于 Linux amd64/arm64 平台。

#安装
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
#更新
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update
#卸载
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall

自定义路径
默认安装在 /opt/alist 中。 自定义安装路径,将安装路径作为第二个参数添加,必须是绝对路径(如果路径以 alist 结尾,则直接安装到给定路径,否则会安装在给定路径 alist 目录下),如 安装到 /root:

# Install
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install /root
# update
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update /root
# Uninstall
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall /root

系统管理

启动:    systemctl start alist
关闭:    systemctl stop alist
状态:    systemctl status alist
重启:    systemctl restart alist

手动安装

获取 AList

打开 AList Release 下载待部署系统对应的文件。最新版的前端已经和后端打包好了,不用再下载前端文件了。

xxxx 指的是不同系统/架构对应的名称,一般 Linux-x86/64 为 alist-linux-amd64。如果你的 glibc 版本太低,建议下载 musl 版本

当你看到 start server@0.0.0.0:5244 的输出,之后没有报错,说明操作成功。 第一次运行时会输出初始密码。程序默认监听 5244 端口。 现在打开 http://ip:5244 可以看到登录页面,WebDAV 请参阅 WebDav。

手动运行

Linux

# 解压下载的文件,得到可执行文件:
tar -zxvf alist-xxxx.tar.gz
# 授予程序执行权限:
chmod +x alist
# 运行程序
./alist server
# 获得管理员信息
./alist admin

守护进程

使用任意方式编辑 /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 server
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

然后,执行 systemctl daemon-reload 重载配置,systemctl start alist启动服务。

相关信息
对于所有平台,您可以使用以下命令来静默启动、停止和重新启动。 (v3.4.0 及更高版本)

# 携带`--force-bin-dir`参数启动服务
alist start
# 通过pid停止服务
alist stop
# 通过pid重启服务
alist restart

使用 Docker

查看管理员信息:

docker exec -it alist ./alist admin

发行版本

docker-cli

docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

docker-compose

version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - '/etc/alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:latest'

使用 aria2 离线下载

如果你想使用aria2离线下载,我们推荐你使用这个image,它预装了aria2。

有关离线下载功能的额外说明
若没有使用docker pull --platform参数拉取镜像时,docker可能会在64位操作系统上拉取32位镜像,这将可能导致离线下载功能即使在正常配置情况下也无法使用。

当发生错误时,您会在Alist的日志文件中看到类似错误日志。

ERRO[2022-11-20 12:05:19] error [unaligned 64-bit atomic operation] while run task [download http://pic.rmb.bdstatic.com/bjh/34ee946f7a74435a167ca4351d723374.png to [/ftp](/)]

解决方法:
如果是CPU架构是64位,尝试手动拉取64位docker镜像,重新构建容器,再次尝试。
如果是CPU架构是32位,目前尚无可用方案。

开发版本

仅适用于 amd64/arm64。不推荐,这可能无法正常工作。

docker-cli

docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:main

docker-compose

version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - '/etc/alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:main'

用户/组标识符

当使用卷(-v 标志)权限问题时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户 PUID 和组 PGID 来避免此问题。
确保主机上的任何卷目录都归您指定的同一用户所有,任何权限问题都会像魔术一样消失。
在这种情况下,PUID=1000 和 PGID=1000,要找到你的使用 id user,如下所示:

  $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

访问

使用方法:https://alist.nn.ci/zh/guide/drivers/common.html

[root@zhz ~]# docker logs aad99d1d377c2e54d903cdeeff0fd3e65daaece8f67842536288aba5fef7a963
INFO[2023-05-27 14:19:18] reading config file: data/config.json        
INFO[2023-05-27 14:19:18] config file not exists, creating default config file 
INFO[2023-05-27 14:19:18] load config from env with prefix:            
INFO[2023-05-27 14:19:18] init logrus...                               
INFO[2023-05-27 14:19:18] Successfully created the admin user and the initial password is: UADOBB21 
INFO[2023-05-27 14:19:18] start server @ 0.0.0.0:5244                  
INFO[2023-05-27 14:19:18] Aria2 not ready.                             
INFO[2023-05-27 14:19:18] qbittorrent not ready.    
NameValue
Urlhttp[s]😕/domain:port/dav/
Hostdomain
路径dav
协议http/https
端口与网页端一致
WebDAV用户名与网页端用户名一致
WebDAV密码与网页端密码一致

在这里插入图片描述
在这里插入图片描述

Learn from yesterday, live for today, hope for tomorrow.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/577213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据治理入门系列:数据治理

在信息经济时代,数据是企业的一大关键资产。为了制定科学、有效、合理的决策,企业需要收集大量的数据并进行各种数据分析,为决策提供依据。在此过程中,收集数据的速度、数据的质量和可靠性、对数据的分析过程、合适的分析工具等&a…

三十四、数学知识——约数(试除法 + 约数个数 + 约数之和 + 欧几里得算法)

约数相关算法主要内容 一、基本思路1、定义2、试除法——求一个数的所有约数3、约数个数4、约数之和5、欧几里得算法——辗转相除法(求解最大公约数) 二、Java、C语言模板实现三、例题题解 一、基本思路 1、定义 约数: 约数是指一个数&…

利用百度API进行植物识别

植物识别_拍照识别植物-百度AI开放平台百度AI植物识别,支持识别超过2万种通用植物和近8千种花卉,接口返回植物的名称,并获取百科信息,适用于拍照识图类APP中https://ai.baidu.com/tech/imagerecognition/plant 偶然看到的,不过真…

STM32F103C8T6+2.4寸SPI TFT触摸屏代码+标准库 项目开发

目录 模块清单: 模块介绍: 1:STM32F103C8T6 2:2.4寸SPI TFT触摸屏 项目结果展示 2.4寸 TFT SPI显示触摸屏 2.4寸 SPI TFT 显示触摸屏代码下载链接: (1条消息) 2.4寸SPITFT显示触摸屏资源-CSDN文库 模块清单&#x…

Vue后台管理系统【附源码】

登录 – 完成 路由拦截 – 完成 商品管理(增加、编辑、搜索、删除) – 完成 角色管理(增加、编辑、搜索、删除、权限管理) – 完成 交易订单(增加、编辑、搜索、删除) – 完成 用户管理(增加、编…

在Centos Stream 9上Docker的实操教程 - 实操准备篇

在Centos Stream 9上Docker的实操教程 - 实操准备篇 认识Docker准备Centos Stream 9安装Docker更新仓库绕不开的HelloWorld结语 认识Docker 什么都要实操了,你还不知道Docker是什么?网上关于Docker的介绍一搜一大把,博主就不必浪费时间去侃侃…

ESP32-OTA

文章目录 1. 什么是OTA?2. OTA的基本原理3. ESP32远程OTA步骤:3.1 将需要升级的程序放在该目录下3.2 启动HTTP服务器3.3 配置3.4 烧录程序3.5 上电测试ESP32端 4. 问题:5. 通过命令控制OTA6. 参考: 1. 什么是OTA? OTA…

如何用 GPT-4 帮你写游戏(以24点游戏举例)

目录 给我一个24点游戏 游戏规则 GPT给的代码 ​改进 再改进 最近呢掀起了一阵GPT-4的热潮,很多人都想用GPT-4,这里呢我就打一个广告(嘿嘿),如果不知道国内如何使用GPT的,可以看看这个博客:G…

STC89C52+DHT20设计的环境温湿度检测仪

一、项目背景 本项目基于STC89C52单片机和DHT20温湿度传感器,实现了一款环境温湿度检测仪。通过传感器采集环境的温度和湿度数据,利用IIC接口的OLED显示屏显示出来,便于用户实时监测环境温湿度状态。 在现代社会,人们对环境温湿度的要求越来越高。无论是工作场所还是居住…

局部特征匹配(LoFTR) 基于全局匹配的光流学习(GMFlow)

文章目录 特征匹配(稀疏匹配与稠密匹配)《LoFTR: Detector-Free Local Feature Matching with Transformers》【CVPR21】《GMFlow: Learning Optical Flow via Global Matching》【CVPR22】光流的定义第一个问题第二个问题方法该框架下存在的一个问题 Pr…

智慧园区管理平台优势详解

随着数字化和智能化的时代到来,越来越多的园区开始使用智慧园区管理平台来提高管理效率,降低管理成本和提升服务质量。智慧园区管理平台是一种通过智能化技术与物联网技术进行连接,对园区进行综合管理、智能化监控的信息化平台。下面将详细介…

大数据:云平台,阿里云VPC创建,创建安全组,云服务器ECS,

大数据:云平台 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql要学&…

Seata之@GlobalTransactional验证

下订单 -> 减库存 -> 扣余额 -> 改(订单)状态 1.数据库初始情况: 2.正常下单 http://localhost:2001/order/create?userId1&productId1&count10&money100 3.超时异常,没加GlobalTransactional 模拟Accou…

RabbitMQ系列(24)--RabbitMQ集群搭建

前言:当RabbitMQ服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台RabbitMQ服务器可以满足每秒1000条消息的吞吐量,那如果应用需要RabbitMQ服务满足每秒10万条消息的吞吐量呢?购买昂贵的服务器来增强单机RabbitMQ服务的性能不…

阿里云ECS部署chat-web代理访问

1、ECS服务器申请 使用阿里云账号购买了一个美国(弗吉尼亚)的2C/2G的CentOS7.9 x64服务器。 2、系统版本升级 CentOS7.9默认的python和pip版本都是3.6的,需要升级到3.9以上,升级步骤百度,大致如下: wget…

vue diff算法与虚拟dom知识整理(12) patch精细化比较新增子节点

上文中我们编写了patch函数中对相同节点的几种处理 将简单的都写完了 但还留下了最麻烦的子节点比较 既新旧节点都有子节点 需要 精细化比较 我们先将src下的入口文件index.js 代码改成这样 import h from "./snabbdom/h"; import patch from "./snabbdom/pat…

C++实现Canny边缘检测(原理+底层代码)

文章目录 一、算法原理二、环境配置三、算法详解3.1、数据结构 Mat3.2、高斯滤波器的C实现3.3、用一阶偏导有限差分计算梯度幅值和方向 三、项目实战:C实现Canny边缘检测 一、算法原理 canny边缘检测算法步骤: 1、使用高斯滤波器对图像进行平滑处理。 2、…

recurdyn履带问题

1.问题:整车履带仿真出错,车辆越障时遇到障碍物直接弹开 思路: 关于这类模型需要调节履带和地面之间的接触参数、Bushing force,还有驱动函数。 弹飞了是因为接触刚度太大了,调小一些,在100以内继续调节…

从代码角度理解DETR

一个cnn的backbone, 提图像的feature, 比如, HWC.同时对这个feature做position_embedding.然后二者相加 (在Transformer里面就是二者相加)输入encoder,输入decoder (这里有object queries.)然后接Prediction Heads, 比如分类和回归. 下面的代码参考自: https://github.com/fac…

单片机原理及应用——持续更新

目录 一、单片机概述 1、单片机简介 2、单片机的特点 3、MSC-51系列与AT89S5x系列单片机 (1)MSC-51系列单片机 (2)AT89S5x系列单片机 二、AT89S52单片机的片内硬件结构 1、AT89S52单片机的硬件组成 2、AT89S52单片机的引…