MCPcopy Index your code
hub / github.com/Ehco1996/ehco

github.com/Ehco1996/ehco @v1.1.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.6 ↗ · + Follow
484 symbols 1,315 edges 72 files 28 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

# ehco

Go Version Release License

ehco is a lightweight TCP/UDP relay and tunneling tool written in Go.

It helps developers and operators quickly forward traffic between networks without complex proxy setups.


Features

  • 🚀 Lightweight and fast
  • 🔌 TCP and UDP relay support
  • 🧩 Simple CLI interface
  • 🛠 Designed for debugging and infrastructure tooling
  • 📦 Easy deployment

Use Cases

ehco can be used for:

  • Relaying TCP or UDP traffic between hosts
  • Simple network tunneling
  • Debugging connectivity issues
  • Lightweight alternative to complex proxy stacks
  • Internal infrastructure tooling

Installation

Install from source

```bash go install github.com/Ehco1996/ehco@latest

Extension points exported contracts — how you extend this code

RelayClient (Interface)
TODO opt this interface [2 implementers]
internal/transporter/interface.go
RelayConn (Interface)
RelayConn is the interface that represents a relay connection. it contains two connections: clientConn and remoteConn cl [1 …
internal/conn/relay_conn.go
Cmgr (Interface)
connection manager interface/ TODO support closed connection [1 implementers]
internal/cmgr/cmgr.go
RoundRobin (Interface)
RoundRobin is an interface for representing round-robin balancing. [1 implementers]
internal/lb/round_robin.go
Reloader (Interface)
(no doc) [2 implementers]
internal/glue/interface.go
Reader (Interface)
(no doc) [1 implementers]
pkg/metric_reader/reader.go
Env (Interface)
(no doc)
cf-workers/ws/worker-configuration.d.ts
RelayServer (Interface)
(no doc) [1 implementers]
internal/transporter/interface.go

Core symbols most depended-on inside this repo

Error
called by 54
pkg/log/leveld.go
Close
called by 44
internal/conn/relay_conn.go
String
called by 30
internal/conn/relay_conn.go
RemoteAddr
called by 19
internal/conn/ws_conn.go
Equal
called by 16
pkg/xray/user.go
Info
called by 12
pkg/log/leveld.go
Write
called by 11
internal/conn/ws_conn.go
Get
called by 9
pkg/buffer/buffer.go

Shape

Method 274
Function 123
Struct 56
Class 20
Interface 9
FuncType 1
TypeAlias 1

Languages

Go81%
TypeScript19%

Modules by API surface

internal/web/js/rule_metrics.js46 symbols
internal/web/js/node_metrics.js40 symbols
internal/conn/relay_conn.go34 symbols
pkg/xray/user.go21 symbols
internal/cmgr/cmgr.go21 symbols
internal/relay/conf/cfg.go18 symbols
internal/conn/udp_listener.go14 symbols
internal/transporter/base.go13 symbols
pkg/metric_reader/node.go12 symbols
internal/config/config.go12 symbols
test/echo/echo.go11 symbols
internal/web/server.go11 symbols

For agents

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

⬇ download graph artifact