gnu-social/plugins/StoreRemoteMedia
Diogo Cordeiro c18f26145c [CORE] Move core plugins to a new modules directory
For reference (raised by rozzin in IRC):

* http://foldoc.org/module
* http://foldoc.org/library
* http://foldoc.org/plugin

As noted by XRevan86, modules are not necessarily non-essential.
As we will keep the modules directory in GS root [therefore, near to
plugins/], it is evidenced the difference between both.

This is a simple yet fundamental structural change. It doesn't change
functionality but makes clearer the way we understand GNU social's
internals.
2021-07-16 19:44:33 +01:00
..
locale [CORE] Move core plugins to a new modules directory 2021-07-16 19:44:33 +01:00
scripts StoreRemoteMedia - removeRemoteMedia script - Add missing newline in bad limit error 2019-04-23 22:11:29 +01:00
README [StoreRemoteMedia] Added documentation for feature which limits the maximum filesize which is kept locally 2019-08-03 17:47:22 +01:00
StoreRemoteMediaPlugin.php [PLUGINS] Fixed oEmbed dependents to use Embed 2019-08-03 17:49:06 +01:00

The StoreRemoteMedia plugin downloads remotely attached files to local server.

Installation
============
add "addPlugin('StoreRemoteMedia');"
to the bottom of your config.php

Settings
========
domain_blacklist: Array of regular expressions. Always escape your dots and end your strings.
check_blacklist: Whether to check the domain_blacklist.

domain_whitelist: Array of regular expressions. Always escape your dots and end your strings.
check_whitelist: Whether to check the domain_whitelist.

max_image_bytes: Max image size. Anything bigger than this is rejected. 10MiB by default

When check_whitelist is set, only images from URLs matching a regex in the
domain_whitelist array are accepted for local storage. When check_blacklist
is set, images from URLs matching any regex in the domain_blacklist are
denied local storage. When both lists are checked, only images from URLs
that match a regex in the domain_whitelist and that match no regexen in the
domain_blacklist are accepted for local storage.

Example
=======
addPlugin('StoreRemoteMedia', array(
    'domain_whitelist' => array(
        '^i\d*\.ytimg\.com$' => 'YouTube',
        '^i\d*\.vimeocdn\.com$' => 'Vimeo'
    ),
    'check_whitelist' => true,
));