fshy

fshy / Storage

crates.io

crates.io · Storage · 2 records · JSON

crates.io Storage

caveatemail?card?Rpull-count

crates.io · registry · storage/crates-io · JSON · compare

Free tier10 MB per .crate file. No limit on versions per crate ('There is no limit to the number of versions which can be published'), no documented cap on total crates or total bytes per account.
unit MB; metered on unstated
Pricenone stated
Per-object capnot stated
Retention| Effectively permanent — 'the code cannot be deleted', 'publish is generally permanent'
EgressFree and unmetered, Cloudflare-fronted, CORS-open. Probe: static.crates.io .crate GET -> 200, Server: cloudflare, Cache-Control: 'public,max-age=31536000,immutable', Access-Control-Allow-Origin: *, Accept-Ranges: bytes.
Identityemail (placeholder) not published
Limits
  • request-rate 1000 downloads/month source
  • per-ip-shaping 1.4 GB/day source
  • pull-count 1000 downloads/month source
10 MB per .crate. Publish rate: burst 5 new crates, then 1 per 10 min; burst 30 new versions, then 1 per minute (documented, leaky-bucket). No delete after 72h unless <1000 downloads/month-per-month AND no dependents AND single owner. Version numbers can never be reused or overwritten.
Bindingpull-count a per-object fetch counter turns a serving workload into a counting problem
Interfacerest, rclone rest
ToolingPUT /api/v1/crates/new (binary metadata+body protocol), GET https://static.crates.io/crates/<name>/<name>-<ver>.crate. Clients: cargo publish, cargo-upload style wrappers. No rclone backend.
Composes withUNBOUNDED on crates x versions but throttled hard: 5 new crates burst then 1 per 10 minutes; 30 versions burst then 1 per minute. At 10 MB/crate, 10 TiB needs ~1,048,576 crates — at 1 new crate per 10 min that is ~20 years, so crates.io is *capacity*-unlimited and *throughput*-useless for bulk. Use it as a low-priority shard, not the primary.
ReliabilityEffectively permanent — 'the code cannot be deleted', 'publish is generally permanent'. Excellent durability, terrible write throughput: ~144 crates/day sustained, i.e. ~1.4 GB/day at 10 MB. Never disappears, but you cannot fill it fast.
Notes10 MB per .crate file. No limit on versions per crate ('There is no limit to the number of versions which can be published'), no documented cap on total crates or total bytes per account.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[1].value limit:per-ip-shaping 1.4 GB / day
Evidence (4)
datesourcewhat it proved
2026-10-21doc.rust-lang.org/cargo/reference/publishing.html'crates.io currently has a 10MB size limit on the .crate file'; 'There is no limit to the number of versions which can be published'; 'the version can never be overwritten, and the code cannot be deleted'
2026-10-21crates.io/docs/rate-limits'allow a burst of 5 new crates published at once by a single user account, with a rate limit of 1 crate every 10 minutes'; 'burst of 30 new versions ... 1 crate per minute'
2026-10-21crates.io/policiesdeletion only if published <72h, or <1000 downloads per month published, and no dependents
2026-10-21static.crates.io/crates/serde/serde-1.0.0.crateprobe: GET -> 200, Content-Length: 58433, Server: cloudflare, Cache-Control: public,max-age=31536000,immutable
Unknown or withheld values (6)
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted

iroh-n0des (crate) Storage

fails: quotaemail?card?R

crates.io/crates/iroh-n0des · rejected-provider · storage/iroh-n0des · JSON · compare

Free tierThe old standalone rendezvous/discovery crate for 'p2p quic connections dialed by public key'. Superseded by the iroh 1.x address-lookup/pkarr path; repo README now just renders iroh-service
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityThe old standalone rendezvous/discovery crate for 'p2p quic connections dialed by public key'. Superseded by the iroh 1.x address-lookup/pkarr path; repo README now just renders iroh-service
NotesThe old standalone rendezvous/discovery crate for 'p2p quic connections dialed by public key'. Superseded by the iroh 1.x address-lookup/pkarr path; repo README now just renders iroh-service
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (2)
datesourcewhat it proved
2026-10-21crates.io/crates/iroh-n0desThe old standalone rendezvous/discovery crate for 'p2p quic connections dialed by public key'. Superseded by the iroh 1.x address-lookup/pkarr path; repo README now just renders iroh-service
2026-10-21github.com/n0-computer/iroh-n0descited as the basis of the rejection: The old standalone rendezvous/discovery crate for 'p2p quic connections dialed by public key'. Superseded by the iroh 1.x address-lookup/pkarr path; repo README now just renders iroh-service
More fields (1)
{
 "dead_end": {
  "failure_class": "quota",
  "why": "The old standalone rendezvous/discovery crate for 'p2p quic connections dialed by public key'. Superseded by the iroh 1.x address-lookup/pkarr path; repo README now just renders iroh-service",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded