Skip to content

Transport Plugins #64

Open
Open
@luker983

Description

@luker983

Problem

One of the major shortfalls of Wiretap is that without third party tools, the top-level transport is always WireGuard/UDP.

A workaround for wrapping the transport in TCP is provided in the Experimental section of the README: https://github.com/sandialabs/wiretap?tab=readme-ov-file#tcp-tunneling, but raises the complexity of deployment quite a bit and involves other binaries.

Proposed Solution

Add the concept of "Transport Plugins" to the Wiretap binary that allows for tunneling WireGuard over other protocols (I'm thinking websockets as the first proof of concept, but could be DNS/ICMP/etc.)

There will be performance issues with these plugins and require an additional listener on the client, so we should be clear about the trade-offs in the docs.

What I think we need for v1 of this feature:

  • Optional transport plugin argument, changing the transport that servers use to communicate back to clients
  • Implementation of at least one transport plugin (e.g., websockets)
  • Client-side listener to unwrap the underlying WG data and forward it to the proper interface

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions