Package net.i2p.i2ptunnel.web
Class IndexBean
java.lang.Object
net.i2p.i2ptunnel.web.IndexBean
- Direct Known Subclasses:
EditBean
public class IndexBean extends Object
Simple accessor for exposing tunnel info, but also an ugly form handler
Warning - This class is not part of the i2ptunnel API,
it has been moved from the jar to the war.
Usage by classes outside of i2ptunnel.war is deprecated.
-
Field Summary
Fields Modifier and Type Field Description protected I2PAppContext_contextprotected TunnelControllerGroup_groupprotected GeneralHelper_helperprotected Log_logstatic intNOT_RUNNINGstatic intRUNNINGstatic intSTANDBYstatic intSTARTING -
Constructor Summary
Constructors Constructor Description IndexBean() -
Method Summary
Modifier and Type Method Description protected String_t(String key)protected Stringencrypt(int tunnel, String k, String v)Encrypt a property using an in-memory key, for interaction with the UI only, using ChaCha20.StringgetAltDestHashBase32(int tunnel)Works even if tunnel is not running.protected DestinationgetAltDestination(int tunnel)Works even if tunnel is not running.StringgetAltDestinationBase64(int tunnel)Works even if tunnel is not running.StringgetClientDestination(int tunnel)StringgetClientInterface(int tunnel)StringgetClientPort(int tunnel)No validationStringgetClientPort2(int tunnel)Returns error message if blank or invalidprotected TunnelControllergetController(int tunnel)StringgetDestHashBase32(int tunnel)Works even if tunnel is not running.protected DestinationgetDestination(int tunnel)Works even if tunnel is not running.StringgetDestinationBase64(int tunnel)Works even if tunnel is not running.StringgetEncryptedBase32(int tunnel)Works even if tunnel is not running.StringgetInternalType(int tunnel)booleangetIsOfflineKeys(int tunnel)Works even if tunnel is not running.booleangetIsUsingOutproxyPlugin(int tunnel)For index.jspintgetLastMessageID()The last stored message IDStringgetMessages()Executes any action requested (start/stop/etc) and dump out the messages.static StringgetNextNonce()StringgetServerTarget(int tunnel)StringgetSharedClient(int tunnel)StringgetSpoofedHost(int tunnel)StringgetTheme()intgetTunnelCount()StringgetTunnelDescription(int tunnel)StringgetTunnelName(int tunnel)intgetTunnelStatus(int tunnel)StringgetTunnelType(int tunnel)(package private) StringgetType()StringgetTypeName(String internalType)static booleanhaveNonce(String nonce)do we know this nonce?booleanisClient(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 booleanisClient(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.booleanisInitialized()booleanisRejectInproxy(int tunnel)booleanisRejectReferer(int tunnel)booleanisRejectUserAgents(int tunnel)booleanisServerTargetLinkValid(int tunnel)Call this to see if it is ok to linkify getServerTarget()booleanisSharedClient(int tunnel)booleanisSSLEnabled(int tunnel)protected Stringngettext(String s, String p, int n)translate (ngettext)voidsetAccessList(String val)voidsetAccessMode(String val)voidsetAction(String action)voidsetAddClient(String moo)voidsetAllowAccept(String moo)voidsetAllowInternalSSL(String moo)voidsetAllowReferer(String moo)voidsetAllowUserAgent(String moo)voidsetAltPrivKeyFile(String file)What filename is this server tunnel's alternate private keys stored invoidsetCert(String val)voidsetClientHost(String host)I2CP host the router is on, ignored when in router contextvoidsetclientKey(String[] s)Multiple entries in formvoidsetClientport(String port)I2CP port the router is on, ignored when in router contextvoidsetClose(String moo)voidsetCloseTime(String val)voidsetConnectDelay(String moo)voidsetDCC(String moo)voidsetDelayOpen(String moo)voidsetEffort(String val)params needed for hashcash and dest modificationvoidsetEncrypt(String moo)voidsetEncryptKey(String val)voidsetEncryptMode(String val)voidsetEncType(String s)Adds to existing, comma separatedvoidsetFilterDefinition(String val)voidsetJumpList(String val)voidsetKey1(String s)Random keys, hidden in formsvoidsetKey2(String s)voidsetKey3(String s)voidsetKey4(String s)voidsetLimitDay(String s)voidsetLimitHour(String s)voidsetLimitMinute(String s)voidsetMaxStreams(String s)voidsetMsgid(String id)voidsetMultihome(String moo)voidsetName(String name)Short name of the tunnelvoidsetNewClientKey(String s)voidsetNewDest(String val)voidsetNofilter_blindedPassword(String s)voidsetNofilter_clientName(String[] s)Multiple entries in formvoidsetNofilter_customOptions(String customOptions)what I2P session overrides should be usedvoidsetNofilter_description(String description)one line descriptionvoidsetNofilter_newClientName(String s)voidsetNofilter_outproxyPassword(String s)voidsetNofilter_proxyPassword(String s)voidsetNonce(String nonce)voidsetOutproxyAuth(String s)voidsetOutproxyUsername(String s)voidsetPort(String port)what port should this client/httpclient/ircclient listen onvoidsetPostBanTime(String s)voidsetPostCheckTime(String s)voidsetPostMax(String s)POST limitsvoidsetPostTotalBanTime(String s)voidsetPostTotalMax(String s)voidsetPrivKeyFile(String file)What filename is this server tunnel's private keys stored invoidsetProfile(String profile)voidsetProxyAuth(String s)all proxy auth @since 0.8.2voidsetProxyList(String proxyList)what HTTP outproxies should be used (httpclient specific)voidsetProxyUsername(String s)voidsetReachableBy(String reachableBy)what interface should this client/httpclient/ircclient listen onvoidsetReduce(String moo)voidsetReduceCount(String val)voidsetReduceTime(String val)voidsetRejectInproxy(String moo)voidsetRejectReferer(String moo)voidsetRejectUserAgents(String moo)voidsetRemoveConfirm(String moo)If called with any value (and the form submitted with action=Remove), we really do want to stop and remove the tunnel.voidsetRevokeClient(String[] s)Multiple entries in form Values are integersvoidsetShared(boolean val)voidsetShared(String moo)voidsetSigner(String val)voidsetSigType(String val)voidsetSpoofedHost(String host)What host does this http server tunnel spoofvoidsetSslProxies(String s)voidsetStartOnLoad(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)voidsetTargetDestination(String dest)What peer does this client tunnel point atvoidsetTargetHost(String host)What host does this server tunnel point atvoidsetTargetPort(String port)What port does this server tunnel point atvoidsetTotalDay(String s)voidsetTotalHour(String s)voidsetTotalMinute(String s)voidsetTunnel(String tunnel)voidsetTunnelBackupQuantity(String tunnelBackupQuantity)how many tunnels to hold in reserve to guard against failures In or both in/outvoidsetTunnelBackupQuantityOut(String tunnelBackupQuantity)how many outbound tunnels to hold in reserve to guard against failuresvoidsetTunnelDepth(String tunnelDepth)how many hops to use for inbound tunnels In or both in/outvoidsetTunnelDepthOut(String tunnelDepth)how many hops to use for outbound tunnelsvoidsetTunnelQuantity(String tunnelQuantity)how many parallel inbound tunnels to use In or both in/outvoidsetTunnelQuantityOut(String tunnelQuantity)how many parallel outbound tunnels to usevoidsetTunnelVariance(String tunnelVariance)how much randomisation to apply to the depth of tunnels In or both in/outvoidsetTunnelVarianceOut(String tunnelVariance)how much randomisation to apply to the depth of outbound tunnelsvoidsetType(String type)What type of tunnel (httpclient, ircclient, client, or server).voidsetUniqueLocal(String moo)voidsetUseOutproxyPlugin(String moo)voidsetUserAgents(String agents)voidsetUseSSL(String moo)
-
Field Details
-
_context
-
_log
-
_group
-
_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
-
-
Constructor Details
-
IndexBean
public IndexBean()
-
-
Method Details
-
isInitialized
public boolean isInitialized()- Since:
- 0.9.4
-
getNextNonce
-
setNonce
-
haveNonce
do we know this nonce?- Since:
- 0.8.1 public since 0.9.35
-
setAction
-
setTunnel
-
setMsgid
- Since:
- 0.9.33
-
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
-
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
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
-
getClientPort
No validation -
getClientPort2
Returns error message if blank or invalid- Since:
- 0.9.3
-
getTunnelType
-
getTypeName
-
getInternalType
-
getClientInterface
-
getTunnelStatus
public int getTunnelStatus(int tunnel) -
getTunnelDescription
-
getSharedClient
-
getClientDestination
-
isServerTargetLinkValid
public boolean isServerTargetLinkValid(int tunnel)Call this to see if it is ok to linkify getServerTarget()- Since:
- 0.8.3
-
getServerTarget
- Returns:
- valid host:port only if isServerTargetLinkValid() is true
-
getDestination
Works even if tunnel is not running.- Returns:
- Destination or null
- Since:
- 0.9.17
-
getDestinationBase64
Works even if tunnel is not running.- Returns:
- Base64 or ""
-
getDestHashBase32
Works even if tunnel is not running.- Returns:
- "{52 chars}.b32.i2p" or ""
-
getEncryptedBase32
Works even if tunnel is not running.- Returns:
- "{56 chars}.b32.i2p" or "" if not blinded
- Since:
- 0.9.40
-
getAltDestination
Works even if tunnel is not running.- Returns:
- Destination or null
- Since:
- 0.9.30
-
getAltDestinationBase64
Works even if tunnel is not running.- Returns:
- Base64 or ""
- Since:
- 0.9.30
-
getAltDestHashBase32
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
- Since:
- 0.9.32 moved from EditBean
-
setType
What type of tunnel (httpclient, ircclient, client, or server). This is required when adding a new tunnel. -
getType
String getType() -
setName
Short name of the tunnel -
setNofilter_description
one line description -
setClientHost
I2CP host the router is on, ignored when in router context -
setClientport
I2CP port the router is on, ignored when in router context -
setTunnelDepth
how many hops to use for inbound tunnels In or both in/out -
setTunnelQuantity
how many parallel inbound tunnels to use In or both in/out -
setTunnelVariance
how much randomisation to apply to the depth of tunnels In or both in/out -
setTunnelBackupQuantity
how many tunnels to hold in reserve to guard against failures In or both in/out -
setTunnelDepthOut
how many hops to use for outbound tunnels- Since:
- 0.9.33
-
setTunnelQuantityOut
how many parallel outbound tunnels to use- Since:
- 0.9.33
-
setTunnelVarianceOut
how much randomisation to apply to the depth of outbound tunnels- Since:
- 0.9.33
-
setTunnelBackupQuantityOut
how many outbound tunnels to hold in reserve to guard against failures- Since:
- 0.9.33
-
setNofilter_customOptions
what I2P session overrides should be used -
setProxyList
what HTTP outproxies should be used (httpclient specific) -
setPort
what port should this client/httpclient/ircclient listen on -
setReachableBy
what interface should this client/httpclient/ircclient listen on -
setTargetDestination
What peer does this client tunnel point at -
setTargetHost
What host does this server tunnel point at -
setTargetPort
What port does this server tunnel point at -
setSpoofedHost
What host does this http server tunnel spoof -
setPrivKeyFile
What filename is this server tunnel's private keys stored in -
setAltPrivKeyFile
What filename is this server tunnel's alternate private keys stored in- Since:
- 0.9.30
-
setRemoveConfirm
If called with any value (and the form submitted with action=Remove), we really do want to stop and remove the tunnel. -
setStartOnLoad
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
-
setShared
public void setShared(boolean val) -
setConnectDelay
-
setProfile
-
setReduce
-
setClose
-
setEncrypt
-
setEncryptMode
- Since:
- 0.9.40
-
setNofilter_blindedPassword
- Since:
- 0.9.40
-
setNofilter_clientName
Multiple entries in form- Since:
- 0.9.41
-
setclientKey
Multiple entries in form- Since:
- 0.9.41
-
setRevokeClient
Multiple entries in form Values are integers- Since:
- 0.9.41
-
setNofilter_newClientName
- Since:
- 0.9.41
-
setNewClientKey
- Since:
- 0.9.41
-
setAddClient
- Since:
- 0.9.41
-
setDCC
- Since:
- 0.8.9
-
setUseSSL
- Since:
- 0.9.9
-
isSSLEnabled
public boolean isSSLEnabled(int tunnel)- Since:
- 0.9.9
-
setRejectInproxy
- Since:
- 0.9.12
-
isRejectInproxy
public boolean isRejectInproxy(int tunnel)- Since:
- 0.9.12
-
setRejectReferer
- Since:
- 0.9.25
-
isRejectReferer
public boolean isRejectReferer(int tunnel)- Since:
- 0.9.25
-
setRejectUserAgents
- Since:
- 0.9.25
-
isRejectUserAgents
public boolean isRejectUserAgents(int tunnel)- Since:
- 0.9.25
-
setUserAgents
- Since:
- 0.9.25
-
setUniqueLocal
- Since:
- 0.9.13
-
setAccessMode
-
setFilterDefinition
- Since:
- 0.9.40
-
setDelayOpen
-
setNewDest
-
setReduceTime
-
setReduceCount
-
setEncryptKey
-
setAccessList
-
setJumpList
-
setCloseTime
-
setAllowUserAgent
- Since:
- 0.9.14
-
setAllowReferer
- Since:
- 0.9.14
-
setAllowAccept
- Since:
- 0.9.14
-
setAllowInternalSSL
- Since:
- 0.9.14
-
setMultihome
- Since:
- 0.9.18
-
setProxyAuth
all proxy auth @since 0.8.2 -
setProxyUsername
-
setNofilter_proxyPassword
-
setOutproxyAuth
-
setOutproxyUsername
-
setNofilter_outproxyPassword
-
setSslProxies
- Since:
- 0.9.11
-
setUseOutproxyPlugin
- Since:
- 0.9.11
-
setLimitMinute
-
setLimitHour
-
setLimitDay
-
setTotalMinute
-
setTotalHour
-
setTotalDay
-
setMaxStreams
-
setPostMax
POST limits- Since:
- 0.9.9
-
setPostTotalMax
-
setPostCheckTime
-
setPostBanTime
-
setPostTotalBanTime
-
setEffort
params needed for hashcash and dest modification -
setCert
-
setSigner
-
setSigType
- Since:
- 0.9.12
-
setEncType
Adds to existing, comma separated- Since:
- 0.9.44
-
setKey1
Random keys, hidden in forms- Since:
- 0.9.18
-
setKey2
-
setKey3
-
setKey4
-
encrypt
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
-
_t
-
ngettext
translate (ngettext)- Since:
- 0.9.7
-