wp-cli

Primary endpoint

Use https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/ as the canonical baseurl in your client configuration.

1 archive

Primary archive only

A single proxy serves the entire distribution โ€” no companion archives needed.

Anonymous

No sign-in required

Public read access over HTTPS. Plain HTTP is available for legacy clients that cannot validate the certificate.

Repository URL

Drop one of the URLs below into your client configuration. HTTPS is the right choice in almost every case.

HTTPS ยท recommended
https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/
HTTP ยท legacy clients only
http://mirror.kargadan.ir/repository/wordpress-downloads-proxy/

Quick verification

Run this from any machine that can reach the mirror. It should complete in under a second once metadata is cached.

# Quick smoke test (downloading a real plugin zip)
curl -fsSL https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/plugin/akismet.5.3.zip \
  -o /dev/null -w 'HTTP %{http_code}  %{size_download}B\n'

Default client configuration

Drop this file at ~/.wp-cli/config.yml on the target host for the recommended default release (release). See configuration by release for every supported suite.

# ~/.wp-cli/config.yml or project-local wp-cli.yml
# Caches WordPress core / plugin / theme ZIP downloads through Nexus.
# WP-CLI honours WP_CLI_PACKAGES_HOST for the package index but plugin/theme
# downloads themselves come from downloads.wordpress.org which IS cacheable.

core download:
  download-url-template: https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/release/wordpress-{version}.zip

plugin install:
  download-url-template: https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/plugin/{slug}.{version}.zip

theme install:
  download-url-template: https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/theme/{slug}.{version}.zip

# Limitation: api.wordpress.org returns dynamic JSON (translation packs,
# secret-key generation, plugin info) which cannot be cached. Configure your
# clients to keep that traffic going to upstream.

Configuration by release

Each block below is a complete, copy-ready configuration for one suite or release. Install path: ~/.wp-cli/config.yml. The same patterns are committed under /opt/client-configs/wordpress/wp-cli.yml on the mirror host (default release only).

WordPress core ZIPs default

Quick verification

curl -fsSL https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/release/ -o /dev/null -w 'HTTP %{http_code}\n'

Client configuration

# ~/.wp-cli/config.yml
core download:
  download-url: https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/release/wordpress-6.5.4.zip

Plugins & themes (static ZIPs)

Quick verification

curl -fsSL https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/plugin/akismet.5.3.zip -o /dev/null -w 'HTTP %{http_code}\n'

Client configuration

wp plugin install https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/plugin/akismet.5.3.zip
wp theme install https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/theme/twentytwentyfour.1.0.zip

CI / container example

A minimal snippet you can paste into a Dockerfile or pipeline step.

# CI: download WordPress core + a known plugin from the cache
wp core download --version=6.5.4 \
    --download-url=https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/release/wordpress-6.5.4.zip
wp plugin install \
    https://mirror.kargadan.ir/repository/wordpress-downloads-proxy/plugin/akismet.5.3.zip

Mirror information

DistributionWordPress
Package managerwp-cli
Mirror format (Nexus)raw
Default suite / branchrelease
AuthenticationNot required (anonymous read)
ProtocolsHTTPS ยท HTTP
Notes & limitations

Only static asset hosts (downloads.wordpress.org) can be cached. api.wordpress.org returns dynamic content (translations, secret-key, plugin info) and must continue to query upstream directly.