Skip to content

Controlled TCP-over-WebSocket forwarding tunnel.

License

Notifications You must be signed in to change notification settings

liangshao666/WebSocketReflectorX

Repository files navigation

WebSocket Reflector X

Controlled TCP-over-WebSocket forwarding tunnel.

Crate Homepage | Crate Docs | Local daemon API Docs

Notes

WebSocket Reflector X 0.2.0 has completely rewritten the GUI in Qt/C++, it's daemon and the crate are still written in pure safe Rust.

The daemon (cli) could be used standalone.

New desktop app using HTTP API to communicate with the daemon, and stream logs from daemon's stdout. The daemon is running as a child process of the desktop app.

This app is still in development now.

Usage

Compile

cmake -B build -DCMAKE_BUILD_TYPE=Release -G Ninja
cmake --build build --config Release --target all

CMake will automatically call cargo to build the daemon.

You can find two binaries inside the build/bin directory, wsrx and wsrx-desktop. wsrx is the cli daemon, and wsrx-desktop is the desktop app.

If you don't want to build the desktop app and only want to use the cli daemon, you can just run:

cargo build --release

and find the binary in target/release/wsrx too.

Run

Just run the binary. wsrx-desktop will automatically start wsrx daemon as a child process, then you can use the desktop app to control the daemon.

If you want to run the cli standalone:

./wsrx --help

will show you how to use the cli daemon.

In most cases, you just need run wsrx connect wss://example.com:443 to start a tunnel proxy.

The wsrx server is also implemented in the cli daemon, you can run wsrx serve and access the manage API at http://localhost:<port>/pool.

Further Reading

If you want to know more about the daemon's API, you can read the API Docs.

If you want to intergrate wsrx in your own server project, you can read the crate docs.

Also, wsrx is a simple tool that using plain WebSocket protocol to tunnel TCP connections, so you can implement your own server / client in other languages you like. You can read the Protocol Docs for more information.

Desktop Preview

Home Page

Connections Page

Network Logs Page

Settings Page

About

Controlled TCP-over-WebSocket forwarding tunnel.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • QML 48.7%
  • C++ 23.6%
  • Rust 18.2%
  • Shell 4.8%
  • NSIS 2.5%
  • CMake 2.2%