SOCKS5 server in Golang

go-socks5 Build Status

Provides the socks5 package that implements a SOCKS5 server. SOCKS (Secure Sockets) is used to route traffic between a client and server through an intermediate proxy layer. This can be used to bypass firewalls or NATs.

Feature

The package has the following features:

  • "No Auth" mode
  • User/Password authentication
  • Support for the CONNECT command
  • Rules to do granular filtering of commands
  • Custom DNS resolution
  • Unit tests

TODO

The package still needs the following:

  • Support for the BIND command
  • Support for the ASSOCIATE command

Example

Below is a simple example of usage

// Create a SOCKS5 server
conf := &socks5.Config{}
server, err := socks5.New(conf)
if err != nil {
  panic(err)
}

// Create SOCKS5 proxy on localhost port 8000
if err := server.ListenAndServe("tcp", "127.0.0.1:8000"); err != nil {
  panic(err)
}
Similar Resources

SOCKS5 proxy for go-gemini

go-gemini-socks5 SOCKS5 proxy for go-gemini. go get github.com/makeworld-the-better-one/go-gemini-socks5 Import as "github.com/makeworld-the-better-o

Apr 6, 2022

Crimson prober - Asynchronous TCP scanner through SOCKS5 proxies

Crimson prober - Asynchronous TCP scanner through SOCKS5 proxies

Crimson Prober v1 Alpha version of Asynchronous TCP scanner through SOCKS5 proxi

Feb 19, 2022

server-to-server sync application, written in go/golang.

svcpy: server to server copy a basic server-to-server copy application. on a single binary, it can be a server or a client. example usage: on the serv

Nov 4, 2021

Pape-server - A small server written in golang to serve a random wallpaper.

pape-server I like to inject custom CSS themes into a lot of websites and electron apps, however browsers don't let websites access local disk through

Dec 31, 2021

A Language Server Protocol (LSP) server for Jsonnet

Jsonnet Language Server Warning: This project is in active development and is likely very buggy. A Language Server Protocol (LSP) server for Jsonnet.

Nov 22, 2022

The server-pubsub is the main backend of DATAVOC project that manages all the other web-server modules of the same project such as the processor

server-pubsub The server-pubsub is the main backend of DATAVOC project that manages all the other web-server modules of the same project such as the p

Dec 3, 2021

Server and client implementation of the grpc go libraries to perform unary, client streaming, server streaming and full duplex RPCs from gRPC go introduction

Description This is an implementation of a gRPC client and server that provides route guidance from gRPC Basics: Go tutorial. It demonstrates how to u

Nov 24, 2021

Cert bound sts server - Certificate Bound Tokens using Security Token Exchange Server (STS)

Cert bound sts server - Certificate Bound Tokens using Security Token Exchange Server (STS)

Certificate Bound Tokens using Security Token Exchange Server (STS) Sample demonstration of Certificate Bound Tokens acquired from a Security Token Ex

Jan 2, 2022

Echo-server - An HTTP echo server designed for testing applications and proxies

echo-server An HTTP echo server designed for testing applications and proxies. R

Dec 20, 2022
Comments
  • Support associate

    Support associate

    https://github.com/hongtamrd/go-socks5/blob/c5e7b2d5a023ba293e333d98b032c1f85f59c9b7/request.go#L247-L252


    This issue was generated by todo based on a TODO comment in c5e7b2d5a023ba293e333d98b032c1f85f59c9b7. It's been assigned to @hongtamrd because they committed the code.
  • Support bind

    Support bind

    https://github.com/hongtamrd/go-socks5/blob/c5e7b2d5a023ba293e333d98b032c1f85f59c9b7/request.go#L228-L233


    This issue was generated by todo based on a TODO comment in c5e7b2d5a023ba293e333d98b032c1f85f59c9b7. It's been assigned to @hongtamrd because they committed the code.
Related tags
A socks5 server(tcp/udp) written in golang.

socks5-server A socks5 server(tcp/udp) written in golang. Usage Usage of /main: -l string local address (default "127.0.0.1:1080") -p stri

Nov 20, 2022
SOCKS5 server in Golang

go-socks5 Provides the socks5 package that implements a SOCKS5 server. SOCKS (Secure Sockets) is used to route traffic between a client and server thr

Feb 7, 2022
socks5 proxy server with auto upstream selection

atproxy socks5 proxy server with auto upstream selection installation go install github.com/reusee/atproxy/atproxy@master select process for each cli

Dec 22, 2021
Golang 实现的简单 Socks5 代理

Socks5-Proxy 简介:Golang 实现的 Socks5 代理服务端,支持用户名、密码验证。 安装 下载 git clone https://github.com/truda8/Socks5-Proxy.git 构建 go build -o socks5proxy main.go 添加执

Dec 15, 2021
A SOCKS (SOCKS4, SOCKS4A and SOCKS5) Proxy Package for Go

SOCKS SOCKS is a SOCKS4, SOCKS4A and SOCKS5 proxy package for Go. Quick Start Get the package go get -u "h12.io/socks" Import the package import "h12

Dec 13, 2022
SOCKS5/4/4a validating proxy pool. Water's fine on my machine!
SOCKS5/4/4a validating proxy pool. Water's fine on my machine!

PxndScvm SOCKS5/4/4a validating proxy pool This package is for managing and accessing thousands upon thousands of arbitrary SOCKS proxies. Pipe it a f

Dec 25, 2022
🧮 SOCKS5/4/4a 🌾 validating proxy pool for 🤽 LOLXDsoRANDum connections 🎋
🧮 SOCKS5/4/4a 🌾 validating proxy pool for 🤽 LOLXDsoRANDum connections 🎋

Prox5 SOCKS5/4/4a validating proxy pool This package is for managing and accessing thousands upon thousands of arbitrary SOCKS proxies. It also has a

Dec 25, 2022
A socks5 proxy over quica

A socks5 proxy over quica

Nov 9, 2022