如何白嫖可存储15万张(10G)私人图床

15万张(10G)私人图床由赛博菩萨 Cloudflare 和笔者开发的 imgsaver 共同配合完成。

  • Cloudflare 免费提供 10G 云存储
  • imgsaver 免费提供收集和管理功能

本指南首先介绍如何在 Cloudflare 上部署自定义云存储,然后再介绍如何配置和使用 imgsaver。

如何在 Cloudflare 上部署自定义云存储

前置条件

  1. 从 Cloudflare 购买了一个域名,或将从其他注册商购买的域名配置为 Cloudflare 代理。
  2. 已向 Cloudflare 添加信用卡(启用 R2 Bucket 需要,但前 10GB 存储是免费的)。

第一步:创建 R2 存储桶

  1. 登录到你的 Cloudflare 帐户并导航到 R2 部分。

  2. 点击“创建存储桶”,为你的存储桶提供名称 imgsaver

    如何白嫖可存储15万张(10G)私人图床

  3. 存储桶创建后,你将在你的 R2 存储桶列表中看到它。

第二步:配置存储桶设置

  1. 转到新创建的存储桶的设置。

  2. 公共访问部分,找到自定义域名并点击“连接域名”。

    如何白嫖可存储15万张(10G)私人图床

  3. 按照说明为你的存储桶创建自定义域名。

    • 添加自定义域名

    • 输入在 Cloudflare 帐户上注册的域名或子域名。例如,使用 static.slarkvan.com 这样的域名。

      如何白嫖可存储15万张(10G)私人图床
      如何白嫖可存储15万张(10G)私人图床
      如何白嫖可存储15万张(10G)私人图床

  4. 上传文件以测试存储桶配置是否成功。

    如何白嫖可存储15万张(10G)私人图床
    如何白嫖可存储15万张(10G)私人图床
    如何白嫖可存储15万张(10G)私人图床

  5. 确保 CORS(跨源资源共享)设置配置为允许来自你的域的访问(不配置的话无法在 imgsaver.net 网页下载图片)。复制并使用以下 JSON 作为你的 CORS 设置:

    [
      {
        "AllowedOrigins": [
          "https://imgsaver.net",
          "https://www.imgsaver.net"
        ],
        "AllowedMethods": [
          "GET",
          "HEAD"
        ]
      }
    ]

    如何白嫖可存储15万张(10G)私人图床

第三步:在 Cloudflare Workers 上部署图像上传代码

  1. 导航到 Cloudflare 仪表板中的 Workers 部分。

  2. 点击“创建 Worker”,为你的 worker 提供任意名称。

    如何白嫖可存储15万张(10G)私人图床
    如何白嫖可存储15万张(10G)私人图床

  3. 部署以下代码。仅修改 worker.js

    function setCorsHeaders(response) {
        let headers = new Headers(response.headers);
        headers.set('Access-Control-Allow-Origin', '*');
        headers.set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
        headers.set('Access-Control-Allow-Headers', 'Content-Type, X-Custom-Auth-Key');
        return new Response(response.body, {
            ...response,
            headers
        });
    }
    
    export default {
        async fetch(request, env) {
            if (request.method === 'PUT') {
                const auth = request.headers.get('Authorization');
                const expectedAuth = `Bearer ${env.AUTH_SECRET}`;
    
                if (!auth || auth !== expectedAuth) {
                    return new Response('Unauthorized', { status: 401 });
                }
    
                const url = new URL(request.url);
                const key = url.pathname.slice(1);
                await env.MY_BUCKET.put(key, request.body);
                return new Response(`Object ${key} uploaded successfully!`);
            }
    
            const url = new URL(request.url);
            const key = url.pathname.slice(1);
            const object = await env.MY_BUCKET.get(key);
    
            if (object === null) {
                return new Response('Object Not Found', { status: 404 });
            }
    
            const headers = new Headers();
            object.writeHttpMetadata(headers);
            headers.set('etag', object.httpEtag);
            return setCorsHeaders(new Response(object.body, { headers }))
        },
    };

    如何白嫖可存储15万张(10G)私人图床
    如何白嫖可存储15万张(10G)私人图床

  4. 保存并部署 worker。

  • 如果部署失败,是由于缺少环境变量。不用担心,我们继续配置。
  • 上述代码使用 AUTH_SECRETMY_BUCKET 环境变量,我们下一步将设置这些变量。
  1. 在变量中添加环境变量。
  • 设置 AUTH_SECRET。你可以从这里生成一个随机的 UUID:UUID 生成器

  • 设置变量后记得点击部署按钮。

    如何白嫖可存储15万张(10G)私人图床

  1. 在变量中添加 R2 存储桶绑定。
  • 设置变量后记得点击部署按钮。

    如何白嫖可存储15万张(10G)私人图床
    如何白嫖可存储15万张(10G)私人图床

第四步:为 Worker 配置自定义域名

  1. 部署 worker 后,转到 worker 的设置。

  2. 触发器部分,找到自定义域名并点击“添加自定义域名”。按照说明为你的 worker 创建自定义域名。

    如何白嫖可存储15万张(10G)私人图床
    如何白嫖可存储15万张(10G)私人图床
    如何白嫖可存储15万张(10G)私人图床

现在你的自定义云存储设置已完成。你可以使用自定义域名处理图像上传并通过 R2 存储桶管理你的文件。

最后,使用以下设置配置 ImgSaver 插件:

  • 自定义上传端点(Custom Upload Endpoint): https://upload.slarkvan.com
  • 自定义上传密钥(Custom Upload Secret Key): aee30c3f-6794-4d63-99a4-17604e6e6225
  • 自定义显示端点(Custom Display Endpoint): https://static.slarkvan.com

现在,在 ImgSaver 插件的选项(Options)页面中填写这些值。你现在拥有 10GB 的免费图像托管!

如何白嫖可存储15万张(10G)私人图床

通过遵循这些步骤,你将成功地白嫖到 Cloudflare 可存储 15 万张(10G)私人图床

版权声明:limingdao 发表于 2024-07-16 9:20:02。
转载请注明:如何白嫖可存储15万张(10G)私人图床 | 黎明岛导航