Search by

uxf / composer-proxy

uxf

Composer plugin redirecting package dist downloads through the internal composer-proxy caching proxy, without touching composer.json or composer.lock.

Package info

gitlab.com/uxf/composer-proxy

Issues

Type:composer-plugin

pkg:composer/uxf/composer-proxy

Statistics

Installs: 23

Dependents: 0

Suggesters: 0

Stars: 0

1.0.0 2026-10-28 09:35 UTC

This package is auto-updated.

Last update: 2026-10-28 09:33:38 UTC


README

Composer plugin, který při composer install/composer update přesměruje stahování dist archivů balíčků přes interní cachující proxy composer-proxy, aniž by jakkoliv měnil composer.json nebo composer.lock projektu, ve kterém je nainstalovaný.

Řeší výpadky a rate limity (HTTP 429) při paralelních CI pipeline, kdy desítky jobů stahují stejné dist archivy přímo z gitlab.com a api.github.com.

Install

$ composer require uxf/composer-proxy

V praxi se instaluje globálně do base Docker image (composer global require), ne do jednotlivých projektů – viz docker-core-images.

Chování

Plugin je aktivní jen tehdy, když je nastavená proměnná prostředí COMPOSER_DIST_MIRROR (base URL proxy, např. https://proxy.example.com). Bez ní je plugin no-op a Composer se chová úplně stejně jako bez něj.

Pro každý balíček, který se bude stahovat jako zip, plugin přidá dist mirror (nepřepisuje originální URL). Composer tak při výpadku proxy automaticky spadne zpátky na původní stahování z gitlab.com/github.com bez zásahu uživatele.

Proxy dostává požadavky ve tvaru:

{COMPOSER_DIST_MIRROR}/dist/{vendor}/{name}/{reference}.zip?src={urlencoded původní dist URL}

Plugin nic nezapisuje do composer.lock ani do vendor/composer/installed.json – mirror se po dokončení stahování z balíčku zase odebere.

Pokud proxy vyžaduje autentizaci, předává se přes basic auth přímo v URL (https://user:token@proxy.example.com); token pak musí být masked CI proměnná.