sockslib, 一个包含客户端和服务器的SOCKS5协议库

分享于 

4分钟阅读

GitHub

  繁體 雙語
A Java library of SOCKS5 protocol including client and server
  • 源代码名称:sockslib
  • 源代码网址:http://www.github.com/fengyouchao/sockslib
  • sockslib源代码文档
  • sockslib源代码下载
  • Git URL:
    git://www.github.com/fengyouchao/sockslib.git
    Git Clone代码到本地:
    git clone http://www.github.com/fengyouchao/sockslib
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/fengyouchao/sockslib
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    SocksLib Build StatusCoverage StatusCoverity Scan Build Status

    SocksLib 是SOCKS5协议的一个Java库。

    请参见文档

    查看 Wiki页面( 中文)

    如果你正在寻找SOCKS5服务器而不是SOKCS5库,我希望 Esocks插件能够帮助你。

    引用

    特性

    客户端

    • TCP代理
    • UDP代理
    • 绑定
    • .选择以管理匿名身份验证
    • 用户名/密码身份验证
    • 代理链

    电子邮件服务器

    • TCP代理
    • UDP代理
    • 绑定
    • .选择以管理匿名身份验证
    • 用户名/密码身份验证
    • 代理链
    • 客户端的黑色或者白色IP列表

    快速启动

    环境
    • JDK 8 +
    依赖项

    你应该将以下库放在你的项目类路径中的:

    SOCKS5客户端

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

    使用SSL连接连接SOCKS5服务器

    
    
    
    
     SSLConfigurationBuilder builder = SSLConfigurationBuilder.newBuilder();
    
    
     builder.setTrustKeyStorePath("client-trust-keystore.jks");
    
    
     builder.setTrustKeyStorePassword("123456");
    
    
     SocksProxy proxy = new SSLSocks5(new InetSocketAddress("localhost", 1081), builder.build());
    
    
     Socket socket = new SocksSocket(proxy, new InetSocketAddress("whois.internic.net",43));
    
    
    
    
    绑定
    
    
    
    
     SocksServerSocket serverSocket = new SocksServerSocket(proxy, inetAddress,8080);
    
    
     InetAddress bindAddress = serverSocket.getBindAddress();
    
    
     int bindPort = serverSocket.getBindPort();
    
    
     Socket socket = serverSocket.accept();
    
    
    
    
    UDP关联
    
    
    
    
     DatagramSocket socket = new Socks5DatagramSocket(proxy);
    
    
    
    

    SOCKS5服务器

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

    SSL socks服务器

    
    
    
    
     SSLConfigurationBuilder builder = SSLConfigurationBuilder.newBuilder();
    
    
     builder.setKeyStorePath("server-keystore.jks");
    
    
     builder.setKeyStorePassword("123456");
    
    
     builder.setClientAuth(false);
    
    
     socksProxyServer = SocksServerBuilder.buildAnonymousSSLSocks5Server(1081, builder.build());
    
    
     socksProxyServer.start();
    
    
    
    

    JAVA  Server  proto  soc  protocol  protoc  
    相关文章