/fucksocks

A Java library of SOCKS5 protocol including client and server

Primary LanguageJavaApache License 2.0Apache-2.0

Fucksocks

Fucksocks is a Java library for SOCKS5 protocol.

See Java API Documentation

See Wiki Page (Chinese)

If you are looking for a SOCKS5 server instead of a SOKCS5 library, I hope Esocks can help you.

References

Featrues

Client

  • TCP proxy
  • UDP proxy
  • Bind
  • Anonymouse authenticaion
  • USERNAME/PASSWORD authencation
  • Proxy chain

Server

  • TCP proxy
  • UDP proxy
  • Bind
  • Anonymouse authenticaion
  • USERNAME/PASSWORD authencation
  • Proxy chain
  • Black or white IP lists for clients

Quick start

Dependencies

You should put following libraries in your project's CLASSPATH:

SCOKS5 Client

CONNECT

    SocksProxy proxy = new Socks5(new InetSocketAddress("localhost",1080));
    Socket socket = new SocksSocket(proxy, new InetSocketAddress("whois.internic.net",43));

BIND

    SocksServerSocket serverSocket = new SocksServerSocket(proxy, inetAddress,8080);
    InetAddress bindAddress = serverSocket.getBindAddress();
    int bindPort  = serverSocket.getBindPort();
    Socket socket = serverSocket.accept();

UDP ASSOCIATE

   DatagramSocket socket = new Socks5DatagramSocket(proxy);

SOCKS5 Server

     SocksProxyServer proxyServer = SocksProxyServerFactory.newNoAuthenticaionServer();
     proxyServer.start();// Creat a SOCKS5 server bind at port 1080