# Why the Dify Plugin Repackaging Script Uses Aliyun Mirror by Default for Pip Downloads

> Discover why the Dify Plugin Repackaging script uses Aliyun mirror for pip downloads. Learn how to configure your download source for faster, reliable package installations, especially within China.

- Repository: [Junjie.M/dify-plugin-repackaging](https://github.com/junjiem/dify-plugin-repackaging)
- Tags: best-practices
- Published: 2026-03-05

---

**The [`plugin_repackaging.sh`](https://github.com/junjiem/dify-plugin-repackaging/blob/main/plugin_repackaging.sh) script in the `junjiem/dify-plugin-repackaging` repository defaults to the Aliyun PyPI mirror to ensure fast, reliable package downloads for users in China, while remaining fully configurable via the `PIP_MIRROR_URL` environment variable.**

The `junjiem/dify-plugin-repackaging` tool automates the process of downloading Dify plugins and repackaging them with their Python dependencies for offline or air-gapped environments. Understanding why the script uses the Aliyun mirror by default for pip downloads helps administrators make informed decisions about package sourcing and network configuration.

## Default Mirror Configuration in plugin_repackaging.sh

The default behavior is hardcoded in the shell script at the beginning of the file:

```bash
DEFAULT_PIP_MIRROR_URL=https://mirrors.aliyun.com/pypi/simple   # line 6

PIP_MIRROR_URL="${PIP_MIRROR_URL:-$DEFAULT_PIP_MIRROR_URL}"     # line 10

```

This pattern uses the standard Bash parameter expansion `${VAR:-default}` to allow environment variable overrides while providing a fallback value. If `PIP_MIRROR_URL` is unset or empty, the script automatically uses the Aliyun mirror.

## Why Aliyun? Performance and Reliability for Chinese Networks

The choice of `mirrors.aliyun.com` as the default is driven by three primary technical factors:

**Geographic Performance Optimization**

Aliyun (Alibaba Cloud) operates a high-speed, locally-cached PyPI mirror within mainland China. For users in Chinese network environments, this reduces latency from hundreds of milliseconds (when connecting to the official PyPI at `pypi.org`) to typically under 50ms, while significantly improving download speeds.

**Infrastructure Reliability**

As a major cloud provider, Alibaba maintains robust infrastructure with high availability guarantees. The mirror experiences less downtime and throttling compared to direct connections to the official PyPI servers from within China, where international bandwidth can be congested or subject to intermittent connectivity issues.

**TLS Compatibility Handling**

The script explicitly adds `--trusted-host mirrors.aliyun.com` when invoking `pip download` (lines 113-114), ensuring that certificate verification does not block automated workflows in environments with custom certificate authorities or strict network policies.

## How the Mirror is Applied During Repackaging

When the script processes a plugin, it executes the dependency download using the configured mirror:

```bash
pip download ${PIP_PLATFORM} -r requirements.txt -d ./wheels \
    --index-url ${PIP_MIRROR_URL} --trusted-host mirrors.aliyun.com   # lines 113-114

```

This command ensures that all Python packages specified in the plugin's [`requirements.txt`](https://github.com/junjiem/dify-plugin-repackaging/blob/main/requirements.txt) are fetched from the Aliyun mirror (unless overridden) and stored in the `./wheels` directory for offline installation.

## Overriding the Default Mirror

While the Aliyun mirror serves as the sensible default for the target user base, the script remains fully configurable. Users can specify alternative PyPI mirrors or the official index by setting the `PIP_MIRROR_URL` environment variable before execution.

**Using the Official PyPI:**

```bash
export PIP_MIRROR_URL=https://pypi.org/simple
./plugin_repackaging.sh market junjiem mcp_sse 0.0.1

```

**Using a Private Registry:**

```bash
export PIP_MIRROR_URL=https://my.private.repo/pypi/simple
./plugin_repackaging.sh local ./my_plugin.difypkg

```

This design pattern ensures that enterprise users with internal package repositories or users outside China can adapt the tool to their network requirements without modifying the source code.

## Summary

- The [`plugin_repackaging.sh`](https://github.com/junjiem/dify-plugin-repackaging/blob/main/plugin_repackaging.sh) script defaults to `https://mirrors.aliyun.com/pypi/simple` to optimize download performance and reliability for users in China.
- The default is defined in lines 6 and 10 of the script, using Bash parameter expansion to allow environment variable overrides.
- Aliyun provides lower latency, higher bandwidth, and better stability than direct PyPI access from Chinese networks.
- Users can override the default by setting the `PIP_MIRROR_URL` environment variable to use official PyPI, private registries, or other regional mirrors.

## Frequently Asked Questions

### How do I switch from the Aliyun mirror to the official PyPI?

Set the `PIP_MIRROR_URL` environment variable to the official PyPI URL before running the script. The script uses Bash parameter expansion `${PIP_MIRROR_URL:-$DEFAULT_PIP_MIRROR_URL}` (line 10), so any value you export will override the Aliyun default.

### Is the Aliyun mirror secure for downloading Python packages?

Yes, the mirror is hosted by Alibaba Cloud, a major infrastructure provider. The script includes `--trusted-host mirrors.aliyun.com` (line 114) to ensure TLS connections work correctly in automated environments. However, as with any third-party mirror, verify package checksums against official sources if you require additional security guarantees.

### What happens if the Aliyun mirror is unavailable?

If the Aliyun mirror experiences downtime, the `pip download` command will fail with a connection error. You can immediately switch to an alternative mirror or the official PyPI by exporting a different `PIP_MIRROR_URL` value. The script does not implement automatic failover between mirrors, so manual intervention is required to change the source.

### Can I use a private PyPI mirror with this script?

Yes, the `PIP_MIRROR_URL` environment variable accepts any valid PyPI-compatible index URL. Export your private registry URL (e.g., `https://my.private.repo/pypi/simple`) before executing [`plugin_repackaging.sh`](https://github.com/junjiem/dify-plugin-repackaging/blob/main/plugin_repackaging.sh), and the script will use that endpoint for all `pip download` operations. This is particularly useful for air-gapped environments or organizations with strict package approval workflows.