openlist

最后更新于:

openlist

image-20251221103624222

目录

[toc]

特别鸣谢 时光 & sin 两位大佬的手把手指导💖

最终目的

利用openlist+网盘实现如下2个需求:

  1. 图床
  2. 对外可提供下载的云盘

这个方式的好处就是,云服务器存储太少,这种方式,可以利用云盘较大的存储空间,做自己的云盘。

效果

我自己的openlist云盘demo:

https://openlist.onedayxyy.cn/

image-20251221174849197

sin openlist云盘:

官网

https://doc.oplist.org/

背景

openlist+网盘 做图床(来自 @时光)

image-20251221103523604

方案优势

image-20251221180257646

image-20251221180354504

1、部署(docker部署)

docker部署

警告

强烈建议使用 Docker 在隔离环境中部署 OpenList。否则,如果没有正确配置像 SELinux 或 AppArmor 这样的安全措施,假如您的密码暴露,黑客将可以访问您服务器上的所有文件。

警告

- 在 `v4.1.0` 以后的版本中(不包含 `v4.1.0`),OpenList 镜像已经移除了 `PUID`、`PGID`,并借鉴于 MariaDB 的构建方式,使用 `useradd` 增加了用户 `openlist`(UID 1001)和组 `openlist`(GID 1001),并使用该用户运行 `openlist server`。

这意味着,您需要手动处理映射的目录的权限问题,确保容器内的 `openlist(1001)` 用户有权限访问映射的目录。

您也可以通过 `--user UID:GID` 的方式来运行容器指定容器内运行 OpenList 的用户和组,让容器内有权限访问映射的目录。

- **rootless** 模式中的 Docker, `--user 0:0` 代表当前用户的 UID 和 GID。请确保您在运行容器时,正确设置了 `--user` 参数,以确保文件权限的正确性。

创建 docker-compose.yml 文件。

1mkdir -p /root/docker-service/openlist
2cd /root/docker-service/openlist
3vim docker-compose.yml

写入以下内容,然后保存并退出:

v4.1.0 以后版本

 1# docker-compose.yml
 2services:
 3  openlist:
 4    image: 'openlistteam/openlist:latest'
 5    container_name: openlist
 6    user: '0:0' # Please replace `0:0` with the actual user ID and group ID you want to use to run OpenList.
 7    volumes:
 8      - './data:/opt/openlist/data'
 9    ports:
10      - '5244:5244'
11    environment:
12      - UMASK=022
13    restart: unless-stopped

运行:

1docker-compose up -d

image-20251221104748620

访问:

http://121.4.103.106:5244/

image-20251221105136361

image-20251221105151924

查看管理员信息

首次运行

1docker logs openlist

你将在日志中看到密码。

1Successfully created the admin user and the initial password is: xYZabHGf

非首次运行

您可以重新生成手动设置密码

1# 重新随机生成密码
2docker exec -it openlist ./openlist admin random
3
4# 手动设置密码为 `NEW_PASSWORD`(替换为您要设置的密码)
5docker exec -it openlist ./openlist admin set NEW_PASSWORD

配置nginx

云服务器配置好nginx:

 1[root@hg-ecs conf.d]#cat openlist.onedayxyy.cn.conf 
 2server {
 3    listen 80;
 4    server_name  openlist.onedayxyy.cn;
 5    #配置https重定向
 6    return 301 https://$host$request_uri;
 7}
 8
 9server {
10    listen  443 ssl;
11    server_name  openlist.onedayxyy.cn;
12
13    location / {
14        proxy_pass http://127.0.0.1:5244/; 
15        client_max_body_size 100M;
16        proxy_set_header Host $host;
17        proxy_set_header X-Real-IP $remote_addr;
18        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
19        proxy_set_header X-Forwarded-Proto $scheme;
20    } 
21
22    ssl_certificate             /etc/letsencrypt/live/onedayxyy.cn/fullchain.pem;
23    ssl_certificate_key         /etc/letsencrypt/live/onedayxyy.cn/privkey.pem;
24 
25    ssl_session_timeout 5m;
26    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
27    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
28    ssl_prefer_server_ciphers on;
29    add_header Strict-Transport-Security "max-age=31536000";
30    
31    access_log /var/log/nginx/photo.onedayxyy.cn.https.log;
32}

重启nginx服务:systemctl restart nginx

在自己dns做好域名解析,后续就可以用域名来访问了。

2、从百度云开发平台获取代码

官网文档:https://doc.oplist.org/guide/drivers/baidu

请前往百度开放平台。(按官网指导配置就好,此处无坑)

image-20251221174146466

获取自己的相关代码:(特别是 刷新令牌,后续需要用到)

image-20251221174302945

3、添加百度网盘存储

配置百度网盘存储

警告

- 这里的挂载路径是指自己openlist的根路径,你进到openlist主页后,想要给别人展示的名称,建议英文。

- 根文件夹路径:是指自己百度网盘下的路径,这里我这里是`/openlist`

- Web代理要打开,WebDAV策略要配置成本地代理

- **这俩不需要填,只填刷新令牌就行;**

- 启用签名默认是关闭的;(要关闭)

- 其它无需配置;

image-20251221160858558

image-20251221160937453

image-20251221160958252

关闭签名

image-20251221161045316

