Since yesterday a lot of users in Europe found their workflows failing due to Github seemingly randomly throwing HTTP/401 on git clone/git pull when interacting with public repos without authentication.
It was now confirmed by staff member that this indeed is intentional and no further steps are planned at this point.


Wait, doesn’t rust cargo pull from crates.io?
crates.io pulls everything from github.
No true at all.
The index used to be from github but now it pulls from a CDN by default and doesn’t do a full clone of the index. Crate downloads have always been pulled from a CDN.
The index was quite small in the beginning this is why it worked.
The service itself pulls from github to create the crates. Cargo pulls from crates.io, that is correct.
Who pulls from Github to create the crates? The crates are pushed by
cargo publishto crates.io’s API, not to github.crates.iodoes have an index in GitHub, but that’s legacy and pretty much unused for reads now. GitHub doesn’t store the crates themselves.yikes, what a terrible design lol. And here I thought cargo was actually pretty solid.
You can only publish packages via github, so it’s not a surprise, IMO. I don’t know why they did that in the first place instead of using email like every normal service.