class Socks5Module extends DefaultDiscoAwareModule implements Component, ComponentInfoRequestListener, ItemRequestListener {

    @Override
    public void initialize(ServerRuntimeContext serverRuntimeContext) {
        super.initialize(serverRuntimeContext);
        
        fullDomain = EntityUtils.createComponentDomain(subdomain, serverRuntimeContext);
        
        try {
            startProxy();
        } catch (Exception e) {
            throw new RuntimeException("Failed to start SOCKS5 proxy", e);
        }
    }

    public  Socks5Module(String subdomain, InetSocketAddress proxyAddress);
    public  Socks5Module(String subdomain);
    public  Socks5Module();

}