基于 Cloudflare 的开源、免费、自部署 Pastebin/图床

项目地址:https://github.com/SharzyL/pastebin-worker

DEMO:https://pastebin.vpslog.org/

安装教程

这个项目在部署时需要在本地/服务器上进行构建,在完成构建之后,推送到 cloudflare 后就不再需要自己的服务器托管了。所以建议就本地构建,也可以用 Github 免费临时服务器 codespace 构建,参考:https://blog.vpslog.org/blog/codespace/

首先在 Cloudfalre 新建两个 KV,复制 ID。

在电脑/服务器上克隆项目

git clone https://github.com/SharzyL/pastebin-worker

安装 NodeJS:

curl -SLO https://deb.nodesource.com/nsolid_setup_deb.sh
chmod 500 nsolid_setup_deb.sh
./nsolid_setup_deb.sh 21
apt-get install nodejs -y

安装 wrangler

npm install wrangler -g

登录 wrangler,可以参考官方文档

wrangler login

获取 Cloudfalre 用户 ID,在 dashboard 地址上可以看到。

在项目文件里面,修改以下两个文件:

# 文件:wrangler.toml
name = "pb"
compatibility_date = "2023-01-28"

account_id = "填写你的用户ID"
workers_dev = false
main = "src/index.js"

# config for default production environment
vars = { ENVIRONMENT = "production" }
route = { pattern = "你要绑定的域名,例如 pastebin.vpslog.org", custom_domain = true }
kv_namespaces = [
  { binding = "PB", id = "之前创建的第一个 KV 的ID" },
]

[env.preview]
vars = { ENVIRONMENT = "preview" }
route = { pattern = "预览域名,可以不填。例如 pb-preview.pastebin.vpslog.org", custom_domain = true }
minify = false

kv_namespaces = [
  { binding = "PB", id = "之前创建的第二个 KV 的ID,可以不填" }
]
#文件 config.json
{
  "BASE_URL": "改成你的域名,例如 https://pastebin.vpslog.org",
  "REPO": "https://github.com/SharzyL/pastebin-worker",
  "FAVICON": "https://sharzy.in/favicon-32x32.png"
}

部署:

npm install -g yarn
yarn install
make deploy

访问你的域名即可。

此项目可做图床,选择上传文件然后上传图片即可。图片保存在 Cloudflare KV。KV限制每天10万读取,存储空间 1G。


最后修改于 2023-12-15

- 目录 -