# @avarok/citadel-protocol-types 中文文档

规范地址：https://npmcn.com/package/%40avarok/citadel-protocol-types/

版本：0\.14\.1
npm 元数据更新时间：2026-02-08T16:57:03.716Z
中文译文更新时间：2026-11-07T07:42:46.661Z
软件包许可：MIT OR Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40avarok/citadel-protocol-types
原文对照：https://npmcn.com/package/%40avarok/citadel-protocol-types/?lang=original
项目主页：https://avarok.net/
源码仓库：https://github.com/Avarok-Cybersecurity/Citadel-Protocol

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：52.7 kB，127 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2025-07-30T17:35:43.502Z
- 最新版本发布：2026-02-08T16:57:03.578Z
- 近 30 天下载量：4070（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 3 个）

## 中文简介

Citadel 协议的脚本类型定义, 自动从 Rust 类型生成

## 安装

```sh
npm install @avarok/citadel-protocol-types
```

也可以使用：`pnpm add @avarok/citadel-protocol-types`、`yarn add @avarok/citadel-protocol-types`、`bun add @avarok/citadel-protocol-types`

## README

# @avarok/citadel-protocol型号

[![npm version](https://badge.fury.io/js/%40avarok%2Fcitadel-protocol-types.svg)](https://www.npmjs.com/package/@avarok/citadel-protocol-types)

Citadel 协议的 TypeScript 类型定义,由 Rust 类型自动生成.

## 安装

```bash
npm install @avarok/citadel-protocol-types
```

## 版本函数

从程序上获取协议和 SDK 版本 :

```typescript
import { protocol_version, sdk_version } from '@avarok/citadel-protocol-types';

console.log(`Protocol version: ${protocol_version()}`);  // e.g., "0.9.0"
console.log(`SDK version: ${sdk_version()}`);            // e.g., "0.14.0"
```

## 使用量

```typescript
import {
  ConnectMode,
  SecurityLevel,
  UserIdentifier,
  MutualPeer,
  CryptoParameters,
  ClientConnectionType,
  PeerConnectionType,
  VirtualConnectionType,
  Error as CitadelError
} from '@avarok/citadel-protocol-types';

// Use the types in your TypeScript code
const peer: MutualPeer = {
  parent_icid: 12345n,
  cid: 67890n,
  username: "alice"
};

const securityLevel: SecurityLevel = "High";

// Connection types for C2S and P2P connections
const c2sConnection: ClientConnectionType = {
  Server: { session_cid: 12345n }
};

const p2pConnection: PeerConnectionType = {
  LocalGroupPeer: { session_cid: 12345n, peer_cid: 67890n }
};
```

## 可用类型

### 版本函数

-   `protocol_version()` - 返回Citadel协议版本
-   `sdk_version()` - 返回Citadel SDK版本

### 用户类型

-   `MutualPeer`
-   `PeerInfo`
-   `UserIdentifier`

### 连接类型

-   `ClientConnectionType` - C2S连接变体(Server,扩展)
-   `PeerConnectionType` - P2P 连接变体( LocalGroupPeer, 外部GroupPeer)
-   `VirtualConnectionType` - 用于路由的统一连接类型

### 协议类型

-   `ConnectMode`
-   `VirtualObjectMetadata`
-   `ObjectId`
-   `ObjectTransferOrientation`
-   `ObjectTransferStatus`
-   `SessionSecuritySettings`
-   `UdpMode`
-   `MemberState`
-   `GroupMemberAlterMode`
-   `MessageGroupOptions`
-   `GroupType`
-   `MessageGroupKey`
-   `TransferType`

### 加密类型

-   `CryptoParameters`
-   `EncryptionAlgorithm`
-   `SecrecyMode`
-   `KemAlgorithm`
-   `SigAlgorithm`
-   `SecurityLevel`
-   `HeaderObfuscatorSettings`
-   `PreSharedKey`

### 错误类型

-   `Error` - Citadel 协议的主要出错类型

## 重生类型

要从 Rust 源头重生类型 :

```bash
cd ../citadel_types
cargo run --bin export_ts --features typescript
```

然后重建 TypeScript 库:

```bash
npm run build
```

## 链接

-   [Citadel 协议 GitHub](https://github.com/Avarok-Cybersecurity/Citadel-Protocol)
-   [阿瓦罗克网络安全](https://avarok.net/)

## 许可证

麻省理工学院或阿帕奇2.0

## 常见问题

### @avarok/citadel-protocol-types 是什么？

Citadel 协议的脚本类型定义, 自动从 Rust 类型生成

### 如何安装 @avarok/citadel-protocol-types？

在项目目录运行 npm install @avarok/citadel-protocol-types，或使用 pnpm add / yarn add / bun add。

### @avarok/citadel-protocol-types 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @avarok/citadel-protocol-types 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @avarok/citadel-protocol-types 可以商用吗？

@avarok/citadel-protocol-types 使用 MIT OR Apache-2\.0 许可。可在 MIT、Apache-2\.0 中任选其一遵守。选择 MIT 时，宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @avarok/citadel-protocol-types 的下载量有多少？

根据 npm 官方下载统计，@avarok/citadel-protocol-types 在 2026/10/07 – 2026/11/05 这 30 天内被下载 4,070 次，日均约 136 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @avarok/citadel-protocol-types 还在维护吗？

最新版本 0\.14\.1 发布于 2026/02/09（8 个月前）；至今共发布 4 个版本，其中过去 12 个月发布了 3 个；首次发布于 2025/07/31。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

