Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.koxlifeg.proxy.commands;
- import java.net.InetSocketAddress;
- import java.net.Proxy;
- import org.spacehq.mc.protocol.MinecraftProtocol;
- import org.spacehq.mc.protocol.data.SubProtocol;
- import org.spacehq.mc.protocol.data.status.ServerStatusInfo;
- import org.spacehq.mc.protocol.data.status.handler.ServerInfoHandler;
- import org.spacehq.mc.protocol.data.status.handler.ServerPingTimeHandler;
- import org.spacehq.packetlib.Client;
- import org.spacehq.packetlib.Session;
- import org.spacehq.packetlib.tcp.TcpSessionFactory;
- import pl.koxlifeg.proxy.handlers.ConnectHandler;
- import pl.koxlifeg.proxy.utils.ChatUtil;
- public class Connect
- {
- public static void execute(final String[] vargs, final Session s) {
- if (vargs.length == 5 && vargs[4].equalsIgnoreCase("none")) {
- ConnectHandler.users.remove(s);
- final int port = Integer.parseInt(vargs[2]);
- status(s, vargs[1], port);
- ConnectHandler.connect(s, Proxy.NO_PROXY, vargs[3], vargs[1], port);
- }
- if (vargs.length == 7 && vargs[4].equalsIgnoreCase("socks")) {
- ConnectHandler.users.remove(s);
- final int port = Integer.parseInt(vargs[2]);
- final int portsocks = Integer.parseInt(vargs[6]);
- final Proxy psocks = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(vargs[5], portsocks));
- status(s, vargs[1], port);
- ConnectHandler.connect(s, psocks, vargs[3], vargs[1], port);
- }
- if (vargs.length == 7 && vargs[4].equalsIgnoreCase("http")) {
- ConnectHandler.users.remove(s);
- final int port = Integer.parseInt(vargs[2]);
- final int porthttp = Integer.parseInt(vargs[6]);
- final Proxy phttp = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(vargs[5], porthttp));
- status(s, vargs[1], port);
- ConnectHandler.connect(s, phttp, vargs[3], vargs[1], port);
- }
- }
- public static void status(final Session s, final String HOST, final int PORT) {
- ChatUtil.sendMsg(s, "&7Pingowanie: &8(&a" + HOST + "&8:&a" + PORT + "&8)");
- final MinecraftProtocol protocol = new MinecraftProtocol(SubProtocol.STATUS);
- final Client client = new Client(HOST, PORT, protocol, new TcpSessionFactory(Proxy.NO_PROXY));
- client.getSession().setFlag("auth-proxy", Proxy.NO_PROXY);
- client.getSession().setFlag("server-info-handler", new ServerInfoHandler() {
- @Override
- public void handle(final Session session, final ServerStatusInfo info) {
- }
- });
- client.getSession().setFlag("server-ping-time-handler", new ServerPingTimeHandler() {
- @Override
- public void handle(final Session session, final long pingTime) {
- }
- });
- client.getSession().connect();
- while (client.getSession().isConnected()) {
- try {
- Thread.sleep(5L);
- }
- catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement