返回更新列表
已更新Sep 3, 2026

terminalphone — 已更新!

通过 Tor 隐藏服务进行加密按键通话语音和文本通信,支持端到端加密、可配置密码、用于群组通话的中继模式以及反取证数据销毁。

分享

TerminalPhone

通过 Tor 隐藏服务进行加密的按键通话语音通信。

TerminalPhone 是一个独立的 Bash 脚本,可在 Tor 网络上实现两方或多方之间的匿名、端到端加密语音和文本通信。它的工作方式类似于对讲机:您录制一条语音消息,然后将其压缩、加密,并以单个单元的形式传输给远程方。您还可以在通话期间发送加密的文本消息。无需服务器基础设施、无需账户、无需电话号码。您的 Tor 隐藏服务 .onion 地址就是您的身份。


目录


功能特性

  • 全双工语音流(WebSockets) —— 通过 WebSocket 在 Tor 隐藏服务上实现实时连续的双向音频流。双方可以同时说话和收听,无需按住空格键。可通过设置(选项 9)进行配置,并内置路由选择:
    • 标准模式(6 跳):完整的 3 跳呼叫方 + 3 跳隐藏服务路由,为双方保留最大匿名性(约 800–1200ms RTT)。
    • 极速模式(单跳):将收听方路由减少到 1 跳(约 450–700ms RTT),实现流畅的对话语音,并带有明确的权衡提示(收听方禁用服务器位置匿名性;收听方节点禁用出站 SOCKS 客户端拨号)。
  • 对讲机按键通话模式 —— 录制完整的语音消息,松开时发送。
  • 通话中加密聊天 —— 在通话期间发送和接收加密的文本消息。按 T 键输入消息。
  • 呼叫方 ID —— 双方在连接时自动交换 .onion 地址。远程地址显示在通话标题中。
  • 自动挂断检测 —— 当一方挂断时,另一方会立即收到通知,通话自动结束。
  • 可配置密码 —— 从 21 种按强度排序的精选密码中选择(256 位 → 128 位)。包括 AES、ChaCha20、Camellia 和 ARIA 系列。弱密码(DES、RC4、ECB 模式)已被排除。
  • 实时密码协商 —— 双方在连接时交换密码信息。通话标题显示本地和远程密码,并带有绿色(匹配)或红色(不匹配)指示器,实时更新。
  • 通话中设置 —— 通话期间按 S 键访问设置。可即时更改密码;远程方的显示会自动更新。
  • Snowflake 桥接信息 —— 使用 Snowflake 进行审查规避时,通话页面会显示从 Tor 日志中解析出的桥接描述符名称、指纹和传输连接状态。
  • 自动监听 —— 启用后,Tor 启动时会自动启动后台监听器。来电会从主菜单中检测并接受,无需手动选择“监听来电”。通话结束后,监听器会自动重启。
  • 可配置 PTT 键 —— 可通过设置菜单将默认的空格键按键通话键更改为任意键。
  • 消息统计 —— 通话屏幕显示发送和接收消息的加密负载大小,并就地更新。
  • 远程 PTT 状态 —— 通话屏幕显示远程方状态的静态指示器:“空闲”(绿色)或“● 录音中”(红色)。音频数据到达时会立即重置,在播放开始之前。
  • PTT 提示音 —— 远程方开始录音时的可选通知音。内置五种预设(单音、双音、啁啾、叮咚、咔嗒),使用 sox 生成,还可录制自定义的 2 秒提示音。可通过设置进行配置。
  • 连接动画 —— 呼叫远程地址时,会播放循环动画,直到通话界面加载完成。
  • 变声器 —— 对输出音频应用语音效果。包括 6 种预设(低沉、高亢、机器人、回声、耳语)以及完全可配置的自定义模式,支持音高偏移、过载、镶边、回声、高通滤波器和颤音。效果在 Opus 编码前使用 sox 处理。
  • 音量 PTT(Termux) —— 实验性模式,允许双击音量减小按钮切换录音,即使 Termux 在后台运行。需要 jq(按需安装)。每次触发后音量会自动恢复。
  • Tor 隐藏服务 —— 每个实例运行自己的 Tor 隐藏服务。您的 .onion 地址作为永久的、可路由的端点。无需端口转发或公共 IP。
  • 端到端加密 —— 所有音频和文本在进入 Tor 网络之前,使用可配置的密码(默认:AES-256-CBC)进行加密,并通过 PBKDF2 从预共享密钥派生密钥。
  • 口令保护的密钥 —— 共享密钥可以使用用户选择的口令进行静态加密(AES-256-CBC,100,000 次 PBKDF2 迭代)。现有明文密钥会被自动检测,并提供迁移选项。
  • 低带宽 —— Opus 编解码器,16kbps,8kHz 单声道。典型的 10 秒语音消息小于 20KB,完全在 Tor 的容量范围内。
  • QR 码共享 —— 选项 3 可以在终端中将您的 .onion 地址显示为可扫描的 QR 码。如果未安装 qrencode,系统会提示您安装。QR 码在备用屏幕缓冲区上渲染,关闭时销毁。有一条注意事项警告某些 QR 扫描器会自动添加 http:// 前缀;拨号时会自动去除此前缀。
  • 不透明的临时文件 —— 所有临时文件使用通用的 .tmp 扩展名和随机十六进制标识符。不会向文件系统泄露文件类型或时间元数据。
  • 电路跳数显示 —— 可选的通话期间 Tor 电路路径显示,显示中继名称和完整国家名称。每 60 秒自动刷新。可通过设置 → Tor 设置进行配置。
  • 排除国家 —— 从 Tor 电路中排除特定国家。提供五眼、九眼和十四眼联盟的预设,或输入自定义国家代码。在 torrc 中使用 ExcludeNodesStrictNodes
  • HMAC 协议认证 —— 可选的对所有协议消息(语音、文本、控制信号)使用共享密钥进行 HMAC-SHA256 签名。每条消息包含随机 nonce,并跟踪已见过的 nonce 以拒绝重放。未签名、伪造或重放的消息会被静默丢弃。HMAC 状态在通话开始时冻结,以防止通话中途失步。可通过设置 → 安全进行配置。
  • 删除前覆写 —— 设置 → 安全中的可选开关,在删除每个临时文件之前,使用 /dev/urandom 中的随机数据覆写。读取文件大小,使用 ddconv=notrunc 将那么多字节的随机数据写入文件,使用 sync 将写入刷新到存储设备,然后使用 rm 删除文件。涵盖所有敏感的运行时文件:原始 PCM 录音、Opus 编码音频、加密负载、解密后的入站音频和聊天、语音效果中间文件、密码和 HMAC 密钥材料、nonce 日志、会话标志、PID 文件、命名管道、轮换时的 Tor 隐藏服务密钥以及中继会话数据。对于目录,内部所有文件都会被递归覆写。内置测试选项会创建一个示例文件,以明文和十六进制显示原始内容,覆写它,并显示覆写后的十六进制,以便用户直观确认数据已被销毁。默认关闭 —— 对于大多数用户来说,标准的 rm 完全足够。TerminalPhone 的临时文件小而短暂,磁盘空间通常会被正常的系统活动快速重用。此功能适用于希望额外增加一层防护以抵御取证恢复的用户。注意:在 SSD 和闪存存储上,磨损均衡意味着覆写可能落在不同的物理 NAND 单元上 —— 全盘加密是闪存介质上唯一可靠的防御手段。在传统 HDD 上,覆写会在相同的物理位置替换数据,对所有基于软件的数据恢复都有效。
  • 中继模式(群组桥接) —— 运行一个零知识中继,桥接 N 个匿名呼叫方。中继转发加密的音频和聊天而不解密,不需要共享密钥或音频硬件。客户端通过 RELAY:1 握手自动检测中继模式,并显示实时的群组呼叫方数量。一个呼叫方离开不会断开其他人。操作员仪表板显示呼叫方数量、运行时间和数据吞吐量。
  • 单跳 Tor 模式 —— 中继操作员可选的降低延迟模式。隐藏服务使用 1 跳 Tor 而不是 3 跳,以牺牲服务器匿名性换取更低的延迟。非常适合不需要隐藏自己 IP 的中继操作员。
  • 端口配置 —— 通过设置 → Tor 设置一起配置监听端口和 SOCKS 端口。支持在同一设备上运行多个实例,使用独立的 Tor 进程。主要对也想加入自己群组通话的中继操作员有用 —— 在一个实例上运行中继,在第二个实例上更改 SOCKS 端口,然后作为呼叫方拨入。
  • 跨平台 —— 可在标准 Linux 发行版、macOS 以及通过 Termux 的 Android 上运行。平台特定的音频后端会被透明处理。
  • 无需 root —— PTT 输入使用终端原始模式。无需特殊权限或内核模块。
  • 单一脚本 —— 一个 Bash 文件。无需构建系统、无需运行时、无需框架。

