跳到正文

Opaque Chat

作者:Hyouka-Oshibi

A mod that add encrypted networking to Minecraft chat

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

Opaque Chat

Opaque Chat is a purely client-side Fabric mod that brings end-to-end encryption to Minecraft chat. Communicate securely with your friends on any server without the server owner, console, or other players understanding a single word out of your chat.

Features

  • End-to-End Encryption: Your messages are secured using ECDH (secp256r1) for secure key exchange and AES-GCM for symmetric message encryption.
  • Secure Group Chats: Create private group chats with Perfect Forward Secrecy and Key Ratcheting to ensure kicked members are mathematically locked out.
  • Seamless GUI Integration: Opaque Chat features a panel built directly into the vanilla Chat screen.
  • Highly Configurable: Customize UI colors, layouts, and server-specific chat cooldowns via Yet Another Config Lib (YACL).
  • Client-Side Only: Opaque Chat works on any server, as long as the server allows standard chat messages to be sent and received.

How It Works

Opaque Chat intercepts incoming and outgoing chat messages prefixed with !oc_.
When you invite a player, the mod performs a silent cryptographic handshake (!oc_req and !oc_key) to exchange public keys over the server’s public chat. Once a shared secret is established, your messages are encrypted (!oc_msg) before they ever leave your client. Server logs will only see base64-encoded strings, while you and your friend see clean, formatted text.

Each key is securely saved in your local config folder and is reused between sessions, meaning you only have to invite a player once!

Dependencies

  • Fabric Loader & Fabric API
  • Yet Another Config Lib
  • ModMenu (Optional, but recommended)

Usage

Opening the Interface

  1. Open your standard Minecraft chat (T by default).
  2. Click the “OC” button in the bottom right corner of the screen to access the Opaque Chat interface.

Starting a Secure Chat

  1. Send an Invite: Click on a player’s name in the GUI and use “Send Invite” (or “Invite Secretly (/msg)” for private whispers), or type /oc invite <player> [secretly] in chat.
  2. Accept an Invite: The receiving player will get a notification. They can click [ACCEPT] in chat, use the GUI “Requests” tab with “Accept Invite” (or “Accept Secretly (/msg)”), or type /oc accept <player> [secretly].

Sending Messages

Once a secure link is established:

  • Select the contact in the Opaque Chat GUI panel and type your message into the “Secure Message” field.
  • Alternatively, use the command /oc msg <player> <message>.

Commands

Opaque Chat operates entirely on the client-side. All commands use the /oc prefix.

General & Configuration

| Command | Description |
| :— | :— |
| /oc help | Displays the in-game help menu with all available commands. |
| /oc config | Opens the visual configuration UI (Requires YACL). |
| /oc reload | Reloads config.json from your disk. |
| /oc delay <ms> | Sets the delay between automated packets for the current server to bypass anti-spam kicks (Default: 5000ms). |

1-on-1 Secure Messaging

| Command | Description |
| :— | :— |
| /oc invite <player> [secretly] | Sends a secure ECC handshake request. Add true (or use /oc invite_secretly) to send via whisper. |
| /oc invite_secretly <player> | Sends a secret ECC handshake request via whisper (!oc_wreq). |
| /oc accept <player> [secretly] | Accepts a handshake request. Add true (or use /oc accept_secretly) to exchange keys via whisper. |
| /oc accept_secretly <player> | Accepts an incoming handshake request secretly via whisper (!oc_wkey). |
| /oc msg <player> <text> | Encrypts and sends a 1-on-1 message using the shared secret. |

Contact & Identity Management

| Command | Description |
| :— | :— |
| /oc contact add <player> [secretly] | An alias for /oc invite <player> [secretly]. |
| /oc contact remove <player>| Deletes a player from your saved contacts list. |
| /oc contact reload | Reloads contacts.json from your disk. |
| /oc identity reset | Generates a new ECC keypair and increments your Key Version. Your contacts will automatically heal and update to your new key the next time you message them. |
| /oc identity reload | Reloads identity.json from your disk. |

Group Chats

Note: The player who creates a group is permanently assigned as the Group Owner.

| Command | Description | Permissions |
| :— | :— | :— |
| /oc group create <name> <members...>| Generates a secure AES key, creates the group, and silently distributes the key to the listed members. | Anyone |
| /oc group invite <name> <player> | Securely invites a new player to an existing group and automatically syncs the roster for all current members. | Owner Only |
| /oc group kick <name> <player> | Kicks a player, generates a new AES key (ratcheting the version number), and securely distributes the new key to the remaining members to guarantee Perfect Forward Secrecy. | Owner Only |

常见问题

Opaque Chat 支持哪些 Minecraft 版本?

Opaque Chat 支持 Minecraft Java 版 1.21.11,可用的加载器:Fabric / Quilt。下载时注意选择和你游戏版本一致的文件。

Opaque Chat 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。

评论

登录后评论和评分

Hyouka-Oshibi 的其他作品

查看全部 →