基于 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