gitextract_r4pm3g2i/ ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── LICENSE ├── README.md ├── SPEC.md ├── demos/ │ └── groktunnel/ │ ├── README.md │ ├── go.mod │ ├── go.sum │ └── main.go ├── golang/ │ ├── README.md │ ├── codec/ │ │ ├── codec.go │ │ ├── codec_test.go │ │ ├── decoder.go │ │ ├── encoder.go │ │ ├── message.go │ │ ├── message_close.go │ │ ├── message_data.go │ │ ├── message_eof.go │ │ ├── message_open.go │ │ ├── message_openconfirm.go │ │ ├── message_openfailure.go │ │ └── message_windowadjust.go │ ├── go.mod │ ├── go.sum │ ├── mux/ │ │ ├── api.go │ │ ├── doc.go │ │ └── misc.go │ ├── session/ │ │ ├── channel.go │ │ ├── doc.go │ │ ├── session.go │ │ ├── session_test.go │ │ ├── util.go │ │ ├── util_buffer.go │ │ ├── util_chanlist.go │ │ └── util_window.go │ └── transport/ │ ├── dial_io.go │ ├── dial_net.go │ ├── dial_ws.go │ ├── doc.go │ ├── listen.go │ ├── listen_io.go │ ├── listen_net.go │ ├── listen_ws.go │ └── transport_test.go └── typescript/ ├── Makefile ├── README.md ├── api.ts ├── channel.ts ├── codec/ │ ├── codec_test.ts │ ├── decoder.ts │ ├── encoder.ts │ ├── index.ts │ └── message.ts ├── index.ts ├── internal.ts ├── session.ts ├── session_test.ts ├── transport/ │ ├── deno/ │ │ ├── tcp.ts │ │ └── websocket.ts │ └── websocket.ts ├── tsconfig.json └── util.ts