#cargo #registry #server #status #wip

app silkroad

A full-featured registry server for Cargo

5 releases

✓ Uses Rust 2018 edition

0.0.4 Jul 10, 2019
0.0.3 Jul 5, 2019
0.0.2 Jun 29, 2019
0.0.1 Jun 29, 2019
0.0.0 Jun 21, 2019

38 downloads per month

MIT license

52KB
1.5K SLoC

SilkRoad(skrd)

Introduction

A full-featured registry server for Cargo.

Status

[WIP] Most features have not been implemented yet.

RoadMap

  • Serve an index repository and all crates
    • HTTP server
      • The Dumb Protocol
      • The Smart Protocol(except git-receive-pack)
      • HTTPS
    • Git server
    • No dependency on git
    • Registry Web API (Login, Publish and so on)
      • Login
      • Publish
      • Yank & Unyank
      • Owners
  • Mirroring
    • Index clone and sync
    • Crates download
    • Parallel download
    • Timer
  • Server Migration
    • Package
    • Unpackage
  • Homepage (An Angular based SPA?)

Dependencies

  • Git 2+

Usage

Installation

$ cargo install silkroad

Create a mirror

This command will create a mirror of source in the path directory.

$ skrd mirror <path> [source]

Examples:

$ skrd mirror mymirror https://mirrors.ustc.edu.cn/crates.io-index
$ skrd mirror official #default source = https://github.com/rust-lang/crates.io-index

Update a mirror

$ skrd update <path>

Example:

$ skrd update mymirror
$ skrd update # in mymirror

Serve

$ skrd serve <path>

Example:

$ skrd serve mymirror
$ skrd serve # in mymirror

References

License

SilkRoad is under the MIT license. See the LICENSE file for details.

Dependencies

~38MB
~1M SLoC