Skip to content

Commit

Permalink
Obfs4 alpha release (#66)
Browse files Browse the repository at this point in the history
obfs4 alpha release almost MVP - still missing some timing / delay features
  • Loading branch information
jmwample authored Sep 21, 2024
1 parent dbd9460 commit 4665040
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 11 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ lyrebird binary, and Pluggable Transports in Rust (PTRS) library.
| Crate | Description | Crates.io | Docs | MSRV |
-------------------------------------------|----------------|-----------|------|------|
| [`ptrs`](./crates/ptrs) | A library supporting implementation and integration of Pluggable Transport protocols. | [![](https://img.shields.io/crates/v/ptrs.svg)](https://crates.io/crates/ptrs) | [![](https://img.shields.io/docsrs/ptrs)](https://docs.rs/ptrs) | 1.70 |
| [`lyrebird`](./crates/lyrebird) | Implementation of the `Lyrebird` Tor bridge and a forward proxy compatible with `ptrs`. | [![](https://img.shields.io/crates/v/lyrebird.svg)](https://crates.io/crates/lyrebird) | [![](https://docs.rs/lyrebird/badge.svg)](https://docs.rs/lyrebird) | 1.75 |
| [`lyrebird`](./crates/lyrebird) | Implementation of the `Lyrebird` Tor bridge and a forward proxy compatible with `ptrs`. | [![](https://img.shields.io/crates/v/___lyrebird.svg)](https://crates.io/crates/___lyrebird) | [![](https://docs.rs/___lyrebird/badge.svg)](https://docs.rs/___lyrebird) | 1.75 |
| [`obfs4`](./crates/obfs4) | An implementation of obfs4 pluggable transport library in pure rust. | [![](https://img.shields.io/crates/v/obfs4.svg)](https://crates.io/crates/obfs4) | [![](https://docs.rs/obfs4/badge.svg)](https://docs.rs/obfs4) | 1.75 |
| [`o5`](./crates/o5) | An implementation of o5 pluggable transport library in pure rust. | [![](https://img.shields.io/crates/v/o5.svg)](https://crates.io/crates/o5) | [![](https://docs.rs/o5/badge.svg)](https://docs.rs/o5) | 1.75 |

## MSRV

Expand Down
2 changes: 1 addition & 1 deletion crates/lyrebird/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ bench = false
[dependencies]
## internal crates
ptrs = { path="../ptrs", version="0.1.0" }
obfs4 = { path="../obfs4", version="0.1.0" }
obfs4 = { path="../obfs4", version="0.1.0-alpha.1" }

# shared deps

Expand Down
11 changes: 3 additions & 8 deletions crates/obfs4/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[package]
name = "obfs4"
version = "0.1.0"
version = "0.1.0-alpha.1"
edition = "2021"
authors = ["Jack Wampler <[email protected]>"]
rust-version = "1.70"
rust-version = "1.75"
license = "MIT OR Apache-2.0"
description = "Pure rust implementation of the obfs4 pluggable transport"
keywords = ["tor", "censorship", "pluggable", "transports"]
keywords = ["tor", "networking", "censorship", "circumvention", "pluggable", "transports"]
categories = ["network-programming", "cryptography"]
repository = "https://github.com/jmwample/ptrs"

Expand All @@ -22,7 +22,6 @@ crate-type = ["cdylib", "rlib"]
## Local
ptrs = { path="../ptrs", version="0.1.0" }


## PRNG
getrandom = "0.2.11"
rand = { version="0.8.5", features=["getrandom"]}
Expand Down Expand Up @@ -86,10 +85,6 @@ tor-basic-utils = "0.22.0"
# benches
# criterion = "0.5"

# # o5 pqc test
# pqc_kyber = {version="0.7.1", features=["kyber1024", "std"]}
# ml-kem = "0.1.0"

[lints.rust]
# unexpected_cfgs are used to disable incomplete / WIP features and tests. This is
# not an error for this library. This turns off that specific lint for the "disable" feature.
Expand Down
2 changes: 1 addition & 1 deletion crates/obfs4/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ use ptrs::{ServerBuilder, ServerTransport};
### Loose Ends:

- [X] server / client compatibility test go-to-rust and rust-to-go.
- [X] double check the bit randomization and clearing for high two bits in the `dalek` representative
- [ ] length distribution things
- [ ] iat mode handling
- [ ] double check the bit randomization and clearing for high two bits in the `dalek` representative

## Performance

Expand Down

0 comments on commit 4665040

Please sign in to comment.