This data compression service is used by Bandwidth Hero browser extension. It compresses given image to low-res WebP or JPEG image. Optionally it also converts image to greyscale to save even more data.
It downloads original image and transforms it with Sharp on the fly without saving images on disk.
This is NOT an anonymizing proxy — it downloads images on user's behalf, passing cookies and user's IP address through to the origin host.
Options to set when deploying to google cloud
- Memory Allocated: between 256MB - 512MB recommended
- Runtime: NodeJS 8+ (Sharp doesn't build on Node 6 default)
- Function to Execute:
bandwidthHeroProxy
ENVIRONMENT_VARIABLES
MIN_COMPRESS_LENGTH=2048
(minimum byte length for an image to be compressible; default 2048 ~2kB)
node ./express-wrapper.js