ptrs-gesher-core
Core traits and helpers for the ptrs-gesher pluggable transports framework.
This crate defines the transport-agnostic abstractions that every
concrete transport (obfs4, webtunnel, etc.) implements:
ClientTransport/ServerTransport-- connection-oriented trait pair that transforms anAsyncRead + AsyncWritestream into an obfuscated tunnel.ClientBuilder/ServerBuilder-- configuration and construction of transport instances from key-valueArgs.PluggableTransport-- top-level trait tying builders and transports together.Args-- ordered multimap for PT parameters (cert=,iat-mode=, etc.).
Status
Version 0.3.0 -- not yet published to crates.io. Interface subject to
change.
Example
use ;
use obfs4;
let mut args = new;
args.add;
args.add;
let mut builder = default;
builder.options?;
let client = builder.build;
// client.establish(...) or client.wrap(...) to create the tunnel.
Notes / Resources
License
Dual-licensed under either:
- Apache License, Version 2.0
- MIT license
at your option.