whatisgithub

What is socks5?

wongsyrone/socks5 — explained in plain English

Analysis updated 2026-07-17 · repo last pushed 2020-03-27

1Audience · developerComplexity · 3/5DormantSetup · moderate

In one sentence

A Go library implementing the SOCKS5 proxy protocol, letting developers build SOCKS5 servers and clients for routing network traffic.

Mindmap

mindmap
  root((repo))
    What it does
      Implements SOCKS5
      Builds proxy servers
      Builds proxy clients
    Tech stack
      Go
      TCP
      UDP
    Use cases
      Build a proxy tool
      Build a VPN app
      Custom traffic routing
    Audience
      Developers
      Ops DevOps

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Spin up a working SOCKS5 proxy server in a few lines of Go code.

USE CASE 2

Build a custom proxy client that authenticates and connects via SOCKS5.

USE CASE 3

Intercept or log proxied connections with a custom handler.

USE CASE 4

Add SOCKS5 support to a VPN or traffic-routing application.

What is it built with?

GoTCPUDP

How does it compare?

wongsyrone/socks50xkinno/neuralvault0xmayurrr/ai-contractauditor
Stars111
LanguageTypeScriptTypeScript
Last pushed2020-03-27
MaintenanceDormant
Setup difficultymoderatehardeasy
Complexity3/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Go and familiarity with the SOCKS5 protocol for advanced use cases.

So what is it?

This is a Go library that implements the SOCKS5 protocol, a standard way for applications to route network traffic through a proxy server. If you've ever connected to a VPN or proxy to access content from a different location or hide your IP address, SOCKS5 is likely what's running under the hood. The library lets developers build SOCKS5 servers and clients in Go without reinventing the wheel. It handles the back-and-forth communication that happens when a client wants to connect through a proxy: the initial negotiation (where client and server agree on authentication), the authentication step (username and password if needed), the actual connection request, and the confirmation that everything worked. It supports both TCP (for regular web browsing and most apps) and UDP (for real-time applications like video calls or online games), and works with both IPv4 and IPv6 addresses. The library is designed to be minimal and straightforward. Instead of hiding complexity behind abstractions, it maps directly to the SOCKS5 protocol specification. So if you're reading the official SOCKS5 RFC documentation, the code structure will feel familiar. For simple use cases, you can spin up a standard SOCKS5 server with just a few lines of code and let it handle everything automatically. For more advanced cases, if you want to intercept traffic, log connections, or implement custom routing logic, you can pass in your own handler to process requests the way you want. The primary users for this library are developers building proxy tools, VPN applications, or any software that needs to route connections through a proxy server. The README mentions Brook as an example, that's a proxy application that uses this library under the hood.

Copy-paste prompts

Prompt 1
Explain how this Go library handles the SOCKS5 negotiation and authentication steps.
Prompt 2
Show me how to spin up a basic SOCKS5 server using this library.
Prompt 3
Help me write a custom handler to log connections passing through this proxy.
Prompt 4
How does this library support both TCP and UDP traffic in SOCKS5?
Prompt 5
Walk me through how Brook uses this socks5 library under the hood.

Frequently asked questions

What is socks5?

A Go library implementing the SOCKS5 proxy protocol, letting developers build SOCKS5 servers and clients for routing network traffic.

Is socks5 actively maintained?

Dormant — no commits in 2+ years (last push 2020-03-27).

How hard is socks5 to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is socks5 for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.