رفتن به محتوای اصلی

رایگان، بدون ثبت‌نام

npm install
حتی وقتی اینترنت قطع است

میرور گره بسته‌های npm، PyPI، Docker Hub، Go، Maven و مخازن لینوکس را داخل ایران کش می‌کند تا نصب و بیلد پروژه‌ها سریع و بدون وابستگی به اینترنت بین‌الملل انجام شود.

curl -fsSL https://gereh.net/mirror/setup.sh | sudo sh

روی سرور لینوکسی شما apt، Docker، npm، pip و Go را یکجا به میرور وصل می‌کند.

تنظیم برای هر ابزار

نشانی میرور: https://mirror.gereh.net

  • npm / Yarn / pnpm

    registry.npmjs.org
    npm config set registry https://mirror.gereh.net/repository/npm/
    # Yarn 2+
    yarn config set npmRegistryServer https://mirror.gereh.net/repository/npm/
    # pnpm
    pnpm config set registry https://mirror.gereh.net/repository/npm/
  • PyPI (pip / uv / Poetry)

    pypi.org

    ~/.config/pip/pip.conf

    [global]
    index-url = https://mirror.gereh.net/repository/pypi/simple
    
    # uv: export UV_INDEX_URL=https://mirror.gereh.net/repository/pypi/simple
  • Docker Hub

    registry-1.docker.io

    /etc/docker/daemon.json

    {
      "registry-mirrors": [
        "https://mirror.gereh.net"
      ]
    }
    
    # sudo systemctl restart docker && docker pull nginx
  • Go modules

    proxy.golang.org
    go env -w GOPROXY=https://mirror.gereh.net/repository/go/,direct
  • Maven / Gradle

    repo1.maven.org

    ~/.m2/settings.xml

    <settings>
      <mirrors>
        <mirror>
          <id>gereh</id>
          <mirrorOf>central</mirrorOf>
          <url>https://mirror.gereh.net/repository/maven/</url>
        </mirror>
      </mirrors>
    </settings>
  • Ubuntu (apt)

    archive.ubuntu.com
    sudo sed -i -E 's#https?://([a-z]+\.)?(archive|security)\.ubuntu\.com/ubuntu/?#https://mirror.gereh.net/repository/ubuntu/#' \
      /etc/apt/sources.list /etc/apt/sources.list.d/*.sources 2>/dev/null
    sudo apt update
  • Debian (apt)

    deb.debian.org
    sudo sed -i -E 's#https?://deb\.debian\.org/debian/?#https://mirror.gereh.net/repository/debian/#' \
      /etc/apt/sources.list /etc/apt/sources.list.d/*.sources 2>/dev/null
    sudo apt update
  • Alpine (apk)

    dl-cdn.alpinelinux.org
    sed -i 's#https\?://dl-cdn.alpinelinux.org/alpine#https://mirror.gereh.net/repository/alpine#' /etc/apk/repositories
    apk update
  • RubyGems / Bundler

    rubygems.org
    bundle config set --global mirror.https://rubygems.org https://mirror.gereh.net/repository/rubygems/
    gem sources --add https://mirror.gereh.net/repository/rubygems/ --remove https://rubygems.org/
  • NuGet (.NET)

    api.nuget.org
    dotnet nuget add source https://mirror.gereh.net/repository/nuget/index.json -n gereh
    dotnet nuget disable source nuget.org
  • گره اپ خودکار

    بیلد اپ‌ها در گره اپ ایمیج‌های پایه و بسته‌ها را از میرور می‌گیرد؛ تنظیمی لازم نیست.

  • سرورهای ابری

    با یک دستور، سرور شما به میرور وصل می‌شود و apt update و docker pull سریع می‌شوند.

  • بدون تغییر بسته‌ها

    میرور فقط کش است؛ امضا و checksum بسته‌ها مثل همیشه بررسی می‌شوند.

پرسش‌های رایج

استفاده از میرور هزینه دارد؟

خیر. میرور برای همه آزاد است و نیازی به حساب کاربری ندارد. سرورها و اپ‌های گره به‌طور خودکار از آن استفاده می‌کنند.

اگر بسته‌ای در میرور نباشد چه می‌شود؟

میرور بسته را همان لحظه از مخزن اصلی دریافت، ذخیره و تحویل می‌دهد؛ دفعه بعد از کش داخلی سرو می‌شود. در قطعی کامل اینترنت بین‌الملل فقط بسته‌هایی در دسترس‌اند که قبلاً یک بار دریافت شده باشند.

امن است؟ بسته‌ها تغییر داده نمی‌شوند؟

میرور فقط کش است و بسته‌ها را دست‌نخورده تحویل می‌دهد؛ امضا و checksum بسته‌ها (lockfile، apt، go.sum) مثل قبل بررسی می‌شوند.

گیت‌هاب و Composer هم پشتیبانی می‌شود؟

فعلاً خیر. برای Composer از mirror رسمی Packagist و برای گیت‌هاب از Gereh Apps با منبع ZIP استفاده کنید.

بیلد بدون دردسر، روی زیرساخت ایرانی

اپ خود را در گره اپ مستقر کنید؛ بیلد از میرور داخلی انجام می‌شود.