What is this?
A Go implementation of the WebSocket protocol — a fast, well-tested and widely used Go package for WebSocket client-server communication.
Is this a library I import into my code, or something I run on its own?
A library, not a standalone app: you import github.com/gorilla/websocket into your own Go program and write the client or server logic around it. It is part of the Gorilla web toolkit.
How do I pull it into a Go project?
Run go get github.com/gorilla/websocket, then import the package in your code. That is the whole installation step listed in the README.
Do I need anything else besides Go to use it?
Only the Go toolchain. It is a self-contained Go package with no external dependencies, and there are no accounts or API keys involved.
How complete is its WebSocket protocol support?
It provides a complete and tested implementation of the protocol and passes the server tests of the Autobahn Test Suite; the test application lives in the examples/autobahn subdirectory.
Is the API stable enough to build a product on?
Yes — the README explicitly states the package API is stable, so code built on it is not expected to break across releases.
Does it cover both the client and the server side of a WebSocket connection?
Both. The package ships client and server implementations, and the README's examples include a chat example, a command example and a combined client-and-server example.
Where can I see working example code?
The README links a chat example, a command example, a client-and-server example, a file-watch example, plus an Autobahn protocol-test application under examples/autobahn — enough to copy a working client and server in minutes.
Why choose this over other WebSocket options in Go?
It is billed as fast, well-tested and widely used, offers a complete implementation of the WebSocket protocol with a stable API, and passes the Autobahn compliance tests — a low-risk default for production use.
Is the project still alive?
Yes: the repository is not archived, has existed since 2013 and counts roughly 24.9k stars, and the README describes the implementation as complete, tested and API-stable.
What are similar projects?
mux, socket.io, ws, chat, centrifugo, nsq, websocketd, tornado
Which topics is it in?
communication, websockets, realtime, protocol, messaging, websocket, real-time, golang, bsd, backend, networking, go