安装包图标

Duetto

A tiny Discord for two, on your own server: a permanent voice and video channel.
新版本 0.9.18
- While the phone rings the channel stays open: it goes quiet when you answer.
- Notifications name the channel and say the times.
- You choose the other person's name.
- "Leave and become unavailable" is at the top, apart, and asks for confirmation.
- The buttons' sounds have a volume setting; coming in and going out are arpeggios.
- Better colours in the volume strip.
Duetto is a tiny "Discord" made to measure for two people only. It is not an app for calling: it is a permanent channel. Open the app and you are in; if the other person is there too you connect by yourselves, and otherwise you stay reachable and are told the moment they arrive.

Audio and video travel end-to-end encrypted straight between the two phones. The server - yours, or one somebody let you in to - is only there to let you find each other, and cannot read anything. No account, no phone number, no service of anybody's.

- One tap and you are in the channel, and you stay: the app survives the night, the pocket, the change of network.
- Video when you want it, with the quality chosen for both phones.
- The other person can call you back with a sound that gets through even with the ringer down.
- Pairing with an eight-digit code or a QR code held up to the other phone; invitations for whoever is to open connections of their own on your server.
- Silent during a phone call, back when it ends.
- Free software, GPL-3, and a server you run yourself: a small Node.js process and coturn.

You need Android 7 or later, and a server: the README says how to put one up in a quarter of an hour.

版本

尽管下面提供了 APK 安装包的下载选项,但你应该注意,以这种方式安装将不会收到更新通知,这是一种不太安全的下载方式。 我们建议你安装使用 F-Droid 客户端。

下载 F-Droid
  • 版本 0.9.18 (382) 推荐 更新于 2026-09-28

    arm64-v8a

    该版本需要 Android 7.0 及以上版本。

    此包由原始开发者构建并签名,并保证对应于此源代码 tarball。

    权限
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • 连接到已配对的蓝牙设备
      允许该应用连接到已配对的蓝牙设备
    • 拍摄照片和视频
      当你使用此应用时,它可以使用相机拍摄照片和录制视频。
    • 更改网络连接性
      允许此应用更改网络连接状态。
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“camera”类型的前台服务
      允许该应用使用“camera”类型的前台服务
    • 运行“microphone”类型的前台服务
      允许该应用使用“microphone”类型的前台服务
    • 运行“specialUse”类型的前台服务
      允许该应用使用“specialUse”类型的前台服务
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 更改你的音频设置
      允许此应用修改全局音频设置,例如音量和用于输出的扬声器。
    • 显示通知
      允许该应用显示通知
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • 录音
      当你使用此应用时,它可以使用麦克风录音。
    • 请求忽略电池优化
      允许此应用请求忽略针对自身的电池优化的权限。
    • 控制振动
      允许此应用控制振动器。
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • com.duetto.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下载 APK 28 MiB PGP 签名 | 构建日志

  • 新版本 0.9.16
    - A connection goes out as a link: whoever opens it is connected at once; the code waits a day.
    - The app opens on the door, with Enter; a second button goes straight in from then on.
    - The channel opens in the earpiece; at the ear the sound moves there; a headset takes it when it connects.
    - One screen accepts an invitation or a connection: QR, pasted link or code. Each pair remembers its server.
    - Video starts sharp on wifi. Short packets for a lossy network. The journal records loss.
  • 版本 0.9.16 (364) - 更新于 2026-09-22

    arm64-v8a

    该版本需要 Android 7.0 及以上版本。

    此包由原始开发者构建并签名,并保证对应于此源代码 tarball。

    权限
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • 连接到已配对的蓝牙设备
      允许该应用连接到已配对的蓝牙设备
    • 拍摄照片和视频
      当你使用此应用时,它可以使用相机拍摄照片和录制视频。
    • 更改网络连接性
      允许此应用更改网络连接状态。
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“camera”类型的前台服务
      允许该应用使用“camera”类型的前台服务
    • 运行“microphone”类型的前台服务
      允许该应用使用“microphone”类型的前台服务
    • 运行“specialUse”类型的前台服务
      允许该应用使用“specialUse”类型的前台服务
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 更改你的音频设置
      允许此应用修改全局音频设置,例如音量和用于输出的扬声器。
    • 显示通知
      允许该应用显示通知
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • 录音
      当你使用此应用时,它可以使用麦克风录音。
    • 请求忽略电池优化
      允许此应用请求忽略针对自身的电池优化的权限。
    • 控制振动
      允许此应用控制振动器。
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • com.duetto.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下载 APK 28 MiB PGP 签名 | 构建日志

  • 新版本 0.9.15
    The volume you hear is now a strip instead of a line: you can touch it anywhere or drag it. The alert can be made your own, with one of Duetto's sounds or with a sound of the phone. An invitation opened on the phone now opens Duetto, with the server and the code already in place. The invitation written on a beta tester's work item stays open, says until when it works, and makes them a guest of the project. Two phones tell each other which version they are showing.
  • 版本 0.9.15 (352) - 更新于 2026-09-18

    arm64-v8a

    该版本需要 Android 7.0 及以上版本。

    此包由原始开发者构建并签名,并保证对应于此源代码 tarball。

    权限
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • 连接到已配对的蓝牙设备
      允许该应用连接到已配对的蓝牙设备
    • 拍摄照片和视频
      当你使用此应用时,它可以使用相机拍摄照片和录制视频。
    • 更改网络连接性
      允许此应用更改网络连接状态。
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“camera”类型的前台服务
      允许该应用使用“camera”类型的前台服务
    • 运行“microphone”类型的前台服务
      允许该应用使用“microphone”类型的前台服务
    • 运行“specialUse”类型的前台服务
      允许该应用使用“specialUse”类型的前台服务
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 更改你的音频设置
      允许此应用修改全局音频设置,例如音量和用于输出的扬声器。
    • 显示通知
      允许该应用显示通知
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • 录音
      当你使用此应用时,它可以使用麦克风录音。
    • 请求忽略电池优化
      允许此应用请求忽略针对自身的电池优化的权限。
    • 控制振动
      允许此应用控制振动器。
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • com.duetto.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下载 APK 28 MiB PGP 签名 | 构建日志