百度网盘里内容

在自己百度网盘根目录下创建openlist目录,再往里面放一些文件,用于测试。

image-20251221161121934

效果

image-20251221161145943

image-20251221161153751

对外分享

添加分享路径:

image-20251221161754843

开启gust用户权限:

image-20251221161854531

4、配置eo

配置eo

image-20251221155842692

创建规则

image-20251221155644168

image-20251221155650845

image-20251221155657648

image-20251221155712521

验证

1curl -I https://openlist.onedayxyy.cn/d/baidu/img/20251221132909279.png

image-20251221155901571

image-20251221155911856

5、配置piclist

image-20251221160235466

image-20251221160338108

验证:

image-20251221160424057

1openlist图床:
2https://openlist.onedayxyy.cn/d/baidu/img/20251221132909279.png

已丢弃openlist+网盘做图床

仅仅做网盘使用即可!(2025年12月21日)。

2025年12月21日丢弃

image-20251221162318548

image-20251221160534365

2025年12月22日再次丢弃

把自己本地images目录通过百度盘上传后,再移动到openlist目录后,发现在web打开openlist.onedayxyy.cn后,进入到images后,直接报524错误:

image-20251222121435929

image-20251222121442435

估计是目录下数量太多了,挂了.

image-20251222121534339

元信息这里可以给某个目录设置密码

元信息这里可以给某个目录设置密码,,但是里面的某个文件链接分享出去后,别人还是可以使用的,例如图片,别人md是可以继续使用这里的图片的。

image-20251222121751581

302重定向是啥意思?

302重定向 是HTTP状态码中的一种,全称是 302 Found,表示临时重定向,指服务器接收到客户端的请求后,告知客户端:你要访问的资源临时在另一个地址上,需要你去新地址获取。

核心特点

  1. 临时性 这是302最关键的属性。它告诉浏览器和搜索引擎:当前资源的跳转是临时的,原URL的权重不会转移到新URL上,搜索引擎通常会继续收录原URL。 比如电商网站的促销活动页面,活动期间把A页面重定向到B活动页,活动结束后就恢复A页面的正常访问,这种场景就适合用302。

  2. 跳转逻辑

    • 浏览器请求 http://example.com/old
    • 服务器返回302状态码,并在响应头里附带 Location: http://example.com/new
    • 浏览器自动跳转到 http://example.com/new 这个新地址

和301重定向的核心区别

很多人会混淆302和301永久重定向,两者的差异主要在用途和对搜索引擎的影响上:

特性302 临时重定向301 永久重定向
性质临时跳转,原URL可能恢复使用永久跳转,原URL不再使用
权重传递不传递,搜索引擎保留原URL权重传递,搜索引擎将原URL权重转移到新URL
典型场景活动页面、临时维护、A/B测试域名更换、页面永久迁移、合并重复页面

常见使用场景

  • 网站临时维护时,将所有页面重定向到维护公告页。
  • 电商平台的限时促销,把商品列表页临时跳转到促销专题页。
  • A/B测试时,让一部分用户跳转到不同版本的页面,测试效果。

需要我帮你整理一份301和302重定向的配置代码示例吗?

啥叫直链?

直链,全称直接链接,是指直接指向目标资源(文件、图片、网页、视频等)真实存储地址的链接,访问时无需经过跳转、中转页面,浏览器或客户端会直接请求并加载该资源。

核心特点

  1. 无中转、无跳转 点击直链后,不会被引导到其他中间页面,而是直接触达目标资源。比如一个PDF文件的直链 https://example.com/docs/report.pdf,点击后会直接触发下载或在线预览,没有多余的跳转步骤。
  2. 指向真实存储地址 直链的URL路径,就是资源在服务器上的实际存放路径,没有隐藏或伪装。
  3. 可直接嵌入调用 比如在网页中嵌入一张图片的直链,页面就能直接显示这张图片;而如果是非直链(比如带跳转的图片分享链接),就无法直接嵌入显示。

和非直链的对比(结合你之前问的302重定向)

  • 直链https://example.com/image.jpg → 直接访问图片资源,无任何跳转。
  • 302重定向链接https://example.com/old-img → 服务器返回302状态码,引导浏览器跳转到 https://example.com/new-img,属于间接链接
  • 网盘分享链接:比如某网盘的 https://pan.example.com/s/123abc → 先跳转到网盘的分享页面,需要手动点击“下载”才能获取文件,也不属于直链。

需要我帮你区分直链和网盘分享链接的差异吗?

是否会封禁?

sin

image-20251221181248347

时光

image-20251221181300686

image-20251221181337691

image-20251221181357770

image-20251221181448681

image-20251221182231460

image-20251221182256561

image-20251221182458939


image-20251221182546089

image-20251221182559237

直连下载的确快

https://cloud.nw177.cn/d/189Cloud/share/01.%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6/01.win%E8%BD%AF%E4%BB%B6%E5%8C%85/05.%E9%A9%B1%E5%8A%A8%E6%80%BB%E8%A3%81%20-%20Dcnetsingle.exe

image-20251221181603284

image-20251221181615156

image-20251221181620432

定时备份云服务器内容到网盘

  • 背景:

  • 时光文档:

https://notes.ksah.cn/service/rclone

结束

推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航