# @filteringdev/tinyshield-domain-collection 中文文档

规范地址：https://npmcn.com/package/%40filteringdev/tinyshield-domain-collection/

版本：0\.0\.71
npm 元数据更新时间：2026-11-14T04:57:34.153Z
中文译文更新时间：2026-11-14T18:04:22.090Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40filteringdev/tinyshield-domain-collection
原文对照：https://npmcn.com/package/%40filteringdev/tinyshield-domain-collection/?lang=original
项目主页：https://github.com/FilteringDev/tinyShield-domain-collection#readme
源码仓库：https://github.com/FilteringDev/tinyShield-domain-collection

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

- 包体积（解压后）：1.4 MB，19 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-07-22T03:56:10.614Z
- 最新版本发布：2026-11-14T04:57:33.770Z
- 近 30 天下载量：4463（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：73（近 12 个月 73 个）

## 中文简介

由微小的Shield参考源生成的决定性域集.

## 安装

```sh
npm install @filteringdev/tinyshield-domain-collection
```

也可以使用：`pnpm add @filteringdev/tinyshield-domain-collection`、`yarn add @filteringdev/tinyshield-domain-collection`、`bun add @filteringdev/tinyshield-domain-collection`

## README

# 微缩字域集

`@filteringdev/tinyshield-domain-collection` 发布对返回域视图的决定性快照 `@filteringdev/tinyshield-lib/references`。 。 。 .

软件包每天生成一次。 新的补丁版本只有在犬目域内容发生变化时才会被发布.

## 安装

```sh
npm install @filteringdev/tinyshield-domain-collection
```

使用软件包入口处的库函数 :

```js
import { getDomainsList, isAllowedToRun } from '@filteringdev/tinyshield-domain-collection'

const domains = getDomainsList()
const allowed = isAllowedToRun(new URL('https://sub.example.com/path'))
```

`getDomainsList()` 返回已排序、通配符扩展的新副本 `Full` 域名列表. `isAllowedToRun()` 使用二进制搜索来匹配精确的URL主机名或DNS标签边界上的父域.

```js
isAllowedToRun(new URL('https://example.com/'))
// true when example.com is listed

isAllowedToRun(new URL('https://deep.a.example.com/'))
// true when example.com is listed

isAllowedToRun(new URL('https://notexample.com/'))
// false when notexample.com is not listed
```

从键入的函数相同 `@filteringdev/tinyshield-domain-collection/lib` 子路径。 {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}小盾应该叫 `getDomainsList()` 仅从其构建器中,所以此数据包不会被捆绑到用户标记中。 Extra 等运行时消费者可以使用 `isAllowedToRun()` 决定小Shield是否应运行一个 URL .

这个 `Full` 列表之所以使用,是因为 `Normal` 可能包含通配符后缀模式,例如 `domain.*`. 现有数据常数仍然可供兼容:

```js
import {
  Normal,
  Full,
  EachDomain,
  EachDomainFull,
  Manifest
} from '@filteringdev/tinyshield-domain-collection'
```

单个 JSON 文件也导出 :

```js
import Normal from '@filteringdev/tinyshield-domain-collection/normal.json' with { type: 'json' }
```

## 已发布文件

| 导出 | JSON 形状 | 说明 |
| --- | --- | --- |
| `normal.json` | `string[]` | 从微小的Shield取取器复制出域图案. |
| `full.json` | `string[]` | 通配符后缀扩展后的图案. |
| `each-domain.json` | `string[][]` | 按可注册域分组的正常模式. |
| `each-domain-full.json` | `string[][]` | 通配符后缀扩展后分组图案. |
| `manifest.json` | 对象 | 斯克马 源包 计数 和可口内容散列. |

每个平面列表,每个组,组列表均由Unicode代码点排序. 所生成的文件不包含时间戳,因此同源内容产生字节换字节相同的输出.

`manifest.json` 有此形状 :

```ts
type DomainCollectionManifest = {
  readonly SchemaVersion: 1
  readonly ContentHash: string
  readonly SourcePackage: '@filteringdev/tinyshield-lib'
  readonly SourcePackageVersion: string
  readonly Counts: {
    readonly Normal: number
    readonly Full: number
    readonly EachDomain: number
    readonly EachDomainFull: number
  }
}
```

`EachDomain` 财务报告和审定财务报表 `EachDomainFull` 数是组数. `ContentHash` 这是一种SHA-256的四条犬域有效载荷的文摘,不包括货包版本和建立时间.

## 更新

预定的工作流程每天于协调世界时00:00运行,也可以手动启动. 它执行这些步骤:

1.  林特和测试发电机.
2.  通过 npm 发布获取活域数据 `@filteringdev/tinyshield-lib`。 。 。 .
3.  用重试下载最新的 npm 软件包,并将其表单与生成的散列进行比较 .
4.  散列不变时退出而不发布 .
5.  仅增加补丁版本,并在内容改变或推广预放时通过npm信任的出版发布.

当最新的npm包是预放时,工作流程将它推广到稳定的版本,即使域散列不变. 当上游请求、重复的 npm 注册查询、 计划验证或构建失败时, 工作流程失败, 不发布 。 减少25%以上 `Normal` 计数也被屏蔽 。 维护者可以审查修改并使用手册 `allow-large-change` 输入允许它.

生成的文件和只使用工作流程的版本更改不承诺给 Git 或标记 .

## 发展

需要节点.js 24和pnpm.

```sh
pnpm install --no-lockfile
npm run lint
npm test
npm run build
npm run pack:check
```

单元测试使用固定装置,不访问网络. `npm run build` 是实时的整合检查,并将公共软件包写到 `dist/`。 。 。 .

## 第一个 npm 发布

信任的发布只能在 npm 上存在软件包后才能配置. 维护者必须公布已核实的 `0.0.1` 软件包曾经使用交互 npm 认证和两个要素认证.

在第一次发布后, 配置 npm 软件包中信任的出版商 :

-   提供者: GitHub 动作
-   组织: `FilteringDev`
-   仓库 : `tinyShield-domain-collection`
-   工作流程文件名 : `publish.yml`
-   允许的行动 : `npm publish`

然后手动运行工作流程以验证OIDC认证. 工作流程需要节点24,npm 11.5.1或更新的,一个由GitHub托管的跑者,以及 `id-token: write`。它不使用长寿 npm 符号。 npm自动为符合条件的公共寄存器发布创建出处.

## 来源和许可证发放

这个寄存器库中的生成器代码是麻省理工学院许可的. 通过第三方来源收集生成的数据 `@filteringdev/tinyshield-lib`这些消息来源保留了自己的条款。 见 [第三次议会 NoTICES.md](https://npmcn.com/package/%40filteringdev/tinyshield-domain-collection/THIRD_PARTY_NOTICES.md) 在重新分配数据之前.

## 常见问题

### @filteringdev/tinyshield-domain-collection 是什么？

由微小的Shield参考源生成的决定性域集\.

### 如何安装 @filteringdev/tinyshield-domain-collection？

在项目目录运行 npm install @filteringdev/tinyshield-domain-collection，或使用 pnpm add / yarn add / bun add。

### @filteringdev/tinyshield-domain-collection 支持 TypeScript 吗？

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

### @filteringdev/tinyshield-domain-collection 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @filteringdev/tinyshield-domain-collection 可以商用吗？

@filteringdev/tinyshield-domain-collection 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @filteringdev/tinyshield-domain-collection 的下载量有多少？

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

### @filteringdev/tinyshield-domain-collection 还在维护吗？

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

