Package net.i2p.util
Class PortMapper
- java.lang.Object
-
- net.i2p.util.PortMapper
-
public class PortMapper extends Object
Map services to internal or external application ports for this context. Not intended for the router's NTCP or SSU ports.- Since:
- 0.8.12
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_CONSOLE_PORT
static String
DEFAULT_HOST
static int
DEFAULT_HTTPS_CONSOLE_PORT
static String
PROP_PREFER_HTTPS
static String
SVC_BOB
static String
SVC_CONSOLE
static String
SVC_EEPSITE
static String
SVC_HTTP_I2PCONTROL
static String
SVC_HTTP_PROXY
static String
SVC_HTTPS_CONSOLE
static String
SVC_HTTPS_EEPSITE
static String
SVC_HTTPS_I2PCONTROL
static String
SVC_HTTPS_PROXY
static String
SVC_I2CP
not necessary, already in config?static String
SVC_I2CP_SSL
static String
SVC_I2PSNARK
To indicate presence, alternative to WebAppStarter.isWebappRunning().static String
SVC_I2PTUNNEL
To indicate presence, alternative to WebAppStarter.isWebappRunning().static String
SVC_IMAGEGEN
To indicate presence, alternative to WebAppStarter.isWebappRunning().static String
SVC_IRC
static String
SVC_JSONRPC
To indicate presence, alternative to WebAppStarter.isWebappRunning().static String
SVC_POP
static String
SVC_SAM
static String
SVC_SAM_SSL
static String
SVC_SAM_UDP
static String
SVC_SMTP
static String
SVC_SOCKS
static String
SVC_SUSIDNS
To indicate presence, alternative to WebAppStarter.isWebappRunning().static String
SVC_SUSIMAIL
To indicate presence, alternative to WebAppStarter.isWebappRunning().static String
SVC_TAHOE
-
Constructor Summary
Constructors Constructor Description PortMapper(I2PAppContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getActualHost(String service, String def)
Get the actual host for a service.String
getConsoleURL()
If PROP_PREFER_HTTPS is true or unset, return https URL unless console is http only.String
getConsoleURL(boolean preferHTTPS)
If preferHTTPS is true, return https URL unless console is http only.List<String>
getEepsiteURLs()
String
getHost(String service, String def)
Get the registered host for a service.int
getPort(String service)
Get the registered port for a serviceint
getPort(String service, int def)
Get the registered port for a serviceboolean
isRegistered(String service)
Is the service registered?boolean
register(String service, int port)
Add the serviceboolean
register(String service, String host, int port)
Add the service.void
renderStatusHTML(Writer out)
For debugging onlyvoid
unregister(String service)
Remove the servicevoid
unregister(String service, int port)
Remove the service, only if it is registered with the supplied port.
-
-
-
Field Detail
-
PROP_PREFER_HTTPS
public static final String PROP_PREFER_HTTPS
- See Also:
- Constant Field Values
-
SVC_CONSOLE
public static final String SVC_CONSOLE
- See Also:
- Constant Field Values
-
SVC_HTTPS_CONSOLE
public static final String SVC_HTTPS_CONSOLE
- See Also:
- Constant Field Values
-
SVC_HTTP_PROXY
public static final String SVC_HTTP_PROXY
- See Also:
- Constant Field Values
-
SVC_HTTPS_PROXY
public static final String SVC_HTTPS_PROXY
- See Also:
- Constant Field Values
-
SVC_EEPSITE
public static final String SVC_EEPSITE
- See Also:
- Constant Field Values
-
SVC_HTTPS_EEPSITE
public static final String SVC_HTTPS_EEPSITE
- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
SVC_IRC
public static final String SVC_IRC
- See Also:
- Constant Field Values
-
SVC_SOCKS
public static final String SVC_SOCKS
- See Also:
- Constant Field Values
-
SVC_TAHOE
public static final String SVC_TAHOE
- See Also:
- Constant Field Values
-
SVC_SMTP
public static final String SVC_SMTP
- See Also:
- Constant Field Values
-
SVC_POP
public static final String SVC_POP
- See Also:
- Constant Field Values
-
SVC_SAM
public static final String SVC_SAM
- See Also:
- Constant Field Values
-
SVC_SAM_UDP
public static final String SVC_SAM_UDP
- Since:
- 0.9.24
- See Also:
- Constant Field Values
-
SVC_SAM_SSL
public static final String SVC_SAM_SSL
- Since:
- 0.9.24
- See Also:
- Constant Field Values
-
SVC_BOB
public static final String SVC_BOB
- See Also:
- Constant Field Values
-
SVC_I2CP
public static final String SVC_I2CP
not necessary, already in config?- See Also:
- Constant Field Values
-
SVC_I2CP_SSL
public static final String SVC_I2CP_SSL
- Since:
- 0.9.23
- See Also:
- Constant Field Values
-
SVC_HTTP_I2PCONTROL
public static final String SVC_HTTP_I2PCONTROL
- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
SVC_HTTPS_I2PCONTROL
public static final String SVC_HTTPS_I2PCONTROL
- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
SVC_I2PSNARK
public static final String SVC_I2PSNARK
To indicate presence, alternative to WebAppStarter.isWebappRunning(). For actual base URL, use getConsoleURL()- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
SVC_I2PTUNNEL
public static final String SVC_I2PTUNNEL
To indicate presence, alternative to WebAppStarter.isWebappRunning(). For actual base URL, use getConsoleURL()- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
SVC_IMAGEGEN
public static final String SVC_IMAGEGEN
To indicate presence, alternative to WebAppStarter.isWebappRunning(). For actual base URL, use getConsoleURL()- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
SVC_SUSIDNS
public static final String SVC_SUSIDNS
To indicate presence, alternative to WebAppStarter.isWebappRunning(). For actual base URL, use getConsoleURL()- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
SVC_SUSIMAIL
public static final String SVC_SUSIMAIL
To indicate presence, alternative to WebAppStarter.isWebappRunning(). For actual base URL, use getConsoleURL()- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
SVC_JSONRPC
public static final String SVC_JSONRPC
To indicate presence, alternative to WebAppStarter.isWebappRunning(). For actual base URL, use getConsoleURL()- Since:
- 0.9.39
- See Also:
- Constant Field Values
-
DEFAULT_CONSOLE_PORT
public static final int DEFAULT_CONSOLE_PORT
- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
DEFAULT_HTTPS_CONSOLE_PORT
public static final int DEFAULT_HTTPS_CONSOLE_PORT
- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
DEFAULT_HOST
public static final String DEFAULT_HOST
- Since:
- 0.9.34
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PortMapper
public PortMapper(I2PAppContext context)
- Parameters:
context
- unused for now
-
-
Method Detail
-
register
public boolean register(String service, int port)
Add the service- Parameters:
port
- > 0- Returns:
- success, false if already registered
-
register
public boolean register(String service, String host, int port)
Add the service. If service is SVC_EEPSITE or SVC_HTTPS_EEPSITE, the URL will be included in getEepsites()- Parameters:
port
- > 0- Returns:
- success, false if already registered
- Since:
- 0.9.21
-
isRegistered
public boolean isRegistered(String service)
Is the service registered?- Since:
- 0.9.34
-
unregister
public void unregister(String service)
Remove the service
-
unregister
public void unregister(String service, int port)
Remove the service, only if it is registered with the supplied port. If service is SVC_EEPSITE or SVC_HTTPS_EEPSITE, the URL will be removed from getEepsites()- Since:
- 0.9.34
-
getPort
public int getPort(String service)
Get the registered port for a service- Returns:
- -1 if not registered
-
getPort
public int getPort(String service, int def)
Get the registered port for a service- Parameters:
def
- default- Returns:
- def if not registered
-
getHost
public String getHost(String service, String def)
Get the registered host for a service. Will return "127.0.0.1" if the service was registered without a host.- Parameters:
def
- default- Returns:
- def if not registered
- Since:
- 0.9.21
-
getActualHost
public String getActualHost(String service, String def)
Get the actual host for a service. Will return "127.0.0.1" if the service was registered without a host. If the service was registered with the host "0.0.0.0", "::", or "0:0:0:0:0:0:0:0", it will return a public IP if we have one, else a local IP if we have one, else def. If it was not registered with a wildcard address, it will return the registered host.- Parameters:
def
- default- Returns:
- def if not registered
- Since:
- 0.9.24
-
getConsoleURL
public String getConsoleURL()
If PROP_PREFER_HTTPS is true or unset, return https URL unless console is http only. Default https://127.0.0.1:7667/ If PROP_PREFER_HTTPS is set to false, return http URL unless console is https only. Default http://127.0.0.1:7657/- Since:
- 0.9.33 consolidated from i2ptunnel and desktopgui
-
getConsoleURL
public String getConsoleURL(boolean preferHTTPS)
If preferHTTPS is true, return https URL unless console is http only. Default https://127.0.0.1:7667/ If preferHTTPS is false, return http URL unless console is https only. Default http://127.0.0.1:7657/- Since:
- 0.9.34
-
getEepsiteURLs
public List<String> getEepsiteURLs()
- Returns:
- unsorted, non-empty, or null if none
- Since:
- 0.9.50
-
renderStatusHTML
public void renderStatusHTML(Writer out) throws IOException
For debugging only- Throws:
IOException
- Since:
- 0.9.20
-
-