Skip to content

v0.3.0

Latest

Choose a tag to compare

@M09Ic M09Ic released this 11 Jun 17:45
· 1 commit to master since this release

proton v0.3.0

proton 从文件扫描工具重构为纯匹配引擎 SDK。所有数据采集、CLI、Runner 等高级功能已迁移至 found

Breaking Changes

  • 移除 Scanner.Scan() — 不再内置目录遍历
  • 移除 ProcessFile() — 替换为 ReadFile() + ScanData()
  • 移除 CLI 入口、pkg/runner/sysinfo/(迁移至 found)
  • FFI 移除内置模板,ProtonNewScanner 改为 path-based
  • template.Execute 切换到 Scanner 后端

SDK API

接口 模式 用途
ScanData([]byte, label, group) 一次性,按行 文本匹配
ScanBlock([]byte, label, group) 一次性,滑动窗口 二进制匹配
NewLineWriter(label, cb) 流式 io.WriteCloser 持续文本流
NewBlockWriter(label, cb) 流式 io.WriteCloser 持续二进制流
ReadFile(path, group) 文件读取 返回 []FileContent

三层匹配管线

prefilter (bytes.Contains) → Aho-Corasick DFA → RE2 regex

FFI (C ABI)

int    ProtonNewScanner(const char* templatePath);
char*  ProtonScanData(int handle, const void* data, int len, const char* label);
char*  ProtonScanBlock(int handle, const void* data, int len, const char* label);
void   ProtonFreeScanner(int handle);
void   ProtonFreeString(char* s);

支持 Python/Rust/C/C++ 等任何 C FFI 语言集成。

Template API

tmpl.Compile(opts)
tmpl.Execute(path)          // 文件扫描
tmpl.ScanData(data, label)  // 文本匹配
tmpl.ScanBlock(data, label) // 二进制匹配