https-everywhere-core:使用纯JavaScript编写的HTTPS Everywhere更加高效的匹配引擎

时间:2024-05-22 03:21:33
【文件属性】:

文件名称:https-everywhere-core:使用纯JavaScript编写的HTTPS Everywhere更加高效的匹配引擎

文件大小:3.86MB

文件格式:ZIP

更新时间:2024-05-22 03:21:33

TypeScript

HTTPS无处不在的核心 该存储库包含HTTPS Everywhere规则的进行中匹配引擎。 其主要目标是提出一种不同的设计,以改善HTTPS Everywhere当前的局限性,例如: 。 。 为此,多年来,我从部署的技术中汲取灵感,开始实施具有匹配逻辑的新引擎。 实验结果在此博客文章中有详细描述: : TL; DR:在本文中,我描述了一个实验的结果,该实验显示了如何在4到10倍的内存效率之间进行HTTPS Everywhere规则匹配,匹配引擎的初始化减少到不到25毫秒,并且在0.0029到0.0073毫秒,使用受现代adblockers启发的不同设计,而无需依赖Rust / WebAssembly组合(即纯JavaScript)。 尽管这仍在进行中,但是该原型已经显示出令人鼓舞的结果,并且比HTTPS Everywhere的当前核心逻辑更好。


【文件预览】:
https-everywhere-core-master
----.gitmodules(110B)
----.mocharc.js(163B)
----background.ts(4KB)
----package.json(3KB)
----tslint.json(310B)
----tools()
--------tsconfig.json(252B)
--------generate-binary-engine.ts(1KB)
--------generate_compression_codebooks.ts(4KB)
--------xml-to-json-rules.ts(4KB)
----.github()
--------workflows()
----test()
--------utils.ts(1KB)
--------rule.test.ts(2KB)
--------compression.test.ts(644B)
--------exclusion.test.ts(2KB)
--------target.test.ts(3KB)
--------https-everywhere.ts(10KB)
--------rulesets.test.ts(2KB)
--------hashes.test.ts(1KB)
--------securecookie.test.ts(3KB)
--------config.test.ts(780B)
----manifest.json(555B)
----rulesets.json(12.51MB)
----icons()
--------icon-b-3.png(1KB)
--------icon-b-4.png(1KB)
--------icon-b-2.png(1KB)
--------icon-b-1.png(1KB)
--------icon-b-0.png(1KB)
--------icon-off.png(1KB)
----package-lock.json(345KB)
----src()
--------rule.ts(2KB)
--------utils.ts(5KB)
--------ruleset.ts(2KB)
--------target.ts(2KB)
--------hashes.ts(5KB)
--------secure-cookie.ts(2KB)
--------codebooks()
--------compression.ts(2KB)
--------url.ts(4KB)
--------test.ts(265B)
--------crc32.ts(1KB)
--------rulesets.ts(8KB)
--------reverse-index.ts(19KB)
--------tokens-buffer.ts(780B)
--------data-view.ts(11KB)
--------exclusion.ts(1KB)
--------config.ts(729B)
----tsconfig.json(376B)
----engine.bin(4.51MB)
----https-everywhere()
----bench()
--------run.ts(4KB)
--------tsconfig.json(64B)
--------.gitignore(14B)
--------Makefile(204B)
----.gitignore(89B)
----README.md(1KB)
----.editorconfig(198B)
----rollup.config.ts(564B)

网友评论