summaryrefslogtreecommitdiffstats
path: root/vendor/fguillot/picofeed/docs/image-proxy.markdown
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-12-17 09:01:54 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2014-12-17 09:02:13 +0100
commit867cb7dbf960dc0cfbf7e59d656d1337bb59c526 (patch)
tree5bbdf1eef51cd3747f55ef2c524364f9cd3bf029 /vendor/fguillot/picofeed/docs/image-proxy.markdown
parenta813b535eeb517e0ccd69a90d0058756014a1e01 (diff)
update picofeed, fix #695
Diffstat (limited to 'vendor/fguillot/picofeed/docs/image-proxy.markdown')
-rw-r--r--vendor/fguillot/picofeed/docs/image-proxy.markdown66
1 files changed, 66 insertions, 0 deletions
diff --git a/vendor/fguillot/picofeed/docs/image-proxy.markdown b/vendor/fguillot/picofeed/docs/image-proxy.markdown
new file mode 100644
index 000000000..74e10d0c6
--- /dev/null
+++ b/vendor/fguillot/picofeed/docs/image-proxy.markdown
@@ -0,0 +1,66 @@
+Image Proxy
+===========
+
+To prevent mixed content warnings on SSL pages served from your RSS reader you might want to use an assets proxy.
+
+Images url will be rewritten to be downloaded through the proxy.
+
+Example:
+
+```html
+<img src="http://example.org/image.png"/>
+```
+
+Can be rewritten like that:
+
+```html
+<img src="http://myproxy.example.org/?url=http%3A%2F%2Fexample.org%2Fimage.png"/>
+```
+
+Currently this feature is only compatible with images.
+
+There is several open source SSL image proxy available like [Camo](https://github.com/atmos/camo).
+You can also write your own proxy.
+
+Usage
+-----
+
+There two different ways to use this feature, define a proxy url or a callback.
+
+### Define a proxy url
+
+A proxy url must be defined with a placeholder `%s`.
+The placeholder will be replaced by the image source urlencoded.
+
+```php
+$config = new Config;
+$config->setFilterImageProxyUrl('http://myproxy.example.org/?url=%s');
+```
+
+Will rewrite the image source like that:
+
+```html
+<img src="http://myproxy.example.org/?url=http%3A%2F%2Fexample.org%2Fimage.png"/>
+```
+
+### Define a callback
+
+Your callback will be called each time an image url need to be rewritten.
+The first argument is the original image url and your function must returns the new image url.
+
+Here an example if your proxy need a shared secret key:
+
+```php
+$config = new Config;
+
+$config->setFilterImageProxyCallback(function ($image_url) {
+ $key = hash_hmac('sha1', $image_url, 'secret');
+ return 'https://mypublicproxy/'.$key.'/'.urlencode($image_url);
+});
+```
+
+Will generate an image url like that:
+
+```html
+<img src="https://mypublicproxy/4924964043f3119b3cf2b07b1922d491bcc20092/http%3A%2F%2Ffoo%2Fimage.png"/>
+```