Skip to content

Mehigh17/go-get-socks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Get Socks

GGS is a simple, uncomplete and work-in-progress implementation of the SOCKS5 RFC in Go. This implementation for now provides the most basic of the features. This is an educational project.

Road map

  • Add implementation of handshake and basic packet exchange
  • Add GSSAPI authentication support (required for compliancy)
  • Add Username/Password authentication support (heavily recommended but not required for compliancy)
  • Add support for all 3 address types (IPv4, IPv6, FQDN)
  • Add support for CONNECT request
  • Add support for BIND request
  • Add support for UDP ASSOCIATE request
  • Add UDP relay server
  • Add rule sets for configurable allowable hosts

Usage

Import the package and start the server:

import "github.com/Mehigh17/go-get-socks"

func main() {
    socks.Start(":9050") // 9050 is the port the socks server will run on
}

Running the existing /cmd/ binary will start the server on default 8080 port unless another port is given in run arguments.

License

MIT

About

Simple implementation of SOCKS5 with Go.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages