i2pd_docs_zh/docs/devs/i2pd-specifics.md

3.0 KiB
Raw Blame History

i2pd 对 I2P 协议的特定更改

SAM

SESSION CREATE 和 DEST GENERATE 支持额外参数 CRYPTO_TYPE,用于为新的本地目的地指定加密类型

SIGNATURE_TYPE 的新值:

  • GOST_GOSTR3411256_GOSTR3410CRYPTOPROA9
  • GOST_GOSTR3411512_GOSTR3410TC26A51210

I2PControl

i2p.router.status 在共享本地目的地已就绪时为 1否则为 0
i2p.router.net.tunnels.successrate 返回隧道创建成功率(百分比)
i2p.router.net.total.received.bytes 返回自上次重启以来接收的总字节数
i2p.router.net.total.sent.bytes 返回自上次重启以来发送的总字节数

BOB

与 Java-I2P 不同i2pd 继续支持 BOB并具有以下扩展

会话管理

  • zap —— 完全终止 BOB 服务,关闭所有活动会话,并阻止服务接受新的连接。
  • quit —— 结束当前用户与 BOB 的会话,而不关闭服务本身。

隧道控制

  • start —— 启动与当前昵称关联的隧道。
  • stop —— 停止与当前昵称关联的隧道。
  • status <NICKNAME> —— 显示由指定昵称标识的隧道状态。
  • list —— 列出所有已配置的隧道。
  • clear —— 从已配置隧道列表中移除当前昵称。

昵称与密钥管理

  • setnick <NICKNAME> —— 为隧道创建一个新的昵称。
  • getnick <TUNNELNAME> —— 将当前昵称设置为与指定隧道名称关联的昵称。
  • newkeys [signaturetype] —— 为当前昵称生成一对新的密钥(公钥和私钥)。
    默认使用 DSA 签名类型和 ElGamal 加密。
    要用特定签名类型(例如 EdDSA生成密钥请指定所需类型
    例如newkeys 7 生成一对 EdDSA 密钥(仅在 i2pd 中受支持)。
  • getkeys —— 获取当前昵称的密钥对。
  • setkeys <BASE64_KEYPAIR> —— 使用提供的 BASE64 编码密钥对为当前昵称设置密钥对。
  • getdest —— 返回当前昵称的目的地。

隧道配置

  • outhost <HOSTNAME|IP> —— 设置隧道的出站主机名或 IP 地址。
  • outport <PORT_NUMBER> —— 设置隧道将要联系的出站端口号。
  • inhost <HOSTNAME|IP> —— 设置隧道的入站主机名或 IP 地址。
  • inport <PORT_NUMBER> —— 设置隧道监听的入站端口号。
  • quiet <True|False> —— 决定是否发送入站目的地信息。
  • option <KEY>=<VALUE> —— 为当前隧道设置一个选项。注意:键或值中不要使用空格。
  • settunneltype <socks|httpproxy> —— 将隧道类型设置为 SOCKS 或 HTTP 代理。

其他命令

  • lookup <I2P_HOSTNAME> —— 对指定 I2P 主机名执行查询并返回其目的地。
  • lookuplocal <I2P_HOSTNAME> —— 在路由器的 netdb 中查找具有指定地址的 LeaseSet。
  • ping <I2P_HOSTNAME> —— Ping 远程目的地。成功时返回 "pong from <BASE32_ADDRESS>: time=<VALUE> ms",否则返回 "timeout"。
  • help <COMMAND> —— 提供指定命令的帮助信息;若未指定命令,则列出所有可用命令。