PHPackages                             samjuk/m2-module-media-proxy - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. samjuk/m2-module-media-proxy

ActiveMagento2-module[File &amp; Storage](/categories/file-storage)

samjuk/m2-module-media-proxy
============================

Proxy missing images from an upstream environment

v1.0.1(1y ago)21.2k↓58.3%MITPHPPHP ^7.4|^8.0CI failing

Since Jan 12Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/SamJUK/m2-module-media-proxy)[ Packagist](https://packagist.org/packages/samjuk/m2-module-media-proxy)[ RSS](/packages/samjuk-m2-module-media-proxy/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (2)Versions (3)Used By (0)

SamJUK\_MediaProxy
==================

[](#samjuk_mediaproxy)

[![Supported Magento Versions](https://camo.githubusercontent.com/19f23e16065b418f3cbbce917f0911b071d1aa3adf93decbab986cd346a79198/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d6167656e746f2d322e342e33254532253830253933322e342e382d6f72616e67652e7376673f6c6f676f3d6d6167656e746f)](https://github.com/SamJUK/m2-module-media-proxy/actions/workflows/ci.yml)[![CI Workflow Status](https://github.com/samjuk/m2-module-media-proxy/actions/workflows/ci.yml/badge.svg)](https://github.com/SamJUK/m2-module-media-proxy/actions/workflows/ci.yml)[![GitHub Release](https://camo.githubusercontent.com/1815e7046f66a91ca35a86843a8f3babff4beb2b907b8315327c402ba905e82e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f53616d4a554b2f6d322d6d6f64756c652d6d656469612d70726f78793f6c6162656c3d4c617465737425323052656c65617365266c6f676f3d676974687562)](https://github.com/SamJUK/m2-module-media-proxy/releases)

This module enables you to proxy/download missing images from an upstream source, weather that is a staging or production site.

Especially useful when working on multiple large projects, by keeping the local media footprint slim. And providing a zero touch approach for new developers to get started working on local projects.

It can either proxy missing media to the upstream, which is the best approach for maximizing disk space. Or it can cache the proxied media, which will improve TTFB for missing images whilst sacrificing some disk space savings. And improve compatibility with third party image related extensions.

The intent of this module is to be run on development &amp; integration environments, specifically when working with multiple large installations.

Alternatives approaches to achieve similar functionality on a infrastructure level can be found over on my [Documentation Site](https://docs.sdj.pw/magento/media-management.html)

Installation
------------

[](#installation)

Whilst the default configuration of this module does nothing. I strongly suggest enabling &amp; configuring this module via your `env.php`.

```
composer require samjuk/m2-module-media-proxy
php bin/magento module:enable SamJUK_MediaProxy && php bin/magento cache:flush
```

Configuration
-------------

[](#configuration)

Configuration can be handled via System configuration, from within the Media Proxy menu of the SamJUK Tab.

Or can be set via the CLI

```
php bin/magento config:set --lock-env samjuk_media_proxy/general/enabled 1
php bin/magento config:set --lock-env samjuk_media_proxy/general/mode 'proxy'
php bin/magento config:set --lock-env samjuk_media_proxy/general/upstream_host 'https://www.example.com'
```

OptionConfig PathDefaultDescriptionEnabled`samjuk_media_proxy/general/enabled``0`Feature flag to toggle functionality of the moduleMode`samjuk_media_proxy/general/mode``proxy`Proxy (302 redirect) requests to the upstream, or download the files on demand. Options are: `proxy`Upstream Host`samjuk_media_proxy/general/upstream_host``-`FQDN URL of the upstream host to fetch missing images from (e.g `https://www.example.com`).

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance52

Moderate activity, may be stable

Popularity22

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

537d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/401ee0b9faa791ec1a3b567e5e3668340aa9954c5f44ed536956d56ea3593584?d=identicon)[SamJUK](/maintainers/SamJUK)

---

Top Contributors

[![SamJUK](https://avatars.githubusercontent.com/u/7872420?v=4)](https://github.com/SamJUK "SamJUK (8 commits)")

---

Tags

magento-developer-toolsmagento2magento2-developmentmagento2-extensionmagento2-module

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/samjuk-m2-module-media-proxy/health.svg)

```
[![Health](https://phpackages.com/badges/samjuk-m2-module-media-proxy/health.svg)](https://phpackages.com/packages/samjuk-m2-module-media-proxy)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
