Package net.i2p.i2ptunnel.ui
Class GeneralHelper
- java.lang.Object
-
- net.i2p.i2ptunnel.ui.GeneralHelper
-
public class GeneralHelper extends Object
General helper functions used by all UIs. This class is also used by Android. Maintain as a stable API and take care not to break Android.- Since:
- 0.9.19
-
-
Field Summary
Fields Modifier and Type Field Description protected TunnelControllerGroup_groupstatic intNOT_RUNNINGprotected static StringPROP_ENABLE_ACCESS_LISTprotected static StringPROP_ENABLE_BLACKLISTstatic intRUNNINGstatic intSTANDBYstatic intSTARTING
-
Constructor Summary
Constructors Constructor Description GeneralHelper(I2PAppContext context, TunnelControllerGroup tcg)GeneralHelper(TunnelControllerGroup tcg)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static String_t(String key, I2PAppContext context)List<String>deleteTunnel(int tunnel, String privKeyFile)static List<String>deleteTunnel(I2PAppContext context, TunnelControllerGroup tcg, int tunnel, String privKeyFile)Stop the tunnel, delete from config, rename the private key file if in the default directoryStringgetAccessList(int tunnel)intgetAccessMode(int tunnel)booleangetAllowAccept(int tunnel)booleangetAllowInternalSSL(int tunnel)As of 0.9.35, default true, and overridden to true unless PROP_SSL_SET is setbooleangetAllowReferer(int tunnel)booleangetAllowUserAgent(int tunnel)DestinationgetAltDestination(int tunnel)Works even if tunnel is not running.StringgetAltPrivateKeyFile(int tunnel)StringgetAltPrivateKeyFile(TunnelControllerGroup tcg, int tunnel)StringgetBlindedPassword(int tunnel)intgetCert(int tunnel)List<String>getClientAuths(int tunnel, boolean isDH)List of b64 name : b64key Pubkeys for DH, privkeys for PSKStringgetClientDestination(int tunnel)StringgetClientInterface(int tunnel)intgetClientPort(int tunnel)booleangetCloseOnIdle(int tunnel, boolean def)intgetCloseTime(int tunnel, int def)TunnelControllergetController(int tunnel)static TunnelControllergetController(TunnelControllerGroup tcg, int tunnel)StringgetCustomOptionsString(int tunnel)booleangetDCC(int tunnel)booleangetDelayOpen(int tunnel)DestinationgetDestination(int tunnel)Works even if tunnel is not running.intgetEffort(int tunnel)booleangetEncrypt(int tunnel)StringgetEncryptKey(int tunnel)intgetEncryptMode(int tunnel)StringgetFilterDefinition(int tunnel)StringgetInboundRandomKey(int tunnel)Random keysStringgetJumpList(int tunnel)StringgetLeaseSetPrivateKey(int tunnel)StringgetLeaseSetSigningPrivateKey(int tunnel)intgetLimitDay(int tunnel)intgetLimitHour(int tunnel)intgetLimitMinute(int tunnel)all of these are @since 0.8.3intgetMaxStreams(int tunnel)booleangetMultihome(int tunnel)booleangetNewDest(int tunnel)StringgetOutboundRandomKey(int tunnel)booleangetOutproxyAuth(int tunnel)StringgetOutproxyPassword(int tunnel)StringgetOutproxyUsername(int tunnel)booleangetPersistentClientKey(int tunnel)intgetPostBanTime(int tunnel)intgetPostCheckTime(int tunnel)intgetPostMax(int tunnel)POST limitsintgetPostTotalBanTime(int tunnel)intgetPostTotalMax(int tunnel)StringgetPrivateKeyFile(int tunnel)StringgetPrivateKeyFile(TunnelControllerGroup tcg, int tunnel)StringgetProxyAuth(int tunnel)intgetReduceCount(int tunnel, int def)booleangetReduceOnIdle(int tunnel, boolean def)intgetReduceTime(int tunnel, int def)booleangetRejectInproxy(int tunnel)booleangetRejectReferer(int tunnel)booleangetRejectUserAgents(int tunnel)StringgetSigner(int tunnel)intgetSigType(int tunnel, String newTunnelType)StringgetSpoofedHost(int tunnel)StringgetSslProxies(int tunnel)StringgetTargetHost(int tunnel)intgetTargetPort(int tunnel)intgetTotalDay(int tunnel)intgetTotalHour(int tunnel)intgetTotalMinute(int tunnel)intgetTunnelBackupQuantity(int tunnel, int defaultBackupQuantity)Inbound or both in/outintgetTunnelBackupQuantityOut(int tunnel, int defaultBackupQuantity)intgetTunnelDepth(int tunnel, int defaultLength)Inbound or both in/outintgetTunnelDepthOut(int tunnel, int defaultLength)StringgetTunnelDescription(int tunnel)StringgetTunnelName(int tunnel)static StringgetTunnelName(TunnelControllerGroup tcg, int tunnel)intgetTunnelQuantity(int tunnel, int defaultQuantity)Inbound or both in/outintgetTunnelQuantityOut(int tunnel, int defaultQuantity)intgetTunnelStatus(int tunnel)StringgetTunnelType(int tunnel)intgetTunnelVariance(int tunnel, int defaultVariance)Inbound or both in/outintgetTunnelVarianceOut(int tunnel, int defaultVariance)booleangetUniqueLocal(int tunnel)booleangetUseOutproxyPlugin(int tunnel)Default trueStringgetUserAgents(int tunnel)booleanhasEncType(int tunnel, int encType)booleanisInteractive(int tunnel)booleanisOfflineKeys(int tunnel)Works even if tunnel is not running.booleanisSharedClient(int tunnel)booleanisSSLEnabled(int tunnel)protected static List<String>saveConfig(I2PAppContext context, TunnelControllerGroup tcg, int tunnel)Save the configuration for an existing tunnel to disk.List<String>saveTunnel(int tunnel, TunnelConfig config)Save the configuration for a new or existing tunnel to disk.static List<String>saveTunnel(I2PAppContext context, TunnelControllerGroup tcg, int tunnel, TunnelConfig config)Save the configuration for a new or existing tunnel to disk.booleanshouldDelayConnect(int tunnel)booleanshouldStartAutomatically(int tunnel)protected static List<String>updateTunnelConfig(TunnelControllerGroup tcg, int tunnel, TunnelConfig config)Update the config and if shared, adjust and save the config of other shared clients.
-
-
-
Field Detail
-
RUNNING
public static final int RUNNING
- See Also:
- Constant Field Values
-
STARTING
public static final int STARTING
- See Also:
- Constant Field Values
-
NOT_RUNNING
public static final int NOT_RUNNING
- See Also:
- Constant Field Values
-
STANDBY
public static final int STANDBY
- See Also:
- Constant Field Values
-
PROP_ENABLE_ACCESS_LIST
protected static final String PROP_ENABLE_ACCESS_LIST
- See Also:
- Constant Field Values
-
PROP_ENABLE_BLACKLIST
protected static final String PROP_ENABLE_BLACKLIST
- See Also:
- Constant Field Values
-
_group
protected final TunnelControllerGroup _group
-
-
Constructor Detail
-
GeneralHelper
public GeneralHelper(TunnelControllerGroup tcg)
- Parameters:
tcg- may be null ???
-
GeneralHelper
public GeneralHelper(I2PAppContext context, TunnelControllerGroup tcg)
- Parameters:
tcg- may be null ???
-
-
Method Detail
-
getController
public TunnelController getController(int tunnel)
-
getController
public static TunnelController getController(TunnelControllerGroup tcg, int tunnel)
- Parameters:
tcg- may be null- Returns:
- null if not found or tcg is null
-
saveTunnel
public List<String> saveTunnel(int tunnel, TunnelConfig config)
Save the configuration for a new or existing tunnel to disk. For new tunnels, adds to controller and (if configured) starts it.
-
saveTunnel
public static List<String> saveTunnel(I2PAppContext context, TunnelControllerGroup tcg, int tunnel, TunnelConfig config)
Save the configuration for a new or existing tunnel to disk. For new tunnels, adds to controller and (if configured) starts it.- Parameters:
context- unused, taken from tcg
-
updateTunnelConfig
protected static List<String> updateTunnelConfig(TunnelControllerGroup tcg, int tunnel, TunnelConfig config)
Update the config and if shared, adjust and save the config of other shared clients. If a new tunnel, this will call tcg.addController(), and start it if so configured. This does NOT save this tunnel's config. Caller must call saveConfig() also.
-
saveConfig
protected static List<String> saveConfig(I2PAppContext context, TunnelControllerGroup tcg, int tunnel)
Save the configuration for an existing tunnel to disk. New tunnels must use saveConfig(..., TunnelController).- Parameters:
context- unused, taken from tcgtunnel- must already exist- Since:
- 0.9.49
-
deleteTunnel
public static List<String> deleteTunnel(I2PAppContext context, TunnelControllerGroup tcg, int tunnel, String privKeyFile)
Stop the tunnel, delete from config, rename the private key file if in the default directory- Parameters:
privKeyFile- The priv key file name from the tunnel edit form. Can be null if not known.
-
getTunnelType
public String getTunnelType(int tunnel)
-
getTunnelName
public String getTunnelName(int tunnel)
- Returns:
- null if unset
-
getTunnelName
public static String getTunnelName(TunnelControllerGroup tcg, int tunnel)
- Returns:
- null if unset
-
getTunnelDescription
public String getTunnelDescription(int tunnel)
-
getTargetHost
public String getTargetHost(int tunnel)
-
getTargetPort
public int getTargetPort(int tunnel)
- Parameters:
tunnel-- Returns:
- -1 if unset or invalid
-
getSpoofedHost
public String getSpoofedHost(int tunnel)
-
getPrivateKeyFile
public String getPrivateKeyFile(int tunnel)
- Returns:
- path, non-null, non-empty
-
getPrivateKeyFile
public String getPrivateKeyFile(TunnelControllerGroup tcg, int tunnel)
- Returns:
- path, non-null, non-empty
-
getAltPrivateKeyFile
public String getAltPrivateKeyFile(int tunnel)
- Returns:
- path or ""
- Since:
- 0.9.30
-
getAltPrivateKeyFile
public String getAltPrivateKeyFile(TunnelControllerGroup tcg, int tunnel)
- Returns:
- path or ""
- Since:
- 0.9.30
-
getClientInterface
public String getClientInterface(int tunnel)
-
getClientPort
public int getClientPort(int tunnel)
-
getTunnelStatus
public int getTunnelStatus(int tunnel)
-
getClientDestination
public String getClientDestination(int tunnel)
-
getDestination
public Destination getDestination(int tunnel)
Works even if tunnel is not running.- Returns:
- Destination or null
-
getAltDestination
public Destination getAltDestination(int tunnel)
Works even if tunnel is not running.- Returns:
- Destination or null
- Since:
- 0.9.30
-
isOfflineKeys
public boolean isOfflineKeys(int tunnel)
Works even if tunnel is not running.- Returns:
- true if offline keys
- Since:
- 0.9.40
-
shouldStartAutomatically
public boolean shouldStartAutomatically(int tunnel)
-
isSharedClient
public boolean isSharedClient(int tunnel)
-
shouldDelayConnect
public boolean shouldDelayConnect(int tunnel)
-
isInteractive
public boolean isInteractive(int tunnel)
-
getTunnelDepth
public int getTunnelDepth(int tunnel, int defaultLength)Inbound or both in/out
-
getTunnelQuantity
public int getTunnelQuantity(int tunnel, int defaultQuantity)Inbound or both in/out
-
getTunnelBackupQuantity
public int getTunnelBackupQuantity(int tunnel, int defaultBackupQuantity)Inbound or both in/out
-
getTunnelVariance
public int getTunnelVariance(int tunnel, int defaultVariance)Inbound or both in/out
-
getTunnelDepthOut
public int getTunnelDepthOut(int tunnel, int defaultLength)- Since:
- 0.9.33
-
getTunnelQuantityOut
public int getTunnelQuantityOut(int tunnel, int defaultQuantity)- Since:
- 0.9.33
-
getTunnelBackupQuantityOut
public int getTunnelBackupQuantityOut(int tunnel, int defaultBackupQuantity)- Since:
- 0.9.33
-
getTunnelVarianceOut
public int getTunnelVarianceOut(int tunnel, int defaultVariance)- Since:
- 0.9.33
-
getReduceOnIdle
public boolean getReduceOnIdle(int tunnel, boolean def)
-
getReduceCount
public int getReduceCount(int tunnel, int def)
-
getReduceTime
public int getReduceTime(int tunnel, int def)- Parameters:
tunnel-def- in minutes- Returns:
- time in minutes
-
getCert
public int getCert(int tunnel)
-
getEffort
public int getEffort(int tunnel)
-
getSigner
public String getSigner(int tunnel)
-
getEncrypt
public boolean getEncrypt(int tunnel)
-
getEncryptMode
public int getEncryptMode(int tunnel)
- Since:
- 0.9.40
-
getBlindedPassword
public String getBlindedPassword(int tunnel)
- Since:
- 0.9.40
-
getClientAuths
public List<String> getClientAuths(int tunnel, boolean isDH)
List of b64 name : b64key Pubkeys for DH, privkeys for PSK- Parameters:
isDH- true for DH, false for PSK- Returns:
- non-null
- Since:
- 0.9.41
-
getSigType
public int getSigType(int tunnel, String newTunnelType)- Parameters:
newTunnelType- used if tunnel < 0- Returns:
- the current type if we have a destination already, else the default for that type of tunnel
-
hasEncType
public boolean hasEncType(int tunnel, int encType)- Parameters:
encType- code- Since:
- 0.9.44
-
getInboundRandomKey
public String getInboundRandomKey(int tunnel)
Random keys
-
getOutboundRandomKey
public String getOutboundRandomKey(int tunnel)
-
getLeaseSetSigningPrivateKey
public String getLeaseSetSigningPrivateKey(int tunnel)
-
getLeaseSetPrivateKey
public String getLeaseSetPrivateKey(int tunnel)
-
getDCC
public boolean getDCC(int tunnel)
-
isSSLEnabled
public boolean isSSLEnabled(int tunnel)
-
getEncryptKey
public String getEncryptKey(int tunnel)
-
getAccessMode
public int getAccessMode(int tunnel)
-
getAccessList
public String getAccessList(int tunnel)
-
getFilterDefinition
public String getFilterDefinition(int tunnel)
- Since:
- 0.9.40
-
getJumpList
public String getJumpList(int tunnel)
-
getCloseOnIdle
public boolean getCloseOnIdle(int tunnel, boolean def)
-
getCloseTime
public int getCloseTime(int tunnel, int def)
-
getNewDest
public boolean getNewDest(int tunnel)
-
getPersistentClientKey
public boolean getPersistentClientKey(int tunnel)
-
getDelayOpen
public boolean getDelayOpen(int tunnel)
-
getAllowUserAgent
public boolean getAllowUserAgent(int tunnel)
-
getAllowReferer
public boolean getAllowReferer(int tunnel)
-
getAllowAccept
public boolean getAllowAccept(int tunnel)
-
getAllowInternalSSL
public boolean getAllowInternalSSL(int tunnel)
As of 0.9.35, default true, and overridden to true unless PROP_SSL_SET is set
-
getMultihome
public boolean getMultihome(int tunnel)
-
getProxyAuth
public String getProxyAuth(int tunnel)
-
getOutproxyAuth
public boolean getOutproxyAuth(int tunnel)
-
getOutproxyUsername
public String getOutproxyUsername(int tunnel)
-
getOutproxyPassword
public String getOutproxyPassword(int tunnel)
-
getSslProxies
public String getSslProxies(int tunnel)
-
getUseOutproxyPlugin
public boolean getUseOutproxyPlugin(int tunnel)
Default true
-
getLimitMinute
public int getLimitMinute(int tunnel)
all of these are @since 0.8.3
-
getLimitHour
public int getLimitHour(int tunnel)
-
getLimitDay
public int getLimitDay(int tunnel)
-
getTotalMinute
public int getTotalMinute(int tunnel)
-
getTotalHour
public int getTotalHour(int tunnel)
-
getTotalDay
public int getTotalDay(int tunnel)
-
getMaxStreams
public int getMaxStreams(int tunnel)
-
getPostMax
public int getPostMax(int tunnel)
POST limits- Since:
- 0.9.9
-
getPostTotalMax
public int getPostTotalMax(int tunnel)
-
getPostCheckTime
public int getPostCheckTime(int tunnel)
-
getPostBanTime
public int getPostBanTime(int tunnel)
-
getPostTotalBanTime
public int getPostTotalBanTime(int tunnel)
-
getRejectInproxy
public boolean getRejectInproxy(int tunnel)
-
getRejectReferer
public boolean getRejectReferer(int tunnel)
- Since:
- 0.9.25
-
getRejectUserAgents
public boolean getRejectUserAgents(int tunnel)
- Since:
- 0.9.25
-
getUserAgents
public String getUserAgents(int tunnel)
- Since:
- 0.9.25
-
getUniqueLocal
public boolean getUniqueLocal(int tunnel)
-
getCustomOptionsString
public String getCustomOptionsString(int tunnel)
-
_t
protected static String _t(String key, I2PAppContext context)
-
-