4个版本 (有破坏性)
0.7.0 | 2020年6月23日 |
---|---|
0.6.0 | 2020年6月15日 |
0.5.0 | 2020年6月14日 |
0.4.0 | 2020年6月14日 |
0.1.0 |
|
在#socks5中排名18
130KB
3K SLoC
protosocks
Rust中的Socks5协议库
其设计目标是简洁和健壮。其设计反目标是避免复杂的编译时计算,例如宏或类型技巧,即使在性能下降的情况下。
特性
- RFC1928
- RFC1929
- IPv4
- IPv6
使用rust-lang Docker镜像进行测试 docker run --rm -it -v "${PWD}:/volume" --workdir "/volume" -e RUST_BACKTRACE=full -e RUST_LOG=debug rust:latest cargo test --lib -- --exact --nocapture --test-threads=1
测试不同特性的组合
cargo test --no-default-features --features=proto-ipv4
cargo test --no-default-features --features=proto-ipv6
cargo test --no-default-features --features=proto-ipv4,proto-ipv6
cargo test --no-default-features --features=proto-ipv4,proto-ipv6,std
cargo clippy --all --all-targets
cargo fmt --all -- --check
生成测试覆盖率报告(cargo-tarpaulin)
docker run --rm -it --security-opt seccomp=unconfined -v "${PWD}:/volume" xd009642/tarpaulin sh -c "cargo tarpaulin --ignore-tests --out Html"
#docker run --rm -it --security-opt seccomp=unconfined -v "${PWD}:/volume" xd009642/tarpaulin sh -c "cargo tarpaulin --run-types Doctests --all"
#docker run --rm -it --security-opt seccomp=unconfined -v "${PWD}:/volume" xd009642/tarpaulin sh -c "cargo tarpaulin --run-types Tests --all"
#docker run --rm -it --security-opt seccomp=unconfined -v "${PWD}:/volume" xd009642/tarpaulin sh -c "cargo tarpaulin --run-types Doctests Tests --all"
依赖项
~3.5MB
~79K SLoC