i2pd_docs_zh/docs/devs/i2pd-specifics.md

60 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

i2pd 对 I2P 协议的特定更改
======================================
# SAM
SESSION CREATE 和 DEST GENERATE 支持额外参数 `CRYPTO_TYPE`,用于为新的本地目的地指定加密类型
`SIGNATURE_TYPE` 的新值:
- `GOST_GOSTR3411256_GOSTR3410CRYPTOPROA``9`
- `GOST_GOSTR3411512_GOSTR3410TC26A512``10`
# 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>` —— 提供指定命令的帮助信息;若未指定命令,则列出所有可用命令。