sockshandler.go 659 B

1234567891011121314151617181920212223242526272829303132333435
  1. package net
  2. import (
  3. "net"
  4. )
  5. // SocksServer is a SOCKS 5 proxy server
  6. type SocksServer struct {
  7. accepting bool
  8. }
  9. func (server *SocksServer) Listen(port uint8) error {
  10. listener, err := net.Listen("tcp", ":"+string(port))
  11. if err != nil {
  12. return err
  13. }
  14. server.accepting = true
  15. go server.AcceptConnections(listener)
  16. return nil
  17. }
  18. func (server *SocksServer) AcceptConnections(listener net.Listener) error {
  19. for server.accepting {
  20. connection, err := listener.Accept()
  21. if err != nil {
  22. return err
  23. }
  24. go server.HandleConnection(connection)
  25. }
  26. return nil
  27. }
  28. func (server *SocksServer) HandleConnection(connection net.Conn) error {
  29. return nil
  30. }