Package net.i2p.i2ptunnel.web
Class IndexBean
- java.lang.Object
-
- net.i2p.i2ptunnel.web.IndexBean
-
-
Field Summary
Fields Modifier and Type Field Description protected I2PAppContext
_context
protected TunnelControllerGroup
_group
protected GeneralHelper
_helper
protected Log
_log
static int
NOT_RUNNING
static int
RUNNING
static int
STANDBY
static int
STARTING
-
Constructor Summary
Constructors Constructor Description IndexBean()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
_t(String key)
protected String
encrypt(int tunnel, String k, String v)
Encrypt a property using an in-memory key, for interaction with the UI only, using ChaCha20.String
getAltDestHashBase32(int tunnel)
Works even if tunnel is not running.protected Destination
getAltDestination(int tunnel)
Works even if tunnel is not running.String
getAltDestinationBase64(int tunnel)
Works even if tunnel is not running.String
getClientDestination(int tunnel)
String
getClientInterface(int tunnel)
String
getClientPort(int tunnel)
No validationString
getClientPort2(int tunnel)
Returns error message if blank or invalidprotected TunnelController
getController(int tunnel)
String
getDestHashBase32(int tunnel)
Works even if tunnel is not running.protected Destination
getDestination(int tunnel)
Works even if tunnel is not running.String
getDestinationBase64(int tunnel)
Works even if tunnel is not running.String
getEncryptedBase32(int tunnel)
Works even if tunnel is not running.String
getInternalType(int tunnel)
boolean
getIsOfflineKeys(int tunnel)
Works even if tunnel is not running.boolean
getIsUsingOutproxyPlugin(int tunnel)
For index.jspint
getLastMessageID()
The last stored message IDString
getMessages()
Executes any action requested (start/stop/etc) and dump out the messages.static String
getNextNonce()
String
getServerTarget(int tunnel)
String
getSharedClient(int tunnel)
String
getSpoofedHost(int tunnel)
String
getTheme()
int
getTunnelCount()
String
getTunnelDescription(int tunnel)
String
getTunnelName(int tunnel)
int
getTunnelStatus(int tunnel)
String
getTunnelType(int tunnel)
(package private) String
getType()
String
getTypeName(String internalType)
static boolean
haveNonce(String nonce)
do we know this nonce?boolean
isClient(int tunnelNum)
Is it a client or server in the UI and I2P side? Note that a streamr client is a UI and I2P client but a server on the localhost side.static boolean
isClient(String type)
Is it a client or server in the UI and I2P side? Note that a streamr client is a UI and I2P client but a server on the localhost side.boolean
isInitialized()
boolean
isRejectInproxy(int tunnel)
boolean
isRejectReferer(int tunnel)
boolean
isRejectUserAgents(int tunnel)
boolean
isServerTargetLinkValid(int tunnel)
Call this to see if it is ok to linkify getServerTarget()boolean
isSharedClient(int tunnel)
boolean
isSSLEnabled(int tunnel)
protected String
ngettext(String s, String p, int n)
translate (ngettext)void
setAccessList(String val)
void
setAccessMode(String val)
void
setAction(String action)
void
setAddClient(String moo)
void
setAllowAccept(String moo)
void
setAllowInternalSSL(String moo)
void
setAllowReferer(String moo)
void
setAllowUserAgent(String moo)
void
setAltPrivKeyFile(String file)
What filename is this server tunnel's alternate private keys stored invoid
setCert(String val)
void
setClientHost(String host)
I2CP host the router is on, ignored when in router contextvoid
setclientKey(String[] s)
Multiple entries in formvoid
setClientport(String port)
I2CP port the router is on, ignored when in router contextvoid
setClose(String moo)
void
setCloseTime(String val)
void
setConnectDelay(String moo)
void
setDCC(String moo)
void
setDelayOpen(String moo)
void
setEffort(String val)
params needed for hashcash and dest modificationvoid
setEncrypt(String moo)
void
setEncryptKey(String val)
void
setEncryptMode(String val)
void
setEncType(String s)
Adds to existing, comma separatedvoid
setFilterDefinition(String val)
void
setJumpList(String val)
void
setKey1(String s)
Random keys, hidden in formsvoid
setKey2(String s)
void
setKey3(String s)
void
setKey4(String s)
void
setLimitDay(String s)
void
setLimitHour(String s)
void
setLimitMinute(String s)
void
setMaxStreams(String s)
void
setMsgid(String id)
void
setMultihome(String moo)
void
setName(String name)
Short name of the tunnelvoid
setNewClientKey(String s)
void
setNewDest(String val)
void
setNofilter_blindedPassword(String s)
void
setNofilter_clientName(String[] s)
Multiple entries in formvoid
setNofilter_customOptions(String customOptions)
what I2P session overrides should be usedvoid
setNofilter_description(String description)
one line descriptionvoid
setNofilter_newClientName(String s)
void
setNofilter_outproxyPassword(String s)
void
setNofilter_proxyPassword(String s)
void
setNonce(String nonce)
void
setOutproxyAuth(String s)
void
setOutproxyUsername(String s)
void
setPort(String port)
what port should this client/httpclient/ircclient listen onvoid
setPostBanTime(String s)
void
setPostCheckTime(String s)
void
setPostMax(String s)
POST limitsvoid
setPostTotalBanTime(String s)
void
setPostTotalMax(String s)
void
setPrivKeyFile(String file)
What filename is this server tunnel's private keys stored invoid
setProfile(String profile)
void
setProxyAuth(String s)
all proxy auth @since 0.8.2void
setProxyList(String proxyList)
what HTTP outproxies should be used (httpclient specific)void
setProxyUsername(String s)
void
setReachableBy(String reachableBy)
what interface should this client/httpclient/ircclient listen onvoid
setReduce(String moo)
void
setReduceCount(String val)
void
setReduceTime(String val)
void
setRejectInproxy(String moo)
void
setRejectReferer(String moo)
void
setRejectUserAgents(String moo)
void
setRemoveConfirm(String moo)
If called with any value (and the form submitted with action=Remove), we really do want to stop and remove the tunnel.void
setRevokeClient(String[] s)
Multiple entries in form Values are integersvoid
setShared(boolean val)
void
setShared(String moo)
void
setSigner(String val)
void
setSigType(String val)
void
setSpoofedHost(String host)
What host does this http server tunnel spoofvoid
setSslProxies(String s)
void
setStartOnLoad(String moo)
If called with any value, we want this tunnel to start whenever it is loaded (aka right now and whenever the router is started up)void
setTargetDestination(String dest)
What peer does this client tunnel point atvoid
setTargetHost(String host)
What host does this server tunnel point atvoid
setTargetPort(String port)
What port does this server tunnel point atvoid
setTotalDay(String s)
void
setTotalHour(String s)
void
setTotalMinute(String s)
void
setTunnel(String tunnel)
void
setTunnelBackupQuantity(String tunnelBackupQuantity)
how many tunnels to hold in reserve to guard against failures In or both in/outvoid
setTunnelBackupQuantityOut(String tunnelBackupQuantity)
how many outbound tunnels to hold in reserve to guard against failuresvoid
setTunnelDepth(String tunnelDepth)
how many hops to use for inbound tunnels In or both in/outvoid
setTunnelDepthOut(String tunnelDepth)
how many hops to use for outbound tunnelsvoid
setTunnelQuantity(String tunnelQuantity)
how many parallel inbound tunnels to use In or both in/outvoid
setTunnelQuantityOut(String tunnelQuantity)
how many parallel outbound tunnels to usevoid
setTunnelVariance(String tunnelVariance)
how much randomisation to apply to the depth of tunnels In or both in/outvoid
setTunnelVarianceOut(String tunnelVariance)
how much randomisation to apply to the depth of outbound tunnelsvoid
setType(String type)
What type of tunnel (httpclient, ircclient, client, or server).void
setUniqueLocal(String moo)
void
setUseOutproxyPlugin(String moo)
void
setUserAgents(String agents)
void
setUseSSL(String moo)
-
-
-
Field Detail
-
_context
protected final I2PAppContext _context
-
_log
protected final Log _log
-
_group
protected final TunnelControllerGroup _group
-
_helper
protected final GeneralHelper _helper
-
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
-
-
Method Detail
-
isInitialized
public boolean isInitialized()
- Since:
- 0.9.4
-
getNextNonce
public static String getNextNonce()
-
setNonce
public void setNonce(String nonce)
-
haveNonce
public static boolean haveNonce(String nonce)
do we know this nonce?- Since:
- 0.8.1 public since 0.9.35
-
setAction
public void setAction(String action)
-
setTunnel
public void setTunnel(String tunnel)
-
setMsgid
public void setMsgid(String id)
- Since:
- 0.9.33
-
getMessages
public String getMessages()
Executes any action requested (start/stop/etc) and dump out the messages. Only call this ONCE! Or you will get duplicate tunnels on save.- Returns:
- HTML escaped or "" if empty
-
getLastMessageID
public int getLastMessageID()
The last stored message ID- Since:
- 0.9.33
-
getTheme
public String getTheme()
-
getTunnelCount
public int getTunnelCount()
-
isClient
public boolean isClient(int tunnelNum)
Is it a client or server in the UI and I2P side? Note that a streamr client is a UI and I2P client but a server on the localhost side. Note that a streamr server is a UI and I2P server but a client on the localhost side.
-
isClient
public static boolean isClient(String type)
Is it a client or server in the UI and I2P side? Note that a streamr client is a UI and I2P client but a server on the localhost side. Note that a streamr server is a UI and I2P server but a client on the localhost side.
-
isSharedClient
public boolean isSharedClient(int tunnel)
- Since:
- 0.9.46 moved from subclass
-
getTunnelName
public String getTunnelName(int tunnel)
-
getClientPort
public String getClientPort(int tunnel)
No validation
-
getClientPort2
public String getClientPort2(int tunnel)
Returns error message if blank or invalid- Since:
- 0.9.3
-
getTunnelType
public String getTunnelType(int tunnel)
-
getInternalType
public String getInternalType(int tunnel)
-
getClientInterface
public String getClientInterface(int tunnel)
-
getTunnelStatus
public int getTunnelStatus(int tunnel)
-
getTunnelDescription
public String getTunnelDescription(int tunnel)
-
getSharedClient
public String getSharedClient(int tunnel)
-
getClientDestination
public String getClientDestination(int tunnel)
-
isServerTargetLinkValid
public boolean isServerTargetLinkValid(int tunnel)
Call this to see if it is ok to linkify getServerTarget()- Since:
- 0.8.3
-
getServerTarget
public String getServerTarget(int tunnel)
- Returns:
- valid host:port only if isServerTargetLinkValid() is true
-
getDestination
protected Destination getDestination(int tunnel)
Works even if tunnel is not running.- Returns:
- Destination or null
- Since:
- 0.9.17
-
getDestinationBase64
public String getDestinationBase64(int tunnel)
Works even if tunnel is not running.- Returns:
- Base64 or ""
-
getDestHashBase32
public String getDestHashBase32(int tunnel)
Works even if tunnel is not running.- Returns:
- "{52 chars}.b32.i2p" or ""
-
getEncryptedBase32
public String getEncryptedBase32(int tunnel)
Works even if tunnel is not running.- Returns:
- "{56 chars}.b32.i2p" or "" if not blinded
- Since:
- 0.9.40
-
getAltDestination
protected Destination getAltDestination(int tunnel)
Works even if tunnel is not running.- Returns:
- Destination or null
- Since:
- 0.9.30
-
getAltDestinationBase64
public String getAltDestinationBase64(int tunnel)
Works even if tunnel is not running.- Returns:
- Base64 or ""
- Since:
- 0.9.30
-
getAltDestHashBase32
public String getAltDestHashBase32(int tunnel)
Works even if tunnel is not running.- Returns:
- "{52 chars}.b32.i2p" or ""
- Since:
- 0.9.30
-
getIsOfflineKeys
public boolean getIsOfflineKeys(int tunnel)
Works even if tunnel is not running.- Returns:
- true if offline keys
- Since:
- 0.9.40
-
getIsUsingOutproxyPlugin
public boolean getIsUsingOutproxyPlugin(int tunnel)
For index.jsp- Returns:
- true if the plugin is enabled, installed, and running
- Since:
- 0.9.11
-
getSpoofedHost
public String getSpoofedHost(int tunnel)
- Since:
- 0.9.32 moved from EditBean
-
setType
public void setType(String type)
What type of tunnel (httpclient, ircclient, client, or server). This is required when adding a new tunnel.
-
getType
String getType()
-
setName
public void setName(String name)
Short name of the tunnel
-
setNofilter_description
public void setNofilter_description(String description)
one line description
-
setClientHost
public void setClientHost(String host)
I2CP host the router is on, ignored when in router context
-
setClientport
public void setClientport(String port)
I2CP port the router is on, ignored when in router context
-
setTunnelDepth
public void setTunnelDepth(String tunnelDepth)
how many hops to use for inbound tunnels In or both in/out
-
setTunnelQuantity
public void setTunnelQuantity(String tunnelQuantity)
how many parallel inbound tunnels to use In or both in/out
-
setTunnelVariance
public void setTunnelVariance(String tunnelVariance)
how much randomisation to apply to the depth of tunnels In or both in/out
-
setTunnelBackupQuantity
public void setTunnelBackupQuantity(String tunnelBackupQuantity)
how many tunnels to hold in reserve to guard against failures In or both in/out
-
setTunnelDepthOut
public void setTunnelDepthOut(String tunnelDepth)
how many hops to use for outbound tunnels- Since:
- 0.9.33
-
setTunnelQuantityOut
public void setTunnelQuantityOut(String tunnelQuantity)
how many parallel outbound tunnels to use- Since:
- 0.9.33
-
setTunnelVarianceOut
public void setTunnelVarianceOut(String tunnelVariance)
how much randomisation to apply to the depth of outbound tunnels- Since:
- 0.9.33
-
setTunnelBackupQuantityOut
public void setTunnelBackupQuantityOut(String tunnelBackupQuantity)
how many outbound tunnels to hold in reserve to guard against failures- Since:
- 0.9.33
-
setNofilter_customOptions
public void setNofilter_customOptions(String customOptions)
what I2P session overrides should be used
-
setProxyList
public void setProxyList(String proxyList)
what HTTP outproxies should be used (httpclient specific)
-
setPort
public void setPort(String port)
what port should this client/httpclient/ircclient listen on
-
setReachableBy
public void setReachableBy(String reachableBy)
what interface should this client/httpclient/ircclient listen on
-
setTargetDestination
public void setTargetDestination(String dest)
What peer does this client tunnel point at
-
setTargetHost
public void setTargetHost(String host)
What host does this server tunnel point at
-
setTargetPort
public void setTargetPort(String port)
What port does this server tunnel point at
-
setSpoofedHost
public void setSpoofedHost(String host)
What host does this http server tunnel spoof
-
setPrivKeyFile
public void setPrivKeyFile(String file)
What filename is this server tunnel's private keys stored in
-
setAltPrivKeyFile
public void setAltPrivKeyFile(String file)
What filename is this server tunnel's alternate private keys stored in- Since:
- 0.9.30
-
setRemoveConfirm
public void setRemoveConfirm(String moo)
If called with any value (and the form submitted with action=Remove), we really do want to stop and remove the tunnel.
-
setStartOnLoad
public void setStartOnLoad(String moo)
If called with any value, we want this tunnel to start whenever it is loaded (aka right now and whenever the router is started up)
-
setShared
public void setShared(String moo)
-
setShared
public void setShared(boolean val)
-
setConnectDelay
public void setConnectDelay(String moo)
-
setProfile
public void setProfile(String profile)
-
setReduce
public void setReduce(String moo)
-
setClose
public void setClose(String moo)
-
setEncrypt
public void setEncrypt(String moo)
-
setEncryptMode
public void setEncryptMode(String val)
- Since:
- 0.9.40
-
setNofilter_blindedPassword
public void setNofilter_blindedPassword(String s)
- Since:
- 0.9.40
-
setNofilter_clientName
public void setNofilter_clientName(String[] s)
Multiple entries in form- Since:
- 0.9.41
-
setclientKey
public void setclientKey(String[] s)
Multiple entries in form- Since:
- 0.9.41
-
setRevokeClient
public void setRevokeClient(String[] s)
Multiple entries in form Values are integers- Since:
- 0.9.41
-
setNofilter_newClientName
public void setNofilter_newClientName(String s)
- Since:
- 0.9.41
-
setNewClientKey
public void setNewClientKey(String s)
- Since:
- 0.9.41
-
setAddClient
public void setAddClient(String moo)
- Since:
- 0.9.41
-
setDCC
public void setDCC(String moo)
- Since:
- 0.8.9
-
setUseSSL
public void setUseSSL(String moo)
- Since:
- 0.9.9
-
isSSLEnabled
public boolean isSSLEnabled(int tunnel)
- Since:
- 0.9.9
-
setRejectInproxy
public void setRejectInproxy(String moo)
- Since:
- 0.9.12
-
isRejectInproxy
public boolean isRejectInproxy(int tunnel)
- Since:
- 0.9.12
-
setRejectReferer
public void setRejectReferer(String moo)
- Since:
- 0.9.25
-
isRejectReferer
public boolean isRejectReferer(int tunnel)
- Since:
- 0.9.25
-
setRejectUserAgents
public void setRejectUserAgents(String moo)
- Since:
- 0.9.25
-
isRejectUserAgents
public boolean isRejectUserAgents(int tunnel)
- Since:
- 0.9.25
-
setUserAgents
public void setUserAgents(String agents)
- Since:
- 0.9.25
-
setUniqueLocal
public void setUniqueLocal(String moo)
- Since:
- 0.9.13
-
setAccessMode
public void setAccessMode(String val)
-
setFilterDefinition
public void setFilterDefinition(String val)
- Since:
- 0.9.40
-
setDelayOpen
public void setDelayOpen(String moo)
-
setNewDest
public void setNewDest(String val)
-
setReduceTime
public void setReduceTime(String val)
-
setReduceCount
public void setReduceCount(String val)
-
setEncryptKey
public void setEncryptKey(String val)
-
setAccessList
public void setAccessList(String val)
-
setJumpList
public void setJumpList(String val)
-
setCloseTime
public void setCloseTime(String val)
-
setAllowUserAgent
public void setAllowUserAgent(String moo)
- Since:
- 0.9.14
-
setAllowReferer
public void setAllowReferer(String moo)
- Since:
- 0.9.14
-
setAllowAccept
public void setAllowAccept(String moo)
- Since:
- 0.9.14
-
setAllowInternalSSL
public void setAllowInternalSSL(String moo)
- Since:
- 0.9.14
-
setMultihome
public void setMultihome(String moo)
- Since:
- 0.9.18
-
setProxyAuth
public void setProxyAuth(String s)
all proxy auth @since 0.8.2
-
setProxyUsername
public void setProxyUsername(String s)
-
setNofilter_proxyPassword
public void setNofilter_proxyPassword(String s)
-
setOutproxyAuth
public void setOutproxyAuth(String s)
-
setOutproxyUsername
public void setOutproxyUsername(String s)
-
setNofilter_outproxyPassword
public void setNofilter_outproxyPassword(String s)
-
setSslProxies
public void setSslProxies(String s)
- Since:
- 0.9.11
-
setUseOutproxyPlugin
public void setUseOutproxyPlugin(String moo)
- Since:
- 0.9.11
-
setLimitMinute
public void setLimitMinute(String s)
-
setLimitHour
public void setLimitHour(String s)
-
setLimitDay
public void setLimitDay(String s)
-
setTotalMinute
public void setTotalMinute(String s)
-
setTotalHour
public void setTotalHour(String s)
-
setTotalDay
public void setTotalDay(String s)
-
setMaxStreams
public void setMaxStreams(String s)
-
setPostMax
public void setPostMax(String s)
POST limits- Since:
- 0.9.9
-
setPostTotalMax
public void setPostTotalMax(String s)
-
setPostCheckTime
public void setPostCheckTime(String s)
-
setPostBanTime
public void setPostBanTime(String s)
-
setPostTotalBanTime
public void setPostTotalBanTime(String s)
-
setEffort
public void setEffort(String val)
params needed for hashcash and dest modification
-
setCert
public void setCert(String val)
-
setSigner
public void setSigner(String val)
-
setSigType
public void setSigType(String val)
- Since:
- 0.9.12
-
setEncType
public void setEncType(String s)
Adds to existing, comma separated- Since:
- 0.9.44
-
setKey1
public void setKey1(String s)
Random keys, hidden in forms- Since:
- 0.9.18
-
setKey2
public void setKey2(String s)
-
setKey3
public void setKey3(String s)
-
setKey4
public void setKey4(String s)
-
encrypt
protected String encrypt(int tunnel, String k, String v)
Encrypt a property using an in-memory key, for interaction with the UI only, using ChaCha20. IV is SHA256(k). These are transient keys by design, but are persisted to hide restarts. They are hidden inputs in the edit form. Storage in config files is not encrypted.- Parameters:
k
- non-nullv
- may be empty or null- Returns:
- Base64, or empty, or null
- Since:
- 0.9.46
-
getController
protected TunnelController getController(int tunnel)
-
-