| 
 | Smack | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jivesoftware.smackx.bytestreams.socks5.Socks5Proxy
public class Socks5Proxy
The Socks5Proxy class represents a local SOCKS5 proxy server. It can be enabled/disabled by
 setting the localSocks5ProxyEnabled flag in the smack-config.xml or by
 invoking SmackConfiguration.setLocalSocks5ProxyEnabled(boolean). The proxy is enabled by
 default.
 
 The port of the local SOCKS5 proxy can be configured by setting localSocks5ProxyPort
 in the smack-config.xml or by invoking
 SmackConfiguration.setLocalSocks5ProxyPort(int). Default port is 7777. If you set the
 port to a negative value Smack tries to the absolute value and all following until it finds an
 open port.
 
 If your application is running on a machine with multiple network interfaces or if you want to
 provide your public address in case you are behind a NAT router, invoke
 addLocalAddress(String) or replaceLocalAddresses(List) to modify the list of
 local network addresses used for outgoing SOCKS5 Bytestream requests.
 
 The local SOCKS5 proxy server refuses all connections except the ones that are explicitly allowed
 in the process of establishing a SOCKS5 Bytestream (
 Socks5BytestreamManager.establishSession(String)).
 
This Implementation has the following limitations:
connect command and will not answer correctly to other
 commands
| Method Summary | |
|---|---|
|  void | addLocalAddress(String address)Adds the given address to the list of local network addresses. | 
| protected  void | addTransfer(String digest)Add the given digest to the list of allowed transfers. | 
|  List<String> | getLocalAddresses()Returns an unmodifiable list of the local network addresses that will be used for streamhost candidates of outgoing SOCKS5 Bytestream requests. | 
|  int | getPort()Returns the port of the local SOCKS5 proxy server. | 
| protected  Socket | getSocket(String digest)Returns the socket for the given digest. | 
| static Socks5Proxy | getSocks5Proxy()Returns the local SOCKS5 proxy server. | 
|  boolean | isRunning()Returns trueif the local SOCKS5 proxy server is running, otherwisefalse. | 
|  void | removeLocalAddress(String address)Removes the given address from the list of local network addresses. | 
| protected  void | removeTransfer(String digest)Removes the given digest from the list of allowed transfers. | 
|  void | replaceLocalAddresses(List<String> addresses)Replaces the list of local network addresses. | 
|  void | start()Starts the local SOCKS5 proxy server. | 
|  void | stop()Stops the local SOCKS5 proxy server. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Method Detail | 
|---|
public static Socks5Proxy getSocks5Proxy()
public void start()
public void stop()
public void addLocalAddress(String address)
Use this method if you want to provide multiple addresses in a SOCKS5 Bytestream request. This may be necessary if your application is running on a machine with multiple network interfaces or if you want to provide your public address in case you are behind a NAT router.
The order of the addresses used is determined by the order you add addresses.
 Note that the list of addresses initially contains the address returned by
 InetAddress.getLocalHost().getHostAddress(). You can replace the list of
 addresses by invoking replaceLocalAddresses(List).
address - the local network address to addpublic void removeLocalAddress(String address)
address - the local network address to removepublic List<String> getLocalAddresses()
public void replaceLocalAddresses(List<String> addresses)
Use this method if you want to provide multiple addresses in a SOCKS5 Bytestream request and want to define their order. This may be necessary if your application is running on a machine with multiple network interfaces or if you want to provide your public address in case you are behind a NAT router.
addresses - the new list of local network addressespublic int getPort()
protected Socket getSocket(String digest)
addTransfer(String)) while the peer
 connected to the SOCKS5 proxy.
digest - identifying the connection
protected void addTransfer(String digest)
getSocket(String). All connections to
 the local SOCKS5 proxy that don't contain an allowed digest are discarded.
digest - to be added to the list of allowed transfersprotected void removeTransfer(String digest)
The digest should be removed after establishing the SOCKS5 Bytestream is finished, an error occurred while establishing the connection or if the connection is not allowed anymore.
digest - to be removed from the list of allowed transferspublic boolean isRunning()
true if the local SOCKS5 proxy server is running, otherwise
 false.
true if the local SOCKS5 proxy server is running, otherwise
         false| 
 | Smack | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||