2 routes

Maven and Gradle groups

maven-central-group for Maven dependency resolution, gradle-group for Gradle plugin and Google repositories.

JVM

Java, Kotlin, Android

Backend services, Android builds, Gradle plugin resolution, and standard Maven repositories — all in one place.

Anonymous

No sign-in required

Public read access over HTTPS. Drop the URL into settings.xml or build.gradle and you are done.

Repository URLs

Maven · settings.xml
https://mirror.kargadan.ir/repository/maven-central-group/
Gradle · build.gradle / settings.gradle
https://mirror.kargadan.ir/repository/gradle-group/

Maven configuration

~/.m2/settings.xml (recommended, global)

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <mirrors>
    <mirror>
      <id>kargadan</id>
      <name>Kargadan Maven Mirror</name>
      <url>https://mirror.kargadan.ir/repository/maven-central-group/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>

pom.xml (project-level)

<repositories>
  <repository>
    <id>kargadan</id>
    <url>https://mirror.kargadan.ir/repository/maven-central-group/</url>
    <releases><enabled>true</enabled></releases>
    <snapshots><enabled>true</enabled></snapshots>
  </repository>
</repositories>

<pluginRepositories>
  <pluginRepository>
    <id>kargadan-plugins</id>
    <url>https://mirror.kargadan.ir/repository/maven-central-group/</url>
  </pluginRepository>
</pluginRepositories>

Gradle configuration

build.gradle (Groovy DSL)

repositories {
    maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
    mavenCentral()
}

// settings.gradle — for plugin resolution
pluginManagement {
    repositories {
        maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
        gradlePluginPortal()
    }
}

build.gradle.kts (Kotlin DSL)

repositories {
    maven { url = uri("https://mirror.kargadan.ir/repository/gradle-group/") }
    mavenCentral()
}

// settings.gradle.kts
pluginManagement {
    repositories {
        maven { url = uri("https://mirror.kargadan.ir/repository/gradle-group/") }
        gradlePluginPortal()
    }
}

~/.gradle/init.gradle (global override)

allprojects {
    repositories {
        maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
    }
}

settingsEvaluated { settings ->
    settings.pluginManagement {
        repositories {
            maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
            gradlePluginPortal()
        }
    }
}

Android development

Top-level build.gradle

buildscript {
    repositories {
        maven { url 'https://mirror.kargadan.ir/repository/maven-central-group/' }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.5.0'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0'
    }
}

allprojects {
    repositories {
        maven { url 'https://mirror.kargadan.ir/repository/maven-central-group/' }
        google()
    }
}

settings.gradle (modern Android)

pluginManagement {
    repositories {
        maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
        google()
        gradlePluginPortal()
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven { url 'https://mirror.kargadan.ir/repository/maven-central-group/' }
        google()
    }
}

Docker example (Maven)

FROM maven:3.9-eclipse-temurin-21 AS builder
COPY settings.xml /root/.m2/settings.xml
WORKDIR /app
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src ./src
RUN mvn package -DskipTests

FROM eclipse-temurin:21-jre
COPY --from=builder /app/target/*.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

CI / CD

GitHub Actions

name: Java CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        with:
          java-version: '21'
          distribution: 'temurin'
      - name: Configure Maven mirror
        run: |
          mkdir -p ~/.m2
          cat > ~/.m2/settings.xml <<'EOF'
          <settings>
            <mirrors>
              <mirror>
                <id>kargadan</id>
                <url>https://mirror.kargadan.ir/repository/maven-central-group/</url>
                <mirrorOf>central</mirrorOf>
              </mirror>
            </mirrors>
          </settings>
          EOF
      - run: mvn -B package

Mirror information

Maven mirrorGroup Jamko, Myket, En-Mirror, Runflare + Maven Central
Gradle mirrorGroup Same upstream sources, with Google & JitPack
ProtocolsHTTPS · HTTP
AuthenticationNot required (anonymous)
Multi-module tip

For multi-module Maven projects, configure the mirror in ~/.m2/settings.xml rather than each pom.xml. Switching mirrors later is then a one-file change.