go-group

Standard module proxy

Speaks the GOPROXY protocol. Use it as the canonical proxy with ,direct as the safety fallback.

go mod

For every module workflow

Works with go get, go mod download, go install, and go build on any platform.

CI ready

Friendly to env-driven setup

Configure once via GOPROXY and every Go command — local or pipeline — uses the mirror automatically.

Proxy URL

HTTPS · recommended
https://mirror.kargadan.ir/repository/go-group/
HTTP · legacy clients only
http://mirror.kargadan.ir/repository/go-group/

Quick start

One-shot

export GOPROXY=https://mirror.kargadan.ir/repository/go-group/,direct
go mod download

Persistent (go env)

go env -w GOPROXY=https://mirror.kargadan.ir/repository/go-group/,direct
go env -w GOSUMDB=off

# Verify
go env GOPROXY GOSUMDB

Persistent (shell rc)

# ~/.bashrc · ~/.zshrc
export GOPROXY=https://mirror.kargadan.ir/repository/go-group/,direct
export GOSUMDB=off

# Optional: bypass the proxy for private modules
# export GOPRIVATE=github.com/myorg/*,gitlab.example.com/*

Environment variables

VariableRecommended valuePurpose
GOPROXY https://mirror.kargadan.ir/repository/go-group/,direct Module proxy with VCS fallback
GOSUMDB off Disable the checksum database (sum.golang.org is intermittently unreachable)
GOPRIVATE github.com/myorg/* Private modules to bypass the proxy
GOINSECURE mirror.kargadan.ir Allow plain HTTP (only when explicitly needed)

Common commands

Module management

go mod init myproject

go get github.com/gin-gonic/gin
go get github.com/spf13/cobra@latest
go get github.com/sirupsen/logrus@v1.9.3

go mod download
go mod tidy
go mod verify

Build, run, install

go build -o myapp ./cmd/myapp
go run         ./cmd/myapp
go install     github.com/golangci/golangci-lint/cmd/golangci-lint@latest

Docker example

FROM golang:1.23-alpine AS builder

ENV GOPROXY=https://mirror.kargadan.ir/repository/go-group/,direct \
    GOSUMDB=off \
    CGO_ENABLED=0

WORKDIR /app
COPY go.mod go.sum ./
RUN --mount=type=cache,target=/go/pkg/mod \
    go mod download

COPY . .
RUN --mount=type=cache,target=/go/pkg/mod \
    --mount=type=cache,target=/root/.cache/go-build \
    go build -ldflags="-s -w" -o /server ./cmd/server

FROM scratch
COPY --from=builder /server /server
ENTRYPOINT ["/server"]

CI / CD

GitHub Actions

name: Go Build
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    env:
      GOPROXY: https://mirror.kargadan.ir/repository/go-group/,direct
      GOSUMDB: off
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-go@v5
        with:
          go-version: '1.23'
      - run: go mod download
      - run: go build -v ./...
      - run: go test  -v ./...

GitLab CI

variables:
  GOPROXY: "https://mirror.kargadan.ir/repository/go-group/,direct"
  GOSUMDB: "off"

build:
  image: golang:1.23
  script:
    - go mod download
    - go build -o app ./cmd/app

test:
  image: golang:1.23
  script:
    - go test -v ./...

Mirror information

Mirror typeGroup Aggregated proxy
Upstream sourcesPardisco, Runflare, proxy.golang.org
ProtocolsHTTPS · HTTP
Fallback,direct for VCS-direct download
,direct fallback

Always keep ,direct at the end of GOPROXY. If the mirror has not yet cached a freshly published module, Go will transparently fall back to the source repository.