@filteringdev/tinyshield-domain-collection

中文文档
0.0.71发布于 2026/11/14MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 4463

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

中文使用文档
文档目录6 节
  1. 安装
  2. 已发布文件
  3. 更新
  4. 发展
  5. 第一个 npm 发布
  6. 来源和许可证发放

微缩字域集

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

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

安装

npm install @filteringdev/tinyshield-domain-collection

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

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标签边界上的父域.

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.*. 现有数据常数仍然可供兼容:

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

单个 JSON 文件也导出 :

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

已发布文件

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

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

manifest.json 有此形状 :

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.

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 在重新分配数据之前.

版本与发布记录

@filteringdev/tinyshield-domain-collection 共发布 73 个版本,首次发布于 2026/07/22;过去 12 个月发布了 73 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.71latest2026/11/14今天
0.0.702026/11/131 天前
0.0.692026/11/122 天前
0.0.682026/11/113 天前
0.0.672026/11/095 天前
0.0.662026/11/086 天前

其他发布通道:staged → 0.0.0-staged。

关于 @filteringdev/tinyshield-domain-collection 的常见问题

@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 和提交记录判断。