func WithAuthMethods(authMethods []Authenticator) Option {
	return func(s *Server) {
		s.authMethods = append(s.authMethods, authMethods...)
	}
}
WithAuthMethods can be provided to implement custom authentication
By default, "auth-less" mode is enabled.
For password-based auth use UserPassAuthenticator.
package socks5
import (
	"context"
	"io"
	"net"
	"github.com/things-go/go-socks5/bufferpool"
)
type Option func(s *Server)
func WithBufferPool(bufferPool bufferpool.BufPool) Option {
	return func(s *Server) {
		s.bufferPool = bufferPool
	}
}