jjzjj

【网盘聚合神器】支持百度(不限速)、阿里、天翼、迅雷、蓝奏、谷歌等29款网盘,使用Docker部署Alist网盘直链程序,给电脑整个80亿GB硬盘

代码讲故事 2023-04-09 原文

【网盘聚合神器】支持百度(不限速)、阿里、天翼、迅雷、蓝奏、谷歌等29款网盘,使用Docker部署Alist网盘直链程序,给电脑整个80亿GB硬盘。

百度网盘的限速可能会让你转战阿里云盘,但是阿里云盘的缺点在于不能分享,网络上的资源都是通过各类网盘来分享的,这样就会让你可能同时拥有不同网盘的账号。

那么我们有没有一款工具,可以将这些网盘资源聚合一下,把所有的网盘都挂载在电脑上,当做一个本地磁盘一样方便,也不需要再安装各种各样的网盘客户端呢?

回答是肯定的,今天就来分享一下这个网盘聚合神器:Alist(下载地址见文末)

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

通俗点说,就是用这个工具,可以整合很多网盘,在一个工具中对网盘文件进行浏览和下载。

产品支持
工具不仅支持国内大牌的百度网盘、阿里云盘、天翼云盘、蓝奏云盘、夸克网盘、迅雷网盘外,还支持国外的OneDrive、GoogleDrive等,具体列表见文末。

工具安装
工具支持Linux、Mac、Windows3个平台,如果你是Linux amd64/arm64 平台,可以使用一键安装命令进行安装

curl -fsSL “https://alist.nn.ci/v3.sh” | bash -s install
当然你喜欢动手,那也可以使用手动安装模式

Linux

解压下载的文件,得到可执行文件:

tar -zxvf alist-xxxx.tar.gz

授予程序执行权限:

chmod +x alist

运行程序

./alist server

获得管理员信息

./alist admin
Mac OS

解压下载的文件,得到可执行文件:

tar -zxvf alist-xxxx.tar.gz

授予程序执行权限:

chmod +x alist

运行程序

./alist server

获得管理员信息

./alist admin
Windows

解压下载的文件,得到可执行文件:

unzip alist-xxxx.zip

运行程序

.\alist.exe server

获得管理员信息

.\alist.exe admin
Windows(scoop)

安装

scoop install alist

运行

alist server
工具启动方法
因为我是Windows的系统,这里我就以Windows来进行演示,如何使用这款工具。

首先使用“win+R”键来打开运行窗口,在窗口中输入“cmd”进入命令行模式。

图片

在打开的命令行模式中,切换到你保存alist.exe文件的目录,我是放在了C盘的根目录下,输入“.\alist.exe admin”来获取管理员的登录信息。

图片

请用各种方式记录下后面需要用到,接着我们输入输入“.\alist.exe server”来启动工具。

图片

在这里如果没有报错信息,则会显示一个“0.0.0.0:5244”的信息,表示你在浏览器访问时的端口号是5244,你可以在浏览器地址栏输入http://localhost:5244/来打开web端浏览界面。

图片

在这个界面,使用刚刚保存的管理员账号进行登录,如果忘记了还可以再次输入“.\alist.exe admin”来获取管理员的登录信息。

图片

成功登录后,会看到上面的页面,列表空空如也,那是因为你没有挂载任何网盘,所以我们下一步以百度网盘为例,来挂载到工具中。

挂载百度网盘
点击页面底部的登录按钮,进入管理配置界面,点击左侧的存储菜单/添加按钮/选择百度网盘

图片

选择后会出现一个表单,很多字段已经自动填充值了,这里我们只需要关注几个字段:挂载路径、刷新令牌、客户的id、客户端秘钥这4个字段。

挂载路径:是让这个网盘在工具中放在哪个文件夹下的,就像我们希望百度网盘的数据都显示在baidu这个文件夹下,那么我们挂载路径就输入baidu

刷新令牌、客户的id、客户端秘钥:这几个字段是联动的,需要通过一个网址来进行获取。输入333,获取最新token地址。

https://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=iYCeC9g08h5vuP9UqvPHKKSVrKFXGa1v&redirect_uri=https://tool.nn.ci/baidu/callback&scope=basic,netdisk&qrcode=1
如果你的百度账号是处于登录状态,则会自动的显示你的账号对应的信息,如下图所示

图片

假设你没有登录的话,则需要你先登录百度账号才会显示。

我们将“挂载路径、刷新令牌、客户的id、客户端秘钥”这4个字段的值都填写到配置页面,点击保存,就会在管理端看到一个这样的界面。

图片

这时我们返回到首页http://localhost:5244/,这时候你会发现列表多了个baidu的文件夹,这就表明你挂在成功了。

图片

点进去就可以看到baidu文件夹下的内容和你百度网盘下的内容是完全一样的,你可以选择直接下载。

图片

顺便测试了一下,下载速度还行,基本上可以拉满带宽。

图片

下载地址
https://github.com/alist-org/alist

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


AList是一款个支持多种存储的目录文件列表程序,后端基于golang最好的http框架gin,前端使用vue和ant design。

Alist支持的网盘
1.本地存储
2. Aliyundrive
3.OneDrive / Sharepoint (全球,cn、德、美国)
4.189云(个人、家庭)
5.GoogleDrive
6.123pan
7.蓝奏云Alist
8.Alist
9.FTP
10.PikPak
11.ShandianPan
12.S3
13.WebDav(支持OneDrive / SharePoint没有API)
14.Teambition (中国,国际)
15.Mediatrack
16.139云(个人、家庭)
17.Yandex.Disk
18.百度网盘
19.夸克
20.XunleiCloud
21.SFTP

Alist特点
1.文件预览(PDF、markdown、代码、纯文本……)
2.图库模式下的图像预览
3.视频和音频预览(mp4、mp3、…)
4.Office 文档预览(docx、pptx、xlsx、…)
5.README.md预览渲染
6.文件永久链接复制和直接文件下载
7.黑暗模式
8.I18n
9.受保护的路由(密码保护和身份验证)
10.WebDav(有关详细信息,请参阅https://alist-doc.nn.ci/en/docs/webdav)
11.Docker部署
12.Cloudflare 工作人员代理
13.文件/文件夹包下载
14.支持视频列表播放和字幕(ass,srt,vtt)
15.网页上传(可以允许访问者上传)、删除、mkdir、重命名和移动

二、检查宿主机系统版本

[root@node ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

三、检查本地docker环境
1.检查docker服务状态

[root@node ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-09-25 03:04:11 CST; 7h ago
     Docs: https://docs.docker.com
 Main PID: 10004 (dockerd)
    Tasks: 75
   Memory: 206.3M
   CGroup: /system.slice/docker.service
           ├─10004 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─13175 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6806 -container-ip 172.17.0.2 -container-port 6806
           ├─13185 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 6806 -container-ip 172.17.0.2 -container-port 6806
           ├─13256 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 90 -container-ip 172.17.0.3 -container-port 80
           ├─13263 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 90 -container-ip 172.17.0.3 -container-port 80
           ├─27866 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 4541 -container-ip 172.17.0.4 -container-port 4041
           ├─27872 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 4541 -container-ip 172.17.0.4 -container-port 4041
           ├─27886 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 4540 -container-ip 172.17.0.4 -container-port 4040
           ├─27892 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 4540 -container-ip 172.17.0.4 -container-port 4040
           ├─27905 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 1981 -container-ip 172.17.0.4 -container-port 1900
           └─27911 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 1981 -container-ip 172.17.0.4 -container-port 1900

Sep 25 03:25:20 node dockerd[10004]: time="2022-09-25T03:25:20.736168620+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:25:21 node dockerd[10004]: time="2022-09-25T03:25:21.347611121+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:25:22 node dockerd[10004]: time="2022-09-25T03:25:22.115781758+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:25:23 node dockerd[10004]: time="2022-09-25T03:25:23.331912164+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:25:25 node dockerd[10004]: time="2022-09-25T03:25:25.375883250+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:25:28 node dockerd[10004]: time="2022-09-25T03:25:28.964063943+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:25:35 node dockerd[10004]: time="2022-09-25T03:25:35.809271761+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:25:49 node dockerd[10004]: time="2022-09-25T03:25:49.027729346+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:26:15 node dockerd[10004]: time="2022-09-25T03:26:15.070714080+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Sep 25 03:27:06 node dockerd[10004]: time="2022-09-25T03:27:06.744950332+08:00" level=info msg="ignoring event" container=26d9ded7d419b7e1d9a6946...askDelete"
Hint: Some lines were ellipsized, use -l to show in full.

2.检查docker配置信息

[root@node ~]# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
  compose: Docker Compose (Docker Inc., v2.6.0)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 2
  Running: 2
  Paused: 0
  Stopped: 0
 Images: 3
 Server Version: 20.10.17
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc version: v1.1.2-0-ga916309
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-957.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 7.62GiB
 Name: node
 ID: EIOB:6IAO:NQTR:AJBA:O6KS:SNWP:JEDK:GXBG:55FP:IOSK:WRH3:QOAU
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://sp4mg57h.mirror.aliyuncs.com/
 Live Restore Enabled: false

WARNING: IPv4 forwarding is disabled

3.开启IPv4 forwarding

[root@node ~]# echo "net.ipv4.ip_forward=1" >>  /etc/sysctl.conf
[root@node ~]# systemctl restart network
[root@node ~]#  sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

4.检查Docker版本

[root@node ~]# docker -v
Docker version 20.10.17, build 100c701

四、安装docker-compose
1.下载docker-compose二进制包

 curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
 
[root@node docker-compose]#  curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   423  100   423    0     0    362      0  0:00:01  0:00:01 --:--:--   362
100 16.2M  100 16.2M    0     0  8568k      0  0:00:01  0:00:01 --:--:-- 8568k

2.给文件增加执行权限

chmod +x /usr/local/bin/docker-compose 

3.检查docker-compose版本

[root@node docker-compose]# docker-compose version
docker-compose version 1.25.0, build 0a186604
docker-py version: 4.1.0
CPython version: 3.7.4
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

五、下载Alist镜像

[root@node ~]# docker pull xhofe/alist
Using default tag: latest
latest: Pulling from xhofe/alist
41dcc117e123: Pull complete 
69bb390438f6: Pull complete 
62d70e6ba666: Pull complete 
latest: Pulling from xhofe/alist
88ecf269dec3: Pull complete 
1cb53cd8574e: Pull complete 
c038bfab71d4: Pull complete 
838111a93e62: Pull complete 
Digest: sha256:d4966c9a0cdb185251943afaa6320ae0e26a0fcd9e91dc24c2a9117eda83a18f
Status: Downloaded newer image for xhofe/alist:latest
docker.io/xhofe/alist:latest

六、使用docker命令部署Alist

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

七、使用Docker-compose部署Alist
1.编写docker-compose.yaml

[root@node alist]# cat docker-compose.yaml 
version: "3.7"

services:
   alist:
     image: xhofe/alist:latest
     container_name: alist
     ports:
       - 5109:5244
     volumes:
       - /data/alist/data:/opt/alist/data
     restart: always

2.创建alist容器

[root@node alist]# docker-compose up -d
Creating network "alist_default" with the default driver
Creating alist ... done

3.查看容器状态

[root@node alist]# docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED         STATUS                 PORTS                                                                                                                                       NAMES
920f110c4585   xhofe/alist:latest         "./alist server --no…"   3 seconds ago   Up 2 seconds           0.0.0.0:5109->5244/tcp, :::5109->5244/tcp  

八、访问Alist首页
1.查看容器日志登录密码

[root@node alist]# docker logs alist 
INFO[2022-09-25 02:59:15] reading config file: data/config.json        
INFO[2022-09-25 02:59:15] config file not exists, creating default config file 
INFO[2022-09-25 02:59:15] load config from env with prefix:            
INFO[2022-09-25 02:59:15] init logrus...                               
INFO[2022-09-25 02:59:15] Successfully created the admin user and the initial password is: lZ7rNIbo 
INFO[2022-09-25 02:59:15] start server @ 0.0.0.0:5244    

2.登录alist

3.登录管理后台

九、添加云存储

1.选择添加存储类型

2.查看存储状态

3.查看首页网盘目录

有关【网盘聚合神器】支持百度(不限速)、阿里、天翼、迅雷、蓝奏、谷歌等29款网盘,使用Docker部署Alist网盘直链程序,给电脑整个80亿GB硬盘的更多相关文章

  1. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  2. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  3. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  4. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  5. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  6. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  7. Ruby,使用包含 TK GUI 的 ocra 部署一个 exe - 2

    Ocra无法处理需要“tk”的应用程序require'tk'puts'nope'用奥克拉http://github.com/larsch/ocra不起作用(如链接中的一个问题所述)问题:https://github.com/larsch/ocra/issues/29(Ocra是1.9的"new"rubyscript2exe,本质上它用于将rb脚本部署为可执行文件)唯一的问题似乎是缺少tcl的DLL文件我不认为这是一个问题据我所知,问题是缺少tk的DLL文件如果它们是已知的,则可以在执行ocra时将它们包括在内有没有办法知道tk工作所需的DLL依赖项? 最佳答

  8. ruby-on-rails - 如何将大于 5GB 的文件上传到 Amazon S3? - 2

    我目前正在使用带有Carrierwavegem的Rails3.2将文件上传到AmazonS3。现在我需要能够处理用户提交的大于5GB的文件,同时仍然使用Carrierwavegem。Carrierwave或Fog是否有任何其他gem或分支可以处理5GB以上的文件上传到S3?编辑:我不想重写一个完整的Rails上传解决方案,所以像这样的链接没有帮助:https://gist.github.com/908875. 最佳答案 我想出了如何做到这一点,并且现在可以正常工作了。在正确的config/environment文件中,添加以下内容以

  9. ruby-on-rails - NameError(未初始化常量 Unzipper::Zip)但仅在 Heroku 部署(Rails)上 - 2

    我有一个类unzipper.rb,它使用Rubyzip解压文件。在我的本地环境中,我可以成功解压缩文件,而无需使用require'zip'明确包含依赖项但是在Heroku上,我得到一个NameError(uninitializedconstantUnzipper::Zip)我只能通过使用明确的require来解决问题:为什么这在H​​eroku环境中是必需的,但在本地主机上却不是?我的印象是Rails自动需要所有gem。app/services/unzipper.rbrequire'zip'#OnlyrequiredforHeroku.Workslocallywithout!class

  10. ruby-on-rails - 使用 gmaps4rails 动态加载谷歌地图标记 - 2

    如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail

随机推荐