From c130bde7057e22961b0798f127c648955721b8a6 Mon Sep 17 00:00:00 2001 From: Gaukas Wang Date: Thu, 29 Feb 2024 12:15:49 -0700 Subject: [PATCH] add: comparison matrix (#1) Along with some preliminary texts. Signed-off-by: Gaukas Wang --- _config.yml | 28 ++++++++++++++++++++++++++++ about.md | 18 ------------------ comparison.md | 28 ++++++++++++++++++++++++++++ index.md | 8 +++++++- 4 files changed, 63 insertions(+), 19 deletions(-) delete mode 100644 about.md create mode 100644 comparison.md diff --git a/_config.yml b/_config.yml index 0105c64..119d104 100644 --- a/_config.yml +++ b/_config.yml @@ -33,3 +33,31 @@ plugins: exclude: - LICENSE - README.md + +aux_links: + Refraction Networking: "https://refraction.network/" + FOCI 2024 Paper: "https://www.petsymposium.org/foci/2024/foci-2024-0003.php" + +# External navigation links +nav_external_links: + - title: refraction-networking/water + url: https://github.com/refraction-networking/water + - title: refraction-networking/water-rs + url: https://github.com/refraction-networking/water-rs + +callouts_level: quiet # or loud +callouts: + highlight: + color: yellow + important: + title: Important + color: blue + new: + title: New + color: green + note: + title: Note + color: purple + warning: + title: Warning + color: red \ No newline at end of file diff --git a/about.md b/about.md deleted file mode 100644 index 8b4e0b2..0000000 --- a/about.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: About -permalink: /about/ ---- - -This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/) - -You can find the source code for Minima at GitHub: -[jekyll][jekyll-organization] / -[minima](https://github.com/jekyll/minima) - -You can find the source code for Jekyll at GitHub: -[jekyll][jekyll-organization] / -[jekyll](https://github.com/jekyll/jekyll) - - -[jekyll-organization]: https://github.com/jekyll diff --git a/comparison.md b/comparison.md new file mode 100644 index 0000000..40eeeec --- /dev/null +++ b/comparison.md @@ -0,0 +1,28 @@ +--- +layout: page +title: Comparisons +permalink: /comparisons.html +--- + +# Comparisons + +## WATER vs. other pluggable transport designs + +We evaluate WATER against other pluggable transport designs in terms of the following features: +- **Hot-swappable**: Can the transport be loaded and unloaded without recompling the host application? +- **Host Isolation**: Does the transport execute in an isolated environment (e.g., a sandbox) and with limited access to the host resources? +- **Compatibility Guarantee**: Can the host application be transport-agnostic and still work with any transport that implements the interface? +- **Cross-language Deployment**: Can the transport be implemented in a different programming language than the host application? + + +| Feature | PTs | Marionette | Proteus | WATER | +|----------------|------|------------|---------|-------| +| Hot-swappable | ❌ | ✅ | ✅ | ✅ | +| Host Isolation | ❌ | ⚠️ | ✅ | ✅ | +| Compatibility Guarantee | ❌ | ⚠️ | ✅ | ✅ | +| Cross-language Deployment | ❌ | ❌ | ❌ | ✅ | + +### References +- PTs ([pluggabletransports.info](https://www.pluggabletransports.info/)) +- Marionette: A Programmable Network Traffic Obfuscation System ([USENIX Security'15](https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/dyer)) +- Proteus: Programmable Protocols for Censorship Circumvention ([FOCI 2023](https://www.petsymposium.org/foci/2023/foci-2023-0013.php)) diff --git a/index.md b/index.md index 09cc91e..fd11162 100644 --- a/index.md +++ b/index.md @@ -7,4 +7,10 @@ layout: home # WATER: WebAssembly Transport Executables Runtime -Documentation under construction. Please check back later. \ No newline at end of file +This site hosts the online documentation for Project WATER: [refraction-networking/water](https://github.com/refraction-networking/water) and [refraction-networking/water-rs](https://github.com/refraction-networking/water-rs). + +## WATER + +WATER stands for WebAssembly Transport Executables Runtime, a novel approach to building pluggable network transports using WebAssembly. Comparing to other designs, WATER in general provides better flexibility and security, more consistent development and deployment experience, and better performance. + +A matrix comparing WATER with other pluggable transport designs is available [here](comparisons.html#water-vs-other-pluggable-transport-designs).