pastebin-worker部署教程

pastebin-worker是一个非常好用的在线分享工具,利用大善人cloudflare的免费额度,可以非常方便的在朋友之间分享文件和文本内容。

一、准备工作

安装node及相关工具,如果以下命令报错,可能是权限不够,请在前面带上sudo

  1. 更新node

    更新node至最新版本

$ nvm install node

Downloading and installing node v23.6.1...
Downloading https://nodejs.org/dist/v23.6.1/node-v23.6.1-linux-x64.tar.xz...
################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v23.6.1 (npm v10.9.2)

查看是否更新

$ node -v
v23.6.1
  1. 更新npm

更新npm至最新版本

npm install -g npm@11.0.0

removed 11 packages, and changed 39 packages in 2s

24 packages are looking for funding
  run `npm fund` for details

查看是否更新至11.0版本

$ npm -v
11.0.0
  1. 安装yarn
npm install -g yarn
  1. 安装wrangler

    wrangler是cloudflare专有工具,用于部署代码

npm install wrangler -g

二、配置pastebin-worker

  1. 克隆仓库

    克隆pastebin-worker至本地或者vps上;

git clone https://github.com/SharzyL/pastebin-worker.git
  1. 创建KV数据ID

登录cloudflare后,在左侧菜单:Storage & Databases --> KV 中,点击create,创建一个Create a namespace,复制ID

  1. 修改配置文件

修改仓库的wrangler.toml文件,主要修改以下几项:

[[routes]]
# Refer to https://developers.cloudflare.com/workers/wrangler/configuration/#routes
pattern = "f.bytetoy.net" #将要绑定的域名(二级域名也可以)
custom_domain = true

[[kv_namespaces]]
binding = "PB"  # do not touch this
id = "cc398e983a234aa19de5ea6af571a483"  # KV仓库的ID,替换为自己的

[vars]
# must be consistent with your routes
BASE_URL = "https://f.bytetoy.net" #域名地址

[vars.BASIC_AUTH]
root = "root2024" #登录帐号和密码(上传文件需要先登录),额外增加的配置(原配置文件无此项)

三、编译和部署

  1. 编译
yarn install
  1. 登录cloudflare

    登录的时候,需要先把链接复制到本地浏览器进行授权; 然后会跳转至一个localhost的地址,复制链接地址,在vps上使用curl登录授权,然后才会出现登录成功的提示。

yarn wrangler login
yarn run v1.22.22
$ /home/hotpod/github/pastebin-worker/node_modules/.bin/wrangler login
 ⛅️ wrangler 3.32.0 (update available 3.105.0)
--------------------------------------------------------
Attempting to login via OAuth...
Opening a link in your default browser: https://dash.cloudflare.com/oauth2/auth?response_type=code&client_id=54d11594-84e4-41aa-b438-e81b8fa78ee7&redirect_uri=http%3A%2F%2Flocalhost%3A8976%2Foauth%2Fcallback&scope=account%3Aread%20user%3Aread%20workers%3Awrite%20workers_kv%3Awrite%20workers_routes%3Awrite%20workers_scripts%3Awrite%20workers_tail%3Aread%20d1%3Awrite%20pages%3Awrite%20zone%3Aread%20ssl_certs%3Awrite%20constellation%3Awrite%20ai%3Aread%20offline_access&state=jGtEBn~mOL5jxMHM1iGWB_A_CfGsq70u&code_challenge=gZ98dlzmv_ChJ_Fl1rEZqUVb4x1j421FB1HJuahK_uc&code_challenge_method=S256
Successfully logged in.
Done in 42.44s.

复制以上链接至本地浏览器登录授权,会redirect至一个本地链接,在vps上用curl登录,链接比较场,建议使用''包裹起来。

curl 'http://localhost:8976/oauth/callback?code=v4Y25eH24g7PVOikbhZ5CZf5DNFPqVdTYWShQlQSZak.dX3noUPwYMsfH_zLun_NWXRdhXZ6_Y8AUD4j_kBHyYQ&scope=account%3Aread%20user%3Aread%20workers%3Awrite%20workers_kv%3Awrite%20workers_routes%3Awrite%20workers_scripts%3Awrite%20workers_tail%3Aread%20d1%3Awrite%20pages%3Awrite%20zone%3Aread%20ssl_certs%3Awrite%20constellation%3Awrite%20ai%3Aread%20offline_access&state=jGtEBn~mOL5jxMHM1iGWB_A_CfGsq70u'
  1. 部署

    部署成功后,会有配置提示

yarn deploy
yarn run v1.22.22
$ wrangler deploy
 ⛅️ wrangler 3.32.0 (update available 3.105.0)
--------------------------------------------------------
Your worker has access to the following bindings:
- KV Namespaces:
  - PB: 6cc398e983a234aa19de5ea6af571a483bfe
- Vars:
  - BASE_URL: "https://f.bytetoy.net"
  - BASIC_AUTH: {
 "root": "root9527",
 "REPO": "https://github.com/SharzyL/pastebin-worker",
 "FAVICON": "https://sharzy.in/favicon-32x32.png",
 "TOS_MAINTAINER": "Byte Library",
 "TOS_MAIL": "me@bytetoy.net",
 "CACHE_STATIC_PAGE_AGE": 7200,
 "CACHE_PASTE_AGE": 600
}
Total Upload: 537.02 KiB / gzip: 116.52 KiB
Uploaded pb (2.53 sec)
Published pb (1.93 sec)
  f.bytetoy.net (custom domain)
Current Deployment ID: 201f264d-0134-4648-ac7a-b4c03c506d5a
Done in 6.33s.

results matching ""

    No results matching ""

    results matching ""

      No results matching ""