1
0
mirror of https://github.com/PurpleI2P/i2pd_docs_en synced 2025-08-28 06:32:37 +00:00
i2pd_docs_en/docs/devs/i2pd-specifics.md
nobs2p a22c12dc10
Update BOB documentation to include all available commands with descriptions
- Added detailed descriptions for all BOB interface commands
- Included usage notes for key management and tunnel configuration
- Documented support for EdDSA (newkeys 7) and default signature/crypto types

Signed-off-by: nobs2p <nobs2p@i2pmail.org>
2025-05-30 10:33:14 +03:00

3.2 KiB

i2pd-specific changes to I2P protocols

SAM

SESSION CREATE and DEST GENERATE support additional parameter CRYPTO_TYPE specifying crypto type for new local destination

new values for SIGNATURE_TYPE:

  • GOST_GOSTR3411256_GOSTR3410CRYPTOPROA or 9
  • GOST_GOSTR3411512_GOSTR3410TC26A512 or 10

I2PControl

i2p.router.status is 1 if shared local destination is ready, and 0 if not
i2p.router.net.tunnels.successrate returns tunnel creation success rate in percents
i2p.router.net.total.received.bytes returns total received bytes since last restart
i2p.router.net.total.sent.bytes returns total sent bytes since last restart

BOB

Unlike Java-I2P, i2pd keep supporting BOB with the following extensions:

Session Management

  • zap — Terminates the BOB service entirely, closing all active sessions and stopping the service from accepting new connections.
  • quit — Ends the current user session with BOB without shutting down the service itself.

Tunnel Control

  • start — Initiates the tunnel associated with the current nickname.
  • stop — Stops the tunnel associated with the current nickname.
  • status <NICKNAME> — Displays the status of the tunnel identified by the specified nickname.
  • list — Lists all configured tunnels.
  • clear — Removes the current nickname from the list of configured tunnels.

Nickname and Key Management

  • setnick <NICKNAME> — Creates a new nickname for a tunnel.
  • getnick <TUNNELNAME> — Sets the current nickname to the one associated with the specified tunnel name.
  • newkeys [signaturetype] — Generates a new key pair (public and private keys) for the current nickname. By default, this uses the DSA signature type and ElGamal encryption. To generate keys with a specific signature type (e.g., EdDSA), specify the desired type: For example, newkeys 7 generates an EdDSA key pair (supported only in i2pd).
  • getkeys — Retrieves the current key pair for the current nickname.
  • setkeys <BASE64_KEYPAIR> — Sets the key pair for the current nickname using the provided BASE64-encoded key pair.
  • getdest — Returns the destination for the current nickname.

Tunnel Configuration

  • outhost <HOSTNAME|IP> — Sets the outbound hostname or IP address for the tunnel.
  • outport <PORT_NUMBER> — Sets the outbound port number that the tunnel will contact.
  • inhost <HOSTNAME|IP> — Sets the inbound hostname or IP address for the tunnel.
  • inport <PORT_NUMBER> — Sets the inbound port number that the tunnel will listen on.
  • quiet <True|False> — Determines whether to send the incoming destination information.
  • option <KEY>=<VALUE> — Sets an option for the current tunnel. Note: Do not use spaces in the key or value.
  • settunneltype <socks|httpproxy> — Sets the tunnel type to either SOCKS or HTTP proxy.

Additional Commands

  • lookup <I2P_HOSTNAME> — Performs a lookup for the specified I2P hostname and returns its destination.
  • lookuplocal <I2P_HOSTNAME> — looks for LeaseSet with specified address in router's netdb
  • help <COMMAND> — Provides help information for the specified command. If no command is specified, lists all available commands.