-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* moving docs around all over the place * crate features to compile out debug/trace logging
- Loading branch information
Showing
41 changed files
with
389 additions
and
194 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,3 +11,5 @@ members = [ | |
resolver = "2" | ||
|
||
|
||
[profile.test] | ||
default = ["ptrs/debug", "obfs4/debug", "lyrebird/debug"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[package] | ||
name = "o7" | ||
version = "0.1.0" | ||
edition = "2021" | ||
|
||
[dependencies] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# o7 Pluggable Transport | ||
|
||
Experimental randomizing look-like-nothing pluggable transport library in the spirit of obfs4. | ||
|
||
### Features for o7 | ||
|
||
* Fully Encrypted | ||
* quantum forward secrecy (i.e. ed25519 + Kyber) | ||
* reliability layer inside encryption layer | ||
* if outer transport is reliable (i.e. TCP) inner reliability can be disabled | ||
* if reliability is not required in general, it can be disabled | ||
* operates as: | ||
- Wrap (client, or server) | ||
- Dialer | ||
- Peer | ||
|
||
|
||
**Supporting** | ||
|
||
- kcp / quic / sctp for ordering / reliability | ||
- trim quiche down to just quic (no tls / H3) | ||
|
||
- kyber (512 / 768 / 1024) keys mapping to uniform random? i.e. elligator2 for kyber | ||
|
||
- browser extension for capturing traffic shapes. | ||
|
||
- multi-path transport (multipath quic / kcp) with modern congestion control options | ||
|
||
- water wasm transport integration | ||
|
||
|
||
### Changes from o5 | ||
|
||
* Designed for udp | ||
- or any transport really, just don't require our reliability layer to be the outermost | ||
* allow reliable or unreliable traffic modes | ||
* multiple streams per tunnel | ||
- reliability set per stream not per tunnel | ||
* connection resumption + tickets | ||
* traffic shaping driven send rates & padding | ||
- browser extension for capturing traffic shapes of real sessions securely. | ||
|
||
--- | ||
|
||
* Why shift from the obfs4 style naming and use o7? | ||
|
||
I am writing the library and I like it that way. | ||
|
||
* What happened to o6? | ||
|
||
See the answer above. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
fn main() { | ||
println!("Hello, world!"); | ||
} |
Oops, something went wrong.