Есть решение - добавить это в ~/.cargo/config.toml
[http]
proxy = ""
Но мне оно не помогло, так что я заменил crates.io на его зеркало, и в итоге теперь все работает
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
[registries.ustc]
index = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
cargo publish тоже работает, нужно только к команде добавлять параметр
cargo publish --registry crates-io
Может не идеальный метод, конечно, но зато работает стабильно