1
0
mirror of https://github.com/PurpleI2P/i2pd_docs_en synced 2025-08-30 07:32:05 +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

58 lines
3.2 KiB
Markdown

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.