Reference server and CLI for the fetchurl protocol: a simple content-addressable URL cache for CI and package managers.
Normative specification: fetchurl/spec (SPEC.md).
This repository implements the server (and a small CLI). It is not the protocol source of truth.
| Language | Repository |
|---|---|
| JavaScript | fetchurl/sdk-js |
| Python | fetchurl/sdk-python |
| Rust | fetchurl/sdk-rust |
go run ./cmd/fetchurl server
# or build / use Docker — see DockerfileConfigure storage and listen address via the CLI/server flags and env (see cmd/fetchurl and internal/app).
Clients reach the server via FETCHURL_SERVER (full base URL ready to append /:algo/:hash), per the spec.
go install github.com/fetchurl/fetchurl/cmd/fetchurl@latestModule path: github.com/fetchurl/fetchurl.
Published by CI as ghcr.io/fetchurl/fetchurl (also tagged with release versions).
For local/SDK integration tests you can still build a local tag:
docker build -t fetchurl:local .
# or use the published image:
# FETCHURL_TEST_IMAGE=ghcr.io/fetchurl/fetchurl:latestgo test ./...MIT — see LICENSE.