Skip to content

cloudflare workers handler for proxying requests to backblaze b2

License

Notifications You must be signed in to change notification settings

thekelvinliu/cloud-blaze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cloud-blaze

cloudflare workers handler for proxying requests to backblaze b2

about

this package enables using backblaze b2 as a back end for a website served via cloudflare workers. within certain limits, this is completely free! the bandwidth alliance as well as generous free-tier limits from backblaze and cloudflare make this possible.

get started

install

yarn add cloud-blaze

code

import the handler into your cloudflare workers code

import b2ProxyHandler from "cloud-blaze";

addEventListener("fetch", (event) => {
  event.respondWith(b2ProxyHandler({ event }));
});

setup

  1. setup cloudflare dns
  2. upload static files to b2
  3. deploy to cloudflare workers
    • wrangler publish -e <env>
  4. set bucket key and bucket key id as secret environment variables
    • wrangler secret put -e <env> <VAR_NAME>

configuration

environment variables

  • B2_APPLICATION_KEY: b2 application key to access private bucket
  • B2_APPLICATION_KEY_ID: b2 application key id
  • B2_BUCKET_PREFIX: b2 bucket prefix for serving files within a bucket folder
  • PUBLIC_PREFIX: public url prefix to proxy requests behind a certain pathname

function options

  • bucketKey: defaults to B2_APPLICATION_KEY
  • bucketKeyId: defaults to B2_APPLICATION_KEY_ID
  • bucketPrefix: defaults to B2_BUCKET_PREFIX
  • publicPrefix: defaults to PUBLIC_PREFIX

TODO

  • edge SSR + B2 bucket hosting