Image proxy middleware
This is an image proxy for node.js/browser. It is meant to be used as a connect/express middleware, but it can be used by itself.
User images won't always show up on your site:
Generally speaking, you should put this proxy instance behind a cache as this module does not cache any images. If you use CloudFlare as a CDN, you can even prevent hotlinking.
npm install iproxy
For the browser, we use component:
component install discore/iproxy
You should mount the middleware to some prefix. For example, we'll use the prefix
Assume we use the prefix
/proxy. Images are now proxied at the address
'/proxy' + url where
url is the URL of the image without the protocol. ex.,
/proxy/i.imgur.com/mFtyLGJ.gif would proxy the image
http://i.imgur.com/mFtyLGJ.gif through your server.
We want to create an
iproxy instance with the prefix
var iproxy = require'iproxy''/proxy'
url- the image URL you want to proxy.
null, the image failed to load and proxy.
url- the image URL that worked - either the original URL or the proxied URL.
iproxy''// Input URL will match the output URL// because the image worksurl === http://i.imgur.com/mFtyLGJ.gifiproxy''// The output URL will be a proxied URL// since imgur doesn't support HTTPSurl === /proxy/iimgurcom/mFtyLGJgif
Note: it's up to you what protocol you'd like to test. You may want to use
//i.imgur.com/mFtyLGJ.gif protocol-less URLs.