Modifier and Type | Field and Description |
---|---|
protected static String |
DEFAULT_DATAGRAM_HOST |
protected static String |
DEFAULT_DATAGRAM_PORT |
static String |
DEFAULT_SAM_KEYFILE |
protected static String |
DEFAULT_TCP_HOST |
protected static String |
DEFAULT_TCP_PORT |
static String |
PROP_DATAGRAM_HOST |
static String |
PROP_DATAGRAM_PORT |
static String |
PROP_TCP_HOST |
static String |
PROP_TCP_PORT |
Constructor and Description |
---|
SAMBridge(I2PAppContext context,
ClientAppManager mgr,
String[] args)
For ClientApp interface.
|
SAMBridge(String listenHost,
int listenPort,
Properties i2cpProps,
String persistFile)
Build a new SAM bridge.
|
Modifier and Type | Method and Description |
---|---|
void |
addKeystream(String name,
String stream)
Specify that the given keystream should be used for the given name
|
Destination |
getDestination(String name)
Retrieve the destination associated with the given name
|
String |
getDisplayName()
The dislplay name of the ClientApp, used in user interfaces.
|
String |
getKeystream(String name)
Retrieve the I2P private keystream for the given name, formatted
as a base64 string (Destination+PrivateKey+SessionPrivateKey, as I2CP
stores it).
|
String |
getName()
The generic name of the ClientApp, used for registration,
e.g.
|
ClientAppState |
getState()
The current state of the ClientApp.
|
static void |
main(String[] args)
Usage:
|
void |
run() |
void |
shutdown(String[] args)
Does NOT stop existing sessions.
|
void |
startup()
Do not take a long time.
|
public static final String DEFAULT_SAM_KEYFILE
public static final String PROP_TCP_HOST
public static final String PROP_TCP_PORT
protected static final String DEFAULT_TCP_HOST
protected static final String DEFAULT_TCP_PORT
public static final String PROP_DATAGRAM_HOST
public static final String PROP_DATAGRAM_PORT
protected static final String DEFAULT_DATAGRAM_HOST
protected static final String DEFAULT_DATAGRAM_PORT
public SAMBridge(I2PAppContext context, ClientAppManager mgr, String[] args) throws Exception
mgr
- may be nullargs
- non-nullException
- on bad argspublic SAMBridge(String listenHost, int listenPort, Properties i2cpProps, String persistFile)
listenHost
- hostname to listen for SAM connections on ("0.0.0.0" for all)listenPort
- port number to listen for SAM connections oni2cpProps
- set of I2CP properties for finding and communicating with the routerpersistFile
- location to store/load named keys to/fromRuntimeException
- if a server socket can't be openedpublic Destination getDestination(String name)
name
- name of the destinationpublic String getKeystream(String name)
name
- Name of the destinationpublic void addKeystream(String name, String stream)
name
- Name of the destinationstream
- Name of the streampublic void startup() throws IOException
ClientApp
startup
in interface ClientApp
IOException
public void shutdown(String[] args)
public ClientAppState getState()
ClientApp
public String getName()
ClientApp
public String getDisplayName()
ClientApp
getDisplayName
in interface ClientApp
public static void main(String[] args)
SAMBridge [ keyfile [listenHost ] listenPort [ name=val ]* ]or:
SAMBridge [ name=val ]*name=val options are passed to the I2CP code to build a session, allowing the bridge to specify an alternate I2CP host and port, tunnel depth, etc.
args
- [ keyfile [ listenHost ] listenPort [ name=val ]* ]