MCPcopy Index your code
hub / github.com/XDSEC/WebSocketReflectorX

github.com/XDSEC/WebSocketReflectorX @0.5.17

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.5.17 ↗ · + Follow
149 symbols 243 edges 29 files 45 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WebSocket Reflector X

[!TIP] This library is indeed under maintenance, though the development frequency seems relatively low. The low frequency stems from the fact that as a simple tool, it really has little room for further development. If you encounter any issues during use, feel free to raise them in the issues section, and we will respond as soon as possible.

这个库确实处于维护状态,看起来开发频率并不高是因为作为一个简单的工具,它确实没有太多可以继续开发的地方,如果在使用过程中遇到问题,请随时在 issue 中提出,我们会尽快响应。

Controlled TCP-over-WebSocket forwarding tunnel.

Crate Homepage | Crate Docs

Usage

Download from Releases page and run it.

Desktop App

#madewithslint !

For Mac Users

[!CAUTION] Apple Developer requires a mac and developer account, which I neither have.

so that's required you to do some operations manually before using it, apologize for that.

Run the command before using:

sudo xattr -cr ./WebSocketReflectorX.app

For Arch Linux Users

We do not have desktop app binary packages in release, so wsrx-bin is deprecated and package ownership was taken by unknown one, do not use it.

# Use the appimage version from release package
paru -S wsrx-appimage
# Use git version and build it from scratch
paru -S wsrx-git

Command Line Tools

This release contains the desktop GUI application and the cli daemon, so it's size may too big for some users.

you can just install the command-line tool from Cargo:

cargo install wsrx

then you can use wsrx directly without desktop application.

PRs about GitHub CI for other linux distro are welcome!

Development

cargo build --release --bins

and find the binary in target/release.

Further Reading

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.

Desktop Preview

Home Page

Connections Page

Network Logs Page

Settings Page

Extension points exported contracts — how you extend this code

WsrxOptions (Interface)
(no doc)
packages/client/src/types.ts
WsrxInstance (Interface)
(no doc)
packages/client/src/types.ts

Core symbols most depended-on inside this repo

get
called by 17
packages/client/src/index.ts
setState
called by 7
packages/client/src/index.ts
sync_scoped_instance
called by 7
crates/desktop/src/bridges/ui_state.rs
delete
called by 6
packages/client/src/index.ts
update_instance_state
called by 6
crates/desktop/src/daemon/latency_worker.rs
remove_lock_file
called by 4
crates/desktop/src/launcher.rs
check
called by 3
packages/client/src/index.ts
create_tcp_listener
called by 3
crates/wsrx/src/utils.rs

Shape

Function 70
Method 43
Class 26
Enum 8
Interface 2

Languages

Rust81%
TypeScript19%

Modules by API surface

packages/client/src/index.ts20 symbols
crates/wsrx/src/proxy.rs16 symbols
crates/wsrx/src/cli/daemon.rs15 symbols
crates/desktop/src/daemon/model.rs14 symbols
crates/desktop/src/daemon/api_controller.rs11 symbols
crates/wsrx/src/cli/serve.rs10 symbols
packages/client/src/types.ts8 symbols
crates/desktop/src/launcher.rs8 symbols
crates/desktop/src/bridges/settings.rs8 symbols
crates/wsrx/src/tunnel.rs7 symbols
crates/desktop/src/bridges/system_info.rs6 symbols
crates/desktop/src/daemon/latency_worker.rs5 symbols

For agents

$ claude mcp add WebSocketReflectorX \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact