Never_jscore

github:https://github.com/neverl805/never-jscore

@neverlands 我大哥奶味狼基于rust的python的jsV8库。全方面优于传统的execjs,py_mini_racer这些库

先记录一下库的更新情况,后续增加使用案例


更新日志

v2.5.1 (2025-11-30)

  • 🔍 Proxy 日志系统重构
  • 🔧 修复 localStorage 和 sessionStorage 函数方法没有暴露的问题

v2.5.0 (2025-11-30) 🎉 重大更新

  • 🏗️ 全新模块化扩展架构 (参考 rustyscript)
    • Core Extension (src/ext/core/): 核心功能 ($return$exit$storeResult)
    • Hook Extension (src/ext/hook/): Hook 拦截 ($terminate__saveAndTerminate__)
    • 完整集成 Deno 的 Node.js 兼容层,支持 require() 和 npm 包加载。
    • 统一的 ExtensionTrait 接口,易于维护和扩展
    • 支持的功能:
    • ✅ require() 函数
    • ✅ Node.js 内置模块 (path, fs, crypto, buffer, stream, url, util, events 等)
    • ✅ npm 包加载 (jsdom, lodash, crypto-js 等)
    • ✅ __dirname / __filename
    • ✅ process.env / process.cwd()
    • ✅ Buffer 全局对象
    • ✅ package.json exports 字段解析(含子路径)
  • 🛡️ API 保护增强 (src/ext/api_protection.js)
    • 新增 10+ 反检测工具函数
    • makeNative() – 函数显示为原生代码
    • protectConstructor() – 保护构造函数及原型
    • hideDeno() – 隐藏 Deno 特征
    • createNativeProxy() – 创建原生外观代理
    • deepProtect() – 深度对象保护
    • cleanStack() – 清理错误堆栈
    • hideProperty() / freezeProperty() – 属性操作工具
  • 📚 完整文档
    • docs/NEW_EXTENSION_ARCHITECTURE.md – 新架构完整说明
    • 包含实战示例、API 对比、使用场景等
  • ✅ 完整测试覆盖
    • 新增 tests/test_new_extension_system.py
    • 6/6 测试全部通过(Core Extension, Hook Extension, API Protection)
  • 🔄 向后兼容
    • 所有现有 API 完全兼容
    • 自动加载扩展,无需代码修改

v2.4.3 (2025-01-XX) ⭐ 新增

  • 🎯 增强 Hook 拦截系统 – V8 强制终止
    • 新增 __saveAndTerminate__() / $terminate() API
    • 使用 V8 IsolateHandle::terminate_execution()无法被 try-catch 捕获
    • 数据保存到全局静态存储,即使 isolate 终止也能访问
    • Python API: get_hook_data() 和 clear_hook_data()
    • 适用场景:对抗加固代码、绕过 try-catch 防护
  • 📚 新增详细文档
    • docs/TERMINATE_HOOK_GUIDE.md – 完整使用指南(60+ KB)
    • 包含最佳实践、使用场景、常见问题等
  • ✅ 完整测试覆盖
    • 新增 tests/test_terminate_hook.py
    • 6 个测试场景,验证强制终止功能

v2.4.2 (2025-11-17)

  • 🛡️ 增加浏览器环境防检测
    • 隐藏 Deno 特征,所有函数显示为 [native code]
    • 保护 Function.prototype.toString 防止检测
    • 添加 chrome 对象(Chrome 浏览器特征)
  • 🔍 Proxy 日志系统增强
    • $proxy() – 创建代理对象监控属性访问
    • $getProxyLogs() – 获取所有访问日志
    • $proxyGlobal() – 代理全局对象(如 navigatordocument
    • $printProxyLogs() – 格式化打印日志
  • ✨ 新增了专业级的 V8 堆内存分析能力
    • 实时内存监控 – get_heap_statistics() 提供 7 种堆内存指标
    • Chrome DevTools 集成 – take_heap_snapshot() 导出标准快照文件
    • 内存泄漏检测 – 通过快照对比分析内存泄漏

v2.4.0 (2025-11-14)

  • ✨ 新增 Blob 对象,完善 URL 和 URLSearchParams 方法
  • ✨ 新增内置 API __neverjscore_clear_all_timers__() 清除所有定时器
  • 🔧 重构 __neverjscore_return__() Hook 函数实现

v2.3.1 (2025-11-13)

  • ✨ 添加 with never_jscore.Context() as ctx: 上下文管理器
  • ✨ 修复 require() 导入第三方库时的错误
  • ✨ 多线程优化(线程本地 Tokio runtime)
  • 🔧 重构 setInterval/clearInterval 计时器逻辑,修复递归 bug

v2.3.0 (2025-11-12)

  • ✨ 随机数种子控制(random_seed 参数)
  • ✨ 支持 Math.randomcrypto.randomUUIDcrypto.getRandomValues
  • ✨ 多线程优化(线程本地 Tokio runtime)
  • 🔧 WASM 二进制加载修复
  • 🔧 Base64 解码修复
  • 📚 完整的多线程文档

v2.2.2 (2025-11-12)

  • ✨ Hook 拦截 API($return()$exit()__neverjscore_return__()
  • ✨ 提前返回机制(立即终止 JS 执行)
  • 🎯 适用于 Hook 加密函数、拦截请求数据
  • 📚 完整的 Hook 使用文档和示例

v2.2.1 (2025-11-11)

  • ✨ Performance API(performance.nowmarkmeasure
  • 📊 高精度时间测量

v2.2.0 (2025-11-11)

  • ✨ require() – CommonJS 模块系统
  • ✨ fetch() – HTTP 网络请求
  • ✨ localStorage/sessionStorage – 浏览器存储
  • ✨ 浏览器环境对象(navigatorlocationdocument 等)
  • ✨ URL/URLSearchParamsFormData
  • ✨ Event/EventTargetXMLHttpRequest

v2.0.0 (2025-11-05)

  • 🔄 改为 py_mini_racer 风格的实例化 API
  • ✅ 修复 HandleScope 错误
  • ✨ Web API 扩展系统(Crypto、URL 编码、定时器等)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注