Asynchronous SOCKS proxy support for Rust.
  • Rust 99%
  • Shell 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Reynard User c9eb013f46
Some checks failed
CI / test (stable) (push) Has been cancelled
CI / test (beta) (push) Has been cancelled
CI / test (nightly) (push) Has been cancelled
chore: sync dependencies (monorepo)
2026-04-06 15:20:51 +02:00
.github/workflows Use setup-rust-toolchain 2024-07-28 00:06:32 +08:00
examples cargo fmt & clippy fix 2024-07-25 20:10:59 +08:00
src followed clippy suggestions 2025-02-19 13:24:18 +08:00
tests Group imports with StdExternalCrate 2024-07-28 00:12:17 +08:00
.gitignore Socks4 Support with userId, connect and bind 2024-06-16 23:18:36 +05:30
Cargo.toml chore: sync dependencies (monorepo) 2026-04-06 15:20:51 +02:00
CHANGELOG.md Update changelog and readme for compat layer 2024-07-27 22:34:18 +08:00
LICENSE Initial commit 2018-11-19 22:11:32 +08:00
README.md Update changelog and readme for compat layer 2024-07-27 22:34:18 +08:00
rustfmt.toml Group imports with StdExternalCrate 2024-07-28 00:12:17 +08:00

tokio-socks

Build Status Crates Version docs

Asynchronous SOCKS proxy support for Rust.

Features

  • CONNECT command
  • BIND command
  • ASSOCIATE command
  • Username/password authentication
  • GSSAPI authentication
  • Asynchronous DNS resolution
  • Chain proxies (see example)
  • SOCKS4

Compatibility with Other Async Runtimes

By default, the tokio feature is enabled, as the crate name suggests.

Users can opt out tokio by setting default-features = false. The *_with_socket functions accept types implementing the AsyncSocket trait.

The crate provides io::Compat that implements AsyncSocket for futures-io types (requiring the futures-io feature).

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments