mod_http_upload_external backend implementation on Cloudflare Workers with S3 support, compatible with Prosody and eJabberd
Go to file
Peter Cai 9687f30b6a add examples and README 2021-11-24 20:38:27 -05:00
src handleGET: hide S3 bucket responses 2021-11-24 19:01:46 -05:00
.gitignore add examples and README 2021-11-24 20:38:27 -05:00
README.md add examples and README 2021-11-24 20:38:27 -05:00
config.example.json add examples and README 2021-11-24 20:38:27 -05:00
hmac_sha256.py implement v2 signature verification 2021-11-24 16:33:40 -05:00
package-lock.json package.json: make license AGPL-3.0 2021-11-24 18:32:51 -05:00
package.json use BUILD_ENV instead of NODE_ENV 2021-11-24 18:34:34 -05:00
webpack.config.js use BUILD_ENV instead of NODE_ENV 2021-11-24 18:34:34 -05:00
wrangler.example.toml add examples and README 2021-11-24 20:38:27 -05:00

README.md

This is a mod_http_upload_external-compatible XEP-0363 file server for Prosody and eJabberd implemented on Cloudflare Workers with S3-compatible backend support.

To use it, you need to fill in config.prod.json using config.example.json as a template, and then create wrangler.prod.toml based on wrangler.example.toml. Most of the fields should be pretty self-explanatory. To publish it to your Cloudflare account, run npm run publish-prod.

To configure eJabberd to use the endpoint exposed by this service, add

  mod_http_upload:
    put_url: https://<worker_url>/
    get_url: https://<worker_url>/
    external_secret: <secret_in_config_json>

to ejabberd.yaml.