Tsinghua University TUNA Open Source Mirror

The TUNA open-source software mirror is the one surface Tsinghua publishes that behaves like a public API. It is operated by TUNA (Tsinghua University TUNA Association), a student association, on the university's own registrable domain and infrastructure, and it serves two unauthenticated JSON documents. /static/tunasync.json reports the synchronization state of every mirrored repository — name, status, upstream source, on-disk size and five timestamps per mirror — and drives the site's public status dashboard. /static/status/isoinfo.json is the catalog behind the installable-images page: 66 entries across three categories (os, font, app), each with a list of named, mirror-relative download paths. Both were verified live on 2026-08-19. The document shapes come from TUNA's own MIT-licensed software (tunasync, mirror-web); no formal specification is published by TUNA, so both OpenAPI descriptions here were written from the live responses. Caller beware: the edge returns 403 with an HTML denial page to browser-shaped User-Agents while returning 200 to plain tool User-Agents.

Operations 1

GET /static/tunasync.json Get mirror sync status #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tsinghua-mirror-status-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tsinghua-mirror-status-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TUNA Mirror Sync Status Mirror Status API
  description: Public, unauthenticated JSON endpoint published by the Tsinghua University TUNA open-source mirror site (mirrors.tuna.tsinghua.edu.cn).
  version: 1.0.0
  contact:
    name: TUNA Association, Tsinghua University
    url: https://mirrors.tuna.tsinghua.edu.cn/
  license:
    name: tunasync (MIT)
    url: https://github.com/tuna/tunasync/blob/master/LICENSE
servers:
- url: https://mirrors.tuna.tsinghua.edu.cn
  description: Tsinghua University TUNA mirror site
tags:
- name: Mirror Status
  description: Endpoints describing mirror synchronization state.
paths:
  /static/tunasync.json:
    get:
      operationId: getMirrorSyncStatus
      summary: Get mirror sync status
      description: Returns an array of status objects, one per mirrored repository managed by tunasync. No authentication is required.
      tags:
      - Mirror Status
      responses:
        '200':
          description: A list of mirror synchronization status entries.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MirrorStatusList'
components:
  schemas:
    MirrorStatus:
      type: object
      description: Synchronization status for a single mirrored repository.
      required:
      - name
      - is_master
      - status
      - last_update
      - last_update_ts
      - last_started
      - last_started_ts
      - last_ended
      - last_ended_ts
      - next_schedule
      - next_schedule_ts
      - upstream
      - size
      properties:
        name:
          type: string
          description: Identifier of the mirror (e.g. "debian", "pypi", "hackage").
          example: artixlinux-iso
        is_master:
          type: boolean
          description: Whether this mirror is a master (primary) sync job.
          example: true
        status:
          type: string
          description: Current synchronization status of the mirror.
          enum:
          - success
          - syncing
          - failed
          - paused
          example: success
        last_update:
          type: string
          description: Human-readable timestamp of the last successful update, formatted as "YYYY-MM-DD HH:MM:SS +ZZZZ".
          example: 2026-06-04 05:36:00 +0800
        last_update_ts:
          type: integer
          format: int64
          description: Unix epoch seconds of the last successful update.
          example: 1780522560
        last_started:
          type: string
          description: Human-readable timestamp of when the most recent sync run started.
          example: 2026-06-04 05:35:55 +0800
        last_started_ts:
          type: integer
          format: int64
          description: Unix epoch seconds of when the most recent sync run started.
          example: 1780522555
        last_ended:
          type: string
          description: Human-readable timestamp of when the most recent sync run ended.
          example: 2026-06-04 05:36:00 +0800
        last_ended_ts:
          type: integer
          format: int64
          description: Unix epoch seconds of when the most recent sync run ended.
          example: 1780522560
        next_schedule:
          type: string
          description: Human-readable timestamp of the next scheduled sync run. May be a zero/sentinel value ("0001-01-01 00:00:00 +0000") when no run is scheduled.
          example: 2026-06-04 11:36:00 +0800
        next_schedule_ts:
          type: integer
          format: int64
          description: Unix epoch seconds of the next scheduled sync run. May be negative (sentinel) when no run is scheduled.
          example: 1780544160
        upstream:
          type: string
          description: Upstream source URL the mirror synchronizes from.
          example: rsync://download.artixlinux.org/iso/
        size:
          type: string
          description: Human-readable on-disk size of the mirror (e.g. "11.4G", "1.26T").
          example: 54.0G
    MirrorStatusList:
      type: array
      description: Collection of per-mirror synchronization status entries.
      items:
        $ref: '#/components/schemas/MirrorStatus'