5 releases
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 |
#855 in HTTP server
30 downloads per month
53KB
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
- HTTP server
- 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
- Documents
- Projects
- rust-lang/crates.io-index Crates.io index.
- rust-lang/crates.io Source code for crates.io.
- rust-lang/cargo The Rust package manager.
- AaronO/go-git-http A Smart Git Http server library in Go (golang).
- samrat/rug A implementation of Jit.
- tennix/crates-mirror Download all crates on Rust official crates site and keep sync with it.
- rustcc/lernaean 一个面向中文社区的crates.io镜像.
- mcorbin/meuse A Rust private registry written in Clojure.
License
SilkRoad is under the MIT license. See the LICENSE file for details.
Dependencies
~59MB
~1M SLoC