Search in sources :

Example 1 with Routes

use of com.github.jh3nd3rs0n.jargyle.server.Routes in project jargyle by jh3nd3rs0n.

the class ClientRoutingRule method applyTo.

@Override
public void applyTo(final Rule.Context context) {
    String routeId = this.getRouteIdSelector().select();
    if (routeId == null) {
        return;
    }
    Context cntxt = (Context) context;
    Routes routes = cntxt.getRoutes();
    Route route = routes.get(routeId);
    if (route == null) {
        return;
    }
    cntxt.setRoute(route);
    LogAction logAction = this.getLogAction();
    if (logAction == null) {
        return;
    }
    String clientAddress = cntxt.getClientAddress();
    logAction.invoke(String.format("Client route '%s' for %s is selected from the following " + "routing rule and context: %s, %s", routeId, clientAddress, this, context));
}
Also used : LogAction(com.github.jh3nd3rs0n.jargyle.server.LogAction) Routes(com.github.jh3nd3rs0n.jargyle.server.Routes) Route(com.github.jh3nd3rs0n.jargyle.server.Route)

Example 2 with Routes

use of com.github.jh3nd3rs0n.jargyle.server.Routes in project jargyle by jh3nd3rs0n.

the class Socks5RequestRoutingRule method applyTo.

@Override
public void applyTo(final Rule.Context context) {
    String routeId = this.getRouteIdSelector().select();
    if (routeId == null) {
        return;
    }
    Context cntxt = (Context) context;
    Routes routes = cntxt.getRoutes();
    Route route = routes.get(routeId);
    if (route == null) {
        return;
    }
    cntxt.setRoute(route);
    LogAction logAction = this.getLogAction();
    if (logAction == null) {
        return;
    }
    String clientAddress = cntxt.getClientAddress();
    MethodSubnegotiationResults methSubnegotiationResults = cntxt.getMethodSubnegotiationResults();
    String user = methSubnegotiationResults.getUser();
    String possibleUser = (user != null) ? String.format(" (%s)", user) : "";
    logAction.invoke(String.format("SOCKS5 request route '%s' for %s%s is selected from the " + "following routing rule and context: %s, %s", routeId, clientAddress, possibleUser, this, context));
}
Also used : LogAction(com.github.jh3nd3rs0n.jargyle.server.LogAction) MethodSubnegotiationResults(com.github.jh3nd3rs0n.jargyle.server.socks5.MethodSubnegotiationResults) Routes(com.github.jh3nd3rs0n.jargyle.server.Routes) Route(com.github.jh3nd3rs0n.jargyle.server.Route)

Aggregations

LogAction (com.github.jh3nd3rs0n.jargyle.server.LogAction)2 Route (com.github.jh3nd3rs0n.jargyle.server.Route)2 Routes (com.github.jh3nd3rs0n.jargyle.server.Routes)2 MethodSubnegotiationResults (com.github.jh3nd3rs0n.jargyle.server.socks5.MethodSubnegotiationResults)1