Soup logo

Soup

Lua 5.5.1 的安全增强发行版 —— 国密 · 契约 · FFI · 沙箱 · 静态类型 · GUI

Lua 5.5.1国密 SM2/3/4契约FFI沙箱静态类型GUIwasm
下载 Soup了解组件
lua 一般使用 luarocks 作为包管理器 · QQ 交流群

组件

Soup 由多个可执行工具与运行时组件组成,右下角角标颜色区分。

S

soupx

解释器

动态链接版,默认推荐。直接运行脚本 / .sar 归档,绿色角标。

S

soup

解释器·静态

单文件自包含,无需外部 dll,青色角标。

S

soupc

编译器

静态类型编译 .sky;.tl/.ssf/.tk 经 orangetl 转译;可加壳打包。蓝色角标。

S

soupc_static

编译器·静态

静态自包含编译器,无外部依赖。

S

soupack

打包器

打包 .sar / 自解压 SFX 可执行文件,一键分发。橙色角标。

S

soupdbg

调试器

源码级调试,支持 .sar 解压调试、断点/单步/栈查看。红色角标。

S

soupwasm

WebAssembly

wasm 模块加载/实例化/调用(cubes 后端)。

功能

国密套件

内嵌 SM2/SM3/SM4-GCM,加解密、签名、密钥协商开箱即用(smx 模块)

契约 & Result

约束声明与校验,Ok/Err 错误传播,可组合、可静态检查

FFI

LuaJIT 风格 load/cdef/cast 调用任意原生库(cffi 模块)

WebAssembly

加载并调用 wasm 模块,多后端(soupwasm / cubes)

安全沙箱

隔离执行不可信代码,限制资源与操作(sandbox 模块)

静态类型

soupc 编译 .sky 静态类型源码,运行期零开销类型检查

原生 GUI

egui 桌面窗口:按钮/表单/布局/中文字体(segui 模块)

多线程

lanes 并发与 linda 通道(可选后端)

网络

LuaSocket 风格 TCP/UDP 连接收发(socket 模块)

事件循环

libuv 事件循环:timer/TCP/UDP/fs/进程(luv 模块)

下载

统一通过 Gitee Release 发布(仓库:https://gitee.com/snoware/soup)。sre.zip 为运行时、sdk.zip 为开发包。

SRE

运行时 SRE

下载 sre.zip

Soup Runtime —— 完整运行时。包含解释器 (soupx / soup) 与全部运行时依赖 dll (smx / cffi / cubes / soupwasm / zstd / egui / soup55b / lib),并含中文字体 (MiSans) 与使用说明 (README.md),解压即用。

  • soupx.exe · 解释器(动态链接,推荐)
  • soup.exe · 解释器(静态自包含)
  • soup55b.dll · 核心运行库
  • smx.dll · 国密 SM2/SM3/SM4-GCM · 契约/Result
  • cffi.dll · FFI 加载原生库
  • cubes.dll · cubes 后端
  • soupwasm.dll · WebAssembly
  • zstd.dll · .sar/.lke 解压
  • egui.dll · 原生 GUI (segui)
  • lib/ · 运行时纯 Lua 库 (std / orangetl)
  • fonts/MiSans VF.ttf · 中文字体(与 sre 一同分发,许可声明见 LICENSE-MiSans.txt)
  • luvi/ + luvit/ · Lua 事件循环运行时(luvi.exe + luvit Lua 层)
  • README.md · 使用说明
SDK

开发包 SDK

下载 sdk.zip

Soup Dev Kit —— 开发工具链。包含编译器 (soupc)、静态库、导入库、头文件、打包器、MiSans 中文字体(与 SDK 一同分发,许可声明见 LICENSE-MiSans.txt)与使用说明 (README.md)。

  • soupc.exe · 编译器 / 静态类型 (.sky;.tl 经内置 Teal/orangetl 转译)
  • soupc_static.exe · 编译器(静态自包含)
  • libsoup.a / soup55.def · C 链接静态库 + 导入库
  • soupdbg.exe · 调试器(支持 .sar 解压调试)
  • headers/ · soup.h / souplib.h / sauxlib.h / soup.hpp
  • soupack.exe · 打包器 (.sar / SFX)
  • fonts/MiSans VF.ttf · 中文字体(与 SDK 一同分发,许可声明见 LICENSE-MiSans.txt)
  • luvi/ + luvit/ · Lua 事件循环运行时(luvi.exe + luvit Lua 层)
  • README.md · 使用说明(含 C 扩展 / .sar 打包 / 字体加载示例)

内置模块

文档

致谢

Soup 开发

S.A. @SOrg::SNOWARE

核心语言

Lua 5.5.1 — R. Ierusalimschy, L. H. de Figueiredo, W. Celes (PUC-Rio)

静态类型

Teal (tl) — labs.eleven.io; orangetl — purplesyringa (Anna K.)

FFI

LuaJIT ffi — Mike Pall;libffi — Anthony Green 等

压缩

zstd — Meta(Facebook)

原生 GUI

egui / eframe / wgpu — Emil Ernerfeldt

多线程 lanes

主要开发者:Benoit Germain(Lua Lanes 项目)。

国密后端

libsmx — 黄鑫泰(字节跳动),SM2/SM3/SM4-GCM 国密套件 Rust 实现

WebAssembly

wasm-micro-runtime (WAMR) — 英特尔与字节码联盟

事件循环

luvit + luvi — luvit 团队(内嵌 libuv / luvi C 运行时)

自研组件

smx(契约)· soupack · c2/cubes — S.A. @SOrg::SNOWARE