# websocketproxy **Repository Path**: mirrors_sourcegraph/websocketproxy ## Basic Information - **Project Name**: websocketproxy - **Description**: WebSocket reverse proxy handler for Go - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-23 - **Last Updated**: 2025-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebsocketProxy [![GoDoc](https://godoc.org/github.com/koding/websocketproxy?status.svg)](https://godoc.org/github.com/koding/websocketproxy) [![Build Status](https://travis-ci.org/koding/websocketproxy.svg)](https://travis-ci.org/koding/websocketproxy) WebsocketProxy is an http.Handler interface build on top of [gorilla/websocket](https://github.com/gorilla/websocket) that you can plug into your existing Go webserver to provide WebSocket reverse proxy. ## Install ```bash go get github.com/koding/websocketproxy ``` ## Example Below is a simple server that proxies to the given backend URL ```go package main import ( "flag" "net/http" "net/url" "github.com/koding/websocketproxy" ) var ( flagBackend = flag.String("backend", "", "Backend URL for proxying") ) func main() { u, err := url.Parse(*flagBackend) if err != nil { log.Fataln(err) } err := http.ListenAndServe(":80", websocketproxy.NewProxy(u)) if err != nil { log.Fataln(err) } } ``` Save it as `proxy.go` and run as: ```bash go run proxy.go -backend ws://example.com:3000 ``` Now all incoming WebSocket requests coming to this server will be proxied to `ws://example.com:3000`