| Modifier and Type | Field and Description |
|---|---|
protected static String |
DEFAULT_DATAGRAM_HOST |
protected static String |
DEFAULT_DATAGRAM_PORT |
protected static int |
DEFAULT_DATAGRAM_PORT_INT |
(package private) static String |
DEFAULT_SAM_CONFIGFILE |
static String |
DEFAULT_SAM_KEYFILE |
protected static String |
DEFAULT_TCP_HOST |
protected static String |
DEFAULT_TCP_PORT |
static String |
PROP_AUTH |
static String |
PROP_DATAGRAM_HOST |
static String |
PROP_DATAGRAM_PORT |
static String |
PROP_PW_PREFIX |
static String |
PROP_PW_SUFFIX |
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,
boolean isSSL,
Properties i2cpProps,
String persistFile,
File configFile)
Build a new SAM bridge.
|
SAMBridge(String listenHost,
int listenPort,
boolean isSSL,
Properties i2cpProps,
String persistFile,
File configFile,
SAMSecureSessionInterface secureSession)
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
|
String |
getDisplayName()
The display 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.
|
(package private) SAMv3DatagramServer |
getV3DatagramServer(Properties props)
Was a static singleton, now a singleton for this bridge.
|
static void |
main(String[] args)
Usage:
|
void |
register(Handler handler)
Handlers must call on startup
|
void |
run() |
void |
saveConfig() |
SAMSecureSessionInterface |
secureSession() |
void |
shutdown(String[] args)
As of 0.9.20, stops running handlers and sessions.
|
void |
startup()
Do not take a long time.
|
void |
unregister(Handler handler)
Handlers must call on stop
|
protected static final String DEFAULT_DATAGRAM_HOST
protected static final String DEFAULT_DATAGRAM_PORT
protected static final int DEFAULT_DATAGRAM_PORT_INT
static final String DEFAULT_SAM_CONFIGFILE
public static final String DEFAULT_SAM_KEYFILE
protected static final String DEFAULT_TCP_HOST
protected static final String DEFAULT_TCP_PORT
public static final String PROP_AUTH
public static final String PROP_DATAGRAM_HOST
public static final String PROP_DATAGRAM_PORT
public static final String PROP_PW_PREFIX
public static final String PROP_PW_SUFFIX
public static final String PROP_TCP_HOST
public static final String PROP_TCP_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, boolean isSSL, Properties i2cpProps, String persistFile, File configFile)
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 SAMBridge(String listenHost, int listenPort, boolean isSSL, Properties i2cpProps, String persistFile, File configFile, SAMSecureSessionInterface secureSession)
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/fromsecureSession - an instance of a Secure Session to useRuntimeException - if a server socket can't be openedpublic void addKeystream(String name, String stream)
name - Name of the destinationstream - Name of the streampublic String getDisplayName()
ClientAppgetDisplayName in interface ClientApppublic String getKeystream(String name)
name - Name of the destinationpublic String getName()
ClientApppublic ClientAppState getState()
ClientAppSAMv3DatagramServer getV3DatagramServer(Properties props) throws IOException
props - non-null instantiate and start server if it doesn't existIOException - if can't bind to host/port, or if different than existingpublic 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 ]* ]public void register(Handler handler)
public void saveConfig()
throws IOException
IOExceptionpublic SAMSecureSessionInterface secureSession()
public void shutdown(String[] args)
public void startup()
throws IOException
ClientAppstartup in interface ClientAppIOExceptionpublic void unregister(Handler handler)