安装

Linux

支持的发行版: Debian/Ubuntu(apt)、Fedora/RHEL(dnf)、Arch(pacman)。``` bash

git clone https://gitlab.com/here_forawhile/terminalphone.git cd terminalphone bash terminalphone.sh

从菜单中选择选项 **7** 即可自动安装所有依赖项。将安装以下软件包:

| 软件包 | 用途 |
|---|---|
| `tor` | 洋葱路由与隐藏服务 |
| `opus-tools` | 语音压缩(Opus 编解码器) |
| `sox` | 音频处理工具 |
| `socat` | 通过 Tor SOCKS 代理的双向 TCP 中继 |
| `openssl` | AES-256-CBC 加密与解密 |
| `alsa-utils` | 音频录制与播放(`arecord`、`aplay`) |

### macOS``` bash

git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh

选择选项 7 即可自动安装所有依赖项。如果尚未安装 Homebrew,脚本会先安装它,然后再安装以下软件包:

软件包用途
tor洋葱路由与隐藏服务
opus-tools语音压缩(Opus 编解码器)
sox音频录制与播放(recplay
socat通过 Tor SOCKS 代理进行双向 TCP 中继
opensslAES-256-CBC 加密与解密

注意: macOS 使用 sox 同时进行录制(rec)和播放(play),而非 ALSA。无需额外安装音频软件包。

Apple Silicon(M1/M2/M3+): 如果你的终端恰好以 Rosetta 2 模式运行(即 x86_64 进程),而 Homebrew 安装在原生 ARM 前缀(/opt/homebrew)下,brew install 通常会失败并报错 Cannot install under Rosetta 2 in ARM default prefix。依赖安装器现在会检测到这种情况,并自动在 arch -arm64 下重新运行 Homebrew,因此无论脚本以何种方式启动,选项 7 都能正常工作。

Termux(Android)

TerminalPhone 通过 Termux 支持 Android 设备。由于 Android 的沙盒音频架构,需要额外安装两个组件。

步骤 1:安装 Termux

从 F-Droid 安装 Termux。请勿使用 Play 商店版本,因为它已过时且不再接收更新。

步骤 2:安装 Termux:API 应用

从 F-Droid 安装 Termux:API。这是一个独立的 Android 应用(并非 Termux 软件包),用于在 Termux 与 Android 系统 API 之间建立桥接。TerminalPhone 需要它来访问设备麦克风和媒体播放功能。

如果设备上未安装 Termux:API 应用,termux-microphone-recordtermux-media-player 命令将无法正常工作,音频录制和播放会静默失败。

安装 Termux:API 应用后,请在系统提示时授予其麦克风权限。

步骤 3:在 Termux 内安装 Termux:API 软件包```bash pkg install termux-api

这会安装与 Termux:API 应用通信的命令行工具。

**第 4 步:运行 TerminalPhone**```bash
git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh

选择选项 7 以安装所有剩余依赖项。安装程序将首先运行 pkg upgrade 来解决任何软件包链接问题,然后安装 toropus-toolssoxsocatopenssl-toolffmpegtermux-api

Termux 特定依赖项:

软件包用途
termux-api用于访问 Android 麦克风和媒体播放器的 CLI 桥接工具
ffmpeg将 Android 的 M4A 录音转换为用于 Opus 编码的原始 PCM 格式

快速开始```

  1. Run: bash terminalphone.sh
  2. Install deps: Select option 7
  3. Start Tor: Select option 8 (wait for 100% bootstrap)
  4. Set shared secret: Select option 4 (both parties must use the same secret)
  5. Share your .onion address with the other party (option 3)

To receive a call: Select option 1 (Listen for calls) To make a call: Select option 2 (Call an onion address)

双方都必须运行 Tor,并在发起通话前配置相同的共享密钥。

---

## 使用方法

### 菜单选项```
 1  Listen for calls          Wait for an incoming connection
 2  Call an onion address     Connect to a remote .onion endpoint
 3  Show my onion address     Display your .onion address (with optional QR code)
 4  Set shared secret         Configure the pre-shared encryption key
 5  Test audio (loopback)     Record and play back audio locally
 6  Show status               Display Tor, secret, and connection status
 7  Install dependencies      Install all required packages
 8  Start Tor                 Start the Tor process and hidden service
 9  Stop Tor                  Stop the Tor process
10  Restart Tor               Stop and restart Tor
11  Rotate onion address      Generate a new .onion address (destroys the old one)
12  Settings                  Configure Opus quality, PTT chime, Snowflake, auto-listen, PTT key, voice changer, security, Tor settings
13  Relay mode                Start a zero-knowledge group bridge for N callers
 0  Quit                      Stop Tor and exit

通话内控制

全双工模式(WebSockets):

按键操作
M静音 / 取消静音麦克风。
T发送通话内加密文本消息。
Q挂断并返回菜单。

按键通话模式(Linux / macOS):

按键操作
按住 SPACE录制语音消息。松开时自动发送。
T发送加密文本消息。
S通话中打开设置(更换密码、调整质量)。
Q挂断并返回菜单。

按键通话模式(Termux):

Android 的软件键盘在松开时发送按键事件,而非按下时。TerminalPhone 通过在 Termux 上使用切换模式来适应这一点。

按键操作
点击 SPACE开始录制。再次点击停止并发送。
T发送加密文本消息。
S通话中打开设置(更换密码、调整质量)。
Q挂断并返回菜单。
音量减 ×2通过音量键切换录制(需在设置中启用音量 PTT)。

CLI 模式```bash

bash terminalphone.sh install # Install dependencies bash terminalphone.sh test # Audio loopback test bash terminalphone.sh status # Show status bash terminalphone.sh listen # Listen for incoming calls bash terminalphone.sh call ADDRESS # Call a .onion address bash terminalphone.sh relay # Start relay mode (group bridge)

---

## 工作原理

TerminalPhone 采用先录制后发送的模式。当你激活 PTT 时,麦克风会持续录音,直到你松开为止。完整的录音随后会经过以下流程处理:```
SENDER                                          RECEIVER
──────                                          ────────
Microphone                                      Speaker
    │                                               ▲
    ▼                                               │
Raw PCM (8kHz, 16-bit, mono)                    Opus decode
    │                                               ▲
    ▼                                               │
Opus encode (16kbps)                            AES-256-CBC decrypt
    │                                               ▲
    ▼                                               │
AES-256-CBC encrypt                             Base64 decode
    │                                               ▲
    ▼                                               │
Base64 encode ──▶ socat ──▶ Tor ──▶ socat ──▶ Receive

线缆协议是基于TCP连接的行式文本:

消息描述
ID:<onion>呼叫方ID——发送方的.onion地址
CIPHER:<name>发送方的加密密码。在连接时及变更时交换。
PTT_START发送方已开始录音
PTT_STOP发送方已完成;音频随后发送或已发送
AUDIO:<base64>完整的加密音频消息
MSG:<base64>加密的文本消息
HANGUP发送方正在断开连接
PING保活信号
RELAY:1中继问候——由中继在连接时发送,触发群组模式
GROUP:<n>群组大小更新——由中继在呼叫方加入或离开时广播

在Termux上,额外的转换步骤处理Android原生M4A录音格式,使用ffmpeg在Opus编码前转换为原始PCM。


安全模型

加密: 所有音频在传输前使用用户可配置的密码(默认:AES-256-CBC)进行加密。提供21种精选密码,从最强(256位)到足够(128位)排序。密钥通过PBKDF2从预共享密钥派生,迭代10,000次。加密在应用层应用,独立于Tor的传输加密。密钥通过文件描述符(-pass fd:3)传递给OpenSSL,而非命令行参数,因此绝不会暴露在进程表中。

密码协商: 双方在连接时以及通话中密码变更时交换密码名称。密码名称并非机密(Kerckhoffs原则)。如果本地和远程密码不匹配,双方都会在通话头部看到红色指示器。

传输: 所有数据通过Tor隐藏服务电路路由。任何一方的IP地址都不会暴露。没有明文网络流量。网络观察者无法将连接归因于任何一方。

流量分析抵抗: 先录制后发送模型产生不规则的传输模式(不规则间隔的可变长度消息),比连续流更难进行指纹识别。

认证: 共享密钥作为隐式认证。如果双方没有相同的密钥,解密失败且不播放音频。连接时,双方交换.onion地址用于呼叫方识别。密钥可选地使用口令进行静态加密;启动时,脚本提示输入口令以解锁。

HMAC协议签名(可选): 启用后,每条线缆协议消息——包括HANGUP、PTT_START和PING等控制信号——都使用从共享密钥派生的HMAC-SHA256签名。每条消息包含随机nonce,使相同命令产生唯一签名。每次通话跟踪已见nonce并拒绝重复,防止重放攻击。HMAC设置在通话开始时通过运行时文件冻结,使发送和接收路径始终一致,即使在通话中切换设置(更改在下次通话生效)。在接收端,任何签名无效、缺失或重放的消息都会被静默丢弃。这防止了攻破Tor电路(但没有共享密钥)的攻击者注入或重放命令。双方都必须启用HMAC才能进行通话。与1.1.3之前的版本不兼容。

限制:

  • 共享密钥必须通过带外安全渠道交换(面对面、加密消息等)。
  • 没有前向保密。如果共享密钥被攻破,使用该密钥的所有过去和未来通信都可以被解密。
  • 协议不保护被攻破的端点。如果任一设备被攻破,攻击者可以访问明文音频。

中继模式安全: 中继在架构上是零知识的。它从不拥有共享密钥,无法解密任何内容。音频数据通过仅存在于内存中的内核管道缓冲区(FIFO)流动——不会写入磁盘。中继停止时,所有临时文件都会被删除。中继操作员无法确定说了什么、呼叫方是谁,或读取任何消息。中继过滤所有控制信号(HANGUP、ID:、CIPHER:、PTT_START、PTT_STOP),仅转发AUDIO:、MSG:和PING。全局被动对手可以进行流量关联分析,将呼叫方与中继关联,但消息内容仍然不透明。

中继容量: 主要瓶颈是Tor带宽。Tor隐藏服务吞吐量高度可变,取决于电路质量、中继拥塞和地理距离。典型的10秒语音消息约为20KB加密数据,每次传输扇出到N-1个监听者。

呼叫方每条消息出站预期体验
2--320--40KB在大多数连接上可靠
3--540--80KB在稳定电路上良好,移动数据上可能有延迟
5--1080--180KB接近极限,传输间有明显延迟
10+180KB+不可靠,显著排队和潜在消息丢失

实际容量为:在手机(Termux)上运行的中继为3--5个呼叫方,或在具有稳定连接的专用Linux机器上为5--10个呼叫方。在移动设备上运行的中继面临额外限制:移动数据在Tor之上增加延迟,Android可能终止后台Termux进程以回收内存,且每个连接的呼叫方都会增加电池消耗。Tor电路带宽根据路径质量可从50KB/s到500KB/s不等,电路可能在会话中途降级或轮换。单跳模式提高吞吐量,但不能消除Tor中继拥塞。这些估计假设PTT模型,即一次只有一人传输——同时传输会进一步降低性能。群组通话中的呼叫方应考虑降低Opus比特率(设置 → Opus编码)以减少消息大小并减轻中继负载。


配置

所有配置存储在脚本位置相对路径下的.terminalphone/中:``` .terminalphone/ tor_data/ Tor data directory and hidden service keys audio/ Temporary audio files (cleaned on exit) pids/ Process ID tracking shared_secret Encrypted shared secret file torrc Generated Tor configuration

默认音频参数(定义在脚本顶部):

| 参数 | 默认值 | 描述 |
|---|---|---|
| `LISTEN_PORT` | 7777 | 传入连接的 TCP 端口 |
| `TOR_SOCKS_PORT` | 9050 | Tor SOCKS 代理端口 |
| `OPUS_BITRATE` | 16 | Opus 编码比特率(kbps) |
| `CIPHER` | aes-256-cbc | 加密算法(可通过设置配置) |
| `SNOWFLAKE_ENABLED` | 0 | 用于规避审查的 Snowflake 网桥 |
| `AUTO_LISTEN` | 0 | Tor 启动时自动监听来电 |
| `PTT_KEY` | SPACE | 按键通话键(可通过设置配置) |
| `VOL_PTT` | 0 | 音量键双击通话,仅限 Termux(实验性) |
| `EXCLUDE_NODES` | (空) | Tor ExcludeNodes 国家列表(例如 `{US},{GB}`) |
| `HMAC_AUTH` | 0 | 对所有协议消息进行 HMAC 签名(可选,双方必须一致) |
| `OVERWRITE_DELETE` | 0 | 删除前用随机数据覆盖临时文件(默认关闭) |
| `PTT_CHIME` | off | 通话提示音预设(off、tone、double、chirp、ding、click、custom) |
| `SINGLE_HOP` | 0 | 单跳 Tor 模式以降低延迟(禁用服务器匿名性) |
| `SAMPLE_RATE` | 8000 | 音频采样率(Hz) |
| `CHUNK_DURATION` | 1 | 音频测试块持续时间(秒) |

---

## 故障排除

**Tor 引导失败:**
检查位于 `.terminalphone/tor_data/tor.log` 的 Tor 日志。常见原因包括时钟偏差、网络限制阻止 Tor,或另一个 Tor 实例正在使用相同的 SOCKS 端口。

**Termux 上没有音频:**
确认已从 F-Droid 安装 Termux:API 应用(不仅仅是 `termux-api` 软件包)。在 Android 设置中授予 Termux:API 应用麦克风权限。运行音频回环测试(选项 5)进行验证。

**ffmpeg 在 Termux 上安装失败:**
在安装依赖项之前运行 `pkg upgrade`。安装程序会自动执行此操作,但如果您手动安装软件包,过时的共享库可能会导致链接错误。

**音频测试正常但通话无声:**
确认双方使用相同的共享密钥。密钥不匹配会导致解密失败且不显示错误消息——通话会接通但听不到任何音频。

**Snowflake 网桥连接缓慢:**
Snowflake 通过 WebRTC 代理路由流量,这会增加额外的引导时间。启用 Snowflake 后,Tor 需要 30--60 秒(或更长时间)才能达到 100% 是正常现象。脚本会在引导期间显示耐心提示。

**首次 Tor 引导缓慢:**
首次启动时,Tor 必须从头下载完整的网络共识,这可能需要一两分钟。脚本会检测到这一点并显示提示。首次运行时引导超时时间会自动从 120 秒延长至 300 秒。后续启动会使用缓存的共识数据,速度会快得多。

**挂断后无法返回菜单:**
如果按 Q 后脚本卡住,请按 Ctrl+C 强制清理并返回 shell。

**macOS 上出现 `Cannot install under Rosetta 2 in ARM default prefix`:**
当终端在 Rosetta 2 下运行(`x86_64` 进程)但 Homebrew 位于原生 ARM 前缀(`/opt/homebrew`)时,Apple Silicon 上会出现此问题。依赖安装程序(选项 **7**)现在会检测到这一点,并自动在 `arch -arm64` 下重新运行 `brew`。如果您手动安装软件包,请自行添加前缀:`arch -arm64 brew install <pkg>`。或者,使用 `arch -arm64 bash terminalphone.sh` 以原生方式启动脚本。

---

[MIRROR V1.0.0](https://bin.disroot.org/?e1356291b098cb75#FMQ4gxFwgdr3rjR1dpGS2csLmDPzDEkQW16fQ5P2Vt4y)

[MIRROR V1.0.1](https://bin.disroot.org/?d3bc0b8976113f58#AuUm4ev4vfeVmPyrh2KjAdhDP6WN4UX6yKQh9ERGD5Qt)

[MIRROR V1.0.2](https://bin.disroot.org/?6bc5b2fd046de1d7#G7TmnytrMeaM5AZYWth6BjjdqUb9RDf3K9erHUExKcGX)

[MIRROR V1.0.3](https://bin.disroot.org/?c5010f039e4693fd#Brp1w7LRQH9d5Ye5npZDPxNVR855SW9QUAk9cJaUuLYX)

[MIRROR V1.0.4](https://bin.disroot.org/?1831f6b78e349142#7zaAMVPNJL3MfbGJzjtm6cCPcvQftf4ULXupdne5dRKw)

[MIRROR V1.0.5](https://bin.disroot.org/?edfcfc844987ed03#56LuBbqbkfNDXfHpydyaB3VcWYhYenX18dtSvNumERY9)

[MIRROR V1.0.6](https://bin.disroot.org/?6c7b4774108b0c1c#GQPst46zjAYidndmNvytforX7MK2LyHanL4d829vVcv4)

[MIRROR V1.0.7](https://bin.disroot.org/?047003637623b4fa#EwmaysciDpiDkht8xV7ce3QcR9oxFXaxSikh4cLheXBB)

[MIRROR V1.0.8](https://bin.disroot.org/?06e38bd64e6fbdad#88MYs3dmq9rSMkmocpW3NYaaG4YfSdRCc9LJnEEzqGYp)

[MIRROR V1.0.9](https://bin.disroot.org/?950218a9a7c71c66#E7Z94VCGBZozrfXYhGwKyAdMeTxuavg92tA1pn2DbrrB)

[MIRROR V1.1.0](https://bin.disroot.org/?0b0da14f31521b3a#B1c23J8xFoZZKErvGG28PgbtfgtMUcDABWmQEoSZfXgh)

[MIRROR V1.1.1](https://bin.disroot.org/?d8e2d4f0300eb5af#9Y1C8CkcH9jAmv1fh4GZs1yYpJmWCG5xG3SvDYdwnJam)

[MIRROR V1.1.2](https://bin.disroot.org/?b1059616f880925f#8ef2oscZXUkPAsJZwGfWvLPQagVAk5GgW4DyssmLvQpG)

[MIRROR V1.1.3](https://bin.disroot.org/?b02658801518aaa7#JE6CsBLWUwAnTdBqeHgeXL7QF5UExgi9rnygcfyMZjCJ)

[MIRROR V1.1.4](https://bin.disroot.org/?d31248fc44c287a0#HQELFWFEMpM9kfTZSGDXTdGFMVKTejox5CajF9Vm4Www)

[MIRROR V1.1.5](https://bin.disroot.org/?284b723ed6aad15f#8VCrrri6yRpdg3uVDSY94wpx7LYkw5uYhm4Vbhka83sM)

[MIRROR V1.1.5.1](https://bin.disroot.org/?26aaef1eff20c271#4GxQQPSDhrszTu1RmERySNVqD2fZW5GZwm3JeL1parpB)

[MIRROR V1.1.6](https://bin.disroot.org/?ae8270578cd9e081#BbcDLU49XqhecvwviHRcdfrZ4vhKdL2AMeKaT5v9oLV1)

[MIRROR V1.1.7](https://bin.disroot.org/?457e4308abe582d8#B9LJG88rmUwrGHHuCof8WpE8CXGmkc2tyrXXicEiJFWk)

[MIRROR V1.1.8](https://bin.disroot.org/?ef81486d3a5141a1#EN1YuLPqqs2FAEsvXkGbZdiWXt3vxvGTw845C4QsYmSn)

[MIRROR V1.1.9](https://bin.disroot.org/?fbcca457ac58964f#DsUCbJwgBRhnL1FK3a6VpwE5sCRNProXvk86u7RpWQM9)

---

## 许可证

MIT

分类