Skip to content
10 changes: 8 additions & 2 deletions install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
# Prefer to inspect first:
# irm https://open-codereview.ai/install.ps1 -OutFile install.ps1
# notepad install.ps1 # review, then: .\install.ps1
# Env: OCR_INSTALL_DIR (default $env:LOCALAPPDATA\Programs\ocr), OCR_VERSION (default latest).
# Env: OCR_INSTALL_DIR (default $env:LOCALAPPDATA\Programs\ocr), OCR_VERSION (default latest),
# Set a GITHUB_MIRROR_DOMAIN to download assets through a mirror domain.
# Requires PowerShell 5.1+ or PowerShell 7+.

$ErrorActionPreference = 'Stop'
Expand Down Expand Up @@ -103,7 +104,12 @@ $arch = Get-OcrArch
$os = 'windows'
$Version = Resolve-OcrVersion $Repo
$asset = "$AssetPrefix-$os-$arch.exe"
$base = "https://github.com/$Repo/releases/download/$Version"
if (-not [string]::IsNullOrWhiteSpace($env:GITHUB_MIRROR_DOMAIN)) {
Write-Host "WARNING: Using an unofficial mirror domain, which may lead to SHA256 checksum mismatches and security risks."
$base = "https://$($env:GITHUB_MIRROR_DOMAIN.Trim())/github.com/$Repo/releases/download/$Version"
} else {
$base = "https://github.com/$Repo/releases/download/$Version"
}

$tmp = Join-Path ([System.IO.Path]::GetTempPath()) ("ocr-install-" + [guid]::NewGuid().ToString('N'))
New-Item -ItemType Directory -Force -Path $tmp | Out-Null
Expand Down
11 changes: 9 additions & 2 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
# Prefer to inspect first:
# curl -fsSL https://open-codereview.ai/install.sh -o install.sh
# less install.sh && sh install.sh
# Env: OCR_INSTALL_DIR (default /usr/local/bin), OCR_VERSION (default latest).
# Env: OCR_INSTALL_DIR (default /usr/local/bin), OCR_VERSION (default latest),
# Set a GITHUB_MIRROR_DOMAIN to download assets through a mirror domain.
set -eu

main() {
Expand Down Expand Up @@ -42,7 +43,13 @@ main() {
fi

asset="${ASSET_PREFIX}-${os}-${arch}"
base="https://github.com/$REPO/releases/download/$VERSION"
prefix="$(printf '%s' "${GITHUB_MIRROR_DOMAIN:-}" | tr -d '[:space:]')"
if [ -n "$prefix" ]; then
echo "WARNING: Using an unofficial mirror domain, which may lead to SHA256 checksum mismatches and security risks."
base="https://${prefix}/github.com/$REPO/releases/download/$VERSION"
else
base="https://github.com/$REPO/releases/download/$VERSION"
fi
tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' INT TERM EXIT

Expand Down
22 changes: 18 additions & 4 deletions pages/src/content/docs/en/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,20 @@ machines:
curl -fsSL https://open-codereview.ai/install.sh | sh
```

It honours two environment variables:
__In some regions where network access to GitHub is slow, set a GitHub mirror domain to download assets through a mirror.__
```bash
export GITHUB_MIRROR_DOMAIN='YOUR_GITHUB_MIRROR_DOMAIN'
```

> **Security note:** The mirror is a third-party service — both the binary and its `sha256sum.txt` are downloaded from the mirror, so a compromised mirror could serve a tampered binary with a matching checksum; the checksum check alone is not a guarantee. For security-critical installs, download directly from GitHub or verify against the upstream `sha256sum.txt` on the [releases page](https://github.com/alibaba/open-code-review/releases).

It honours three environment variables:

| Variable | Default | Purpose |
|---|---|---|
| `OCR_INSTALL_DIR` | `/usr/local/bin` | Where to place the `ocr` binary. |
| `OCR_VERSION` | latest release | Pin a specific release tag (e.g. `v1.2.3`). |
| `GITHUB_MIRROR_DOMAIN` | *(unset)* | Download release assets through a GitHub mirror domain (e.g. `gh-proxy.com`). |

The script supports `darwin` and `linux` on `amd64` / `arm64`.

Expand All @@ -94,9 +102,15 @@ On Windows (PowerShell 5.1+), use the PowerShell installer instead:
irm https://open-codereview.ai/install.ps1 | iex
```

It honours the same `OCR_INSTALL_DIR` and `OCR_VERSION` variables (set via
`$env:OCR_INSTALL_DIR` / `$env:OCR_VERSION`). The default install location is
`%LOCALAPPDATA%\Programs\ocr`.
__To download through a mirror when GitHub access is slow, set the same mirror domain as a PowerShell environment variable:__
```powershell
$env:GITHUB_MIRROR_DOMAIN = 'YOUR_GITHUB_MIRROR_DOMAIN'
```

It honours the same `OCR_INSTALL_DIR`, `OCR_VERSION`, and
`GITHUB_MIRROR_DOMAIN` variables (set via `$env:OCR_INSTALL_DIR` /
`$env:OCR_VERSION` / `$env:GITHUB_MIRROR_DOMAIN`). The default
install location is `%LOCALAPPDATA%\Programs\ocr`.

## GitHub Release binary

Expand Down
20 changes: 17 additions & 3 deletions pages/src/content/docs/ja/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,20 @@ GitHub Release バイナリのダウンロード(検証付き)をラップ
curl -fsSL https://open-codereview.ai/install.sh | sh
```

2 つの環境変数を認識します。
__一部の地域では GitHub へのネットワークアクセスが遅いため、GitHub ミラードメインを設定すると、ミラー経由でアセットをダウンロードできます。__
```bash
export GITHUB_MIRROR_DOMAIN='YOUR_GITHUB_MIRROR_DOMAIN'
```

> **セキュリティ上の注意:** ミラーは第三者のサービスです。バイナリと `sha256sum.txt` の両方がミラーから取得されるため、侵害されたミラーは改ざんされたバイナリと一致するチェックサムを配信する可能性があり、チェックサム検証だけでは安全性を保証できません。セキュリティが重要なインストールでは、GitHub から直接ダウンロードするか、[releases ページ](https://github.com/alibaba/open-code-review/releases) のアップストリームの `sha256sum.txt` で検証してください。

3 つの環境変数を認識します。

| 変数 | デフォルト値 | 用途 |
|---|---|---|
| `OCR_INSTALL_DIR` | `/usr/local/bin` | `ocr` バイナリを配置する場所。 |
| `OCR_VERSION` | 最新 release | 特定の release tag に固定します(例:`v1.2.3`)。 |
| `GITHUB_MIRROR_DOMAIN` | (未設定) | GitHub ミラードメイン経由でリリースアセットをダウンロードします(例:`gh-proxy.com`)。 |

このスクリプトは `darwin` と `linux` の `amd64` / `arm64` をサポートします。

Expand All @@ -92,8 +100,14 @@ Windows(PowerShell 5.1+)では、代わりに PowerShell インストーラ
irm https://open-codereview.ai/install.ps1 | iex
```

同じ `OCR_INSTALL_DIR` と `OCR_VERSION` を認識します(`$env:OCR_INSTALL_DIR` /
`$env:OCR_VERSION` で設定)。デフォルトのインストール先は
__GitHub へのアクセスが遅い場合は、同じミラードメインを PowerShell の環境変数として設定すると、ミラー経由でダウンロードできます:__
```powershell
$env:GITHUB_MIRROR_DOMAIN = 'YOUR_GITHUB_MIRROR_DOMAIN'
```

同じ `OCR_INSTALL_DIR`、`OCR_VERSION`、`GITHUB_MIRROR_DOMAIN` を認識します
(`$env:OCR_INSTALL_DIR` / `$env:OCR_VERSION` /
`$env:GITHUB_MIRROR_DOMAIN` で設定)。デフォルトのインストール先は
`%LOCALAPPDATA%\Programs\ocr` です。

## GitHub Release バイナリ
Expand Down
22 changes: 18 additions & 4 deletions pages/src/content/docs/ru/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,20 @@ sudo port upgrade open-code-review
curl -fsSL https://open-codereview.ai/install.sh | sh
```

Скрипт учитывает две переменные окружения:
__В некоторых регионах доступ к GitHub может быть медленным. В этом случае задайте домен зеркала GitHub, чтобы загружать артефакты через него.__
```bash
export GITHUB_MIRROR_DOMAIN='YOUR_GITHUB_MIRROR_DOMAIN'
```

> **Примечание по безопасности:** Зеркало — это сторонний сервис. Поскольку и бинарник, и `sha256sum.txt` загружаются с зеркала, скомпрометированное зеркало может отдать подменённый бинарник вместе с подходящей контрольной суммой — проверка контрольной суммы сама по себе не является гарантией безопасности. Для установок с высокими требованиями к безопасности скачивайте напрямую с GitHub или сверяйтесь с оригинальным `sha256sum.txt` на [странице релизов](https://github.com/alibaba/open-code-review/releases).

Скрипт учитывает три переменные окружения:

| Переменная | По умолчанию | Назначение |
|---|---|---|
| `OCR_INSTALL_DIR` | `/usr/local/bin` | Куда положить бинарник `ocr`. |
| `OCR_VERSION` | последний релиз | Закрепить конкретный тег релиза (например `v1.2.3`). |
| `GITHUB_MIRROR_DOMAIN` | не задана | Скачивать артефакты релиза через зеркало GitHub (например `gh-proxy.com`). |

Скрипт поддерживает `darwin` и `linux` на `amd64` / `arm64`.

Expand All @@ -92,9 +100,15 @@ curl -fsSL https://open-codereview.ai/install.sh | sh
irm https://open-codereview.ai/install.ps1 | iex
```

Установщик учитывает те же переменные `OCR_INSTALL_DIR` и `OCR_VERSION` (через
`$env:OCR_INSTALL_DIR` / `$env:OCR_VERSION`). По умолчанию файлы устанавливаются
в `%LOCALAPPDATA%\Programs\ocr`.
__Если доступ к GitHub медленный, задайте тот же домен зеркала как переменную окружения PowerShell, чтобы загружать файлы через него:__
```powershell
$env:GITHUB_MIRROR_DOMAIN = 'YOUR_GITHUB_MIRROR_DOMAIN'
```

Установщик учитывает те же переменные `OCR_INSTALL_DIR`, `OCR_VERSION` и
`GITHUB_MIRROR_DOMAIN` (через `$env:OCR_INSTALL_DIR` /
`$env:OCR_VERSION` / `$env:GITHUB_MIRROR_DOMAIN`). По умолчанию файлы
устанавливаются в `%LOCALAPPDATA%\Programs\ocr`.

## Бинарник из GitHub Release

Expand Down
20 changes: 17 additions & 3 deletions pages/src/content/docs/zh/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,20 @@ sudo port upgrade open-code-review
curl -fsSL https://open-codereview.ai/install.sh | sh
```

它识别两个环境变量:
__在部分网络访问 GitHub 较慢的地区,可以设置一个 GitHub 镜像域名,通过镜像下载资源。__
```bash
export GITHUB_MIRROR_DOMAIN='YOUR_GITHUB_MIRROR_DOMAIN'
```

> **安全提示:** 镜像是第三方服务——二进制及其 `sha256sum.txt` 都来自镜像,因此被攻破的镜像可能同时提供被篡改的二进制与匹配的校验和,仅靠校验和校验并不能保证安全。对安全性要求较高的安装,请直接从 GitHub 下载,或对照 [releases 页面](https://github.com/alibaba/open-code-review/releases) 上的上游 `sha256sum.txt` 进行核对。

它识别三个环境变量:

| 变量 | 默认值 | 用途 |
|---|---|---|
| `OCR_INSTALL_DIR` | `/usr/local/bin` | 放置 `ocr` 二进制的位置。 |
| `OCR_VERSION` | 最新 release | 固定到某个 release tag(如 `v1.2.3`)。 |
| `GITHUB_MIRROR_DOMAIN` | (未设置) | 通过 GitHub 镜像域名下载 release 资源(如 `gh-proxy.com`)。 |

该脚本支持 `darwin` 与 `linux` 的 `amd64` / `arm64`。

Expand All @@ -90,8 +98,14 @@ curl -fsSL https://open-codereview.ai/install.sh | sh
irm https://open-codereview.ai/install.ps1 | iex
```

它同样识别 `OCR_INSTALL_DIR` 与 `OCR_VERSION`(通过 `$env:OCR_INSTALL_DIR` /
`$env:OCR_VERSION` 设置)。默认安装位置为 `%LOCALAPPDATA%\Programs\ocr`。
__访问 GitHub 较慢时,同样可以将镜像域名设为 PowerShell 环境变量,通过镜像下载:__
```powershell
$env:GITHUB_MIRROR_DOMAIN = 'YOUR_GITHUB_MIRROR_DOMAIN'
```

它同样识别 `OCR_INSTALL_DIR`、`OCR_VERSION` 与 `GITHUB_MIRROR_DOMAIN`
(通过 `$env:OCR_INSTALL_DIR` / `$env:OCR_VERSION` /
`$env:GITHUB_MIRROR_DOMAIN` 设置)。默认安装位置为 `%LOCALAPPDATA%\Programs\ocr`。

## GitHub Release 二进制

Expand Down
Loading