-
支持多种编程语言,可以在配置文件中轻松添加新的语言。
-
支持多个编译器版本——只需使用你喜欢的工具链管理器并在配置文件中设置路径。
-
支持自我测试和最终提交。
-
通过 TOML 配置文件,轻松自定义编译和执行过程。
-
可以监控和限制资源使用。
-
与 SASTOJ 良好兼容。
-
支持 RESTful API、gRPC 和 RabbitMQ,可通过 feature flag 或配置文件启用或禁用。
-
采用服务器发送事件(SSE)或 gRPC 流实时流式返回评测结果。
-
支持使用插件进行扩展。
-
使用 Rust🦀编写,速度极快,安全性高。
-
符合 MSRV 的 Rust 工具链。
-
Linux 内核 >= 4.5
-
这是为了支持 Seccomp BPF。
-
-
对于 gRPC 支持(采用
grpc
feature 控制) -
对于
.deb
包的生成,需要安装了dpkg-dev
和liblzma-dev
的 Debian/Ubuntu 系统。
rsjudge 采取 N - 2 的 MSRV 策略,其中 N 是当前的 Rust 稳定版本。例如,如果当前的 Rust 稳定版本是 1.79,则 MSRV 将会被设置为 1.77。
当前的 MSRV 可以从 Cargo.toml 中的 rust-version
字段中找到。在更新 MSRV 后,我们将不再支持任何比其更旧的 Rust 版本。这些版本可能仍然可以工作,或者无法正确编译或运行 rsjudge。
-
确保
PATH
中包含protoc
>= 3.15,可以从 发布页下载最新版本。-
在 Debian 12, Ubuntu 23.04 或更高版本的系统上,可以使用
apt
安装符合版本要求的protoc
:sudo apt install -y protobuf-compiler libprotobuf-dev protoc --version # libprotoc <VERSION>
-
-
手动安装
buf
。 -
使用
apt
安装打包.deb
需要的软件包:sudo apt install -y dpkg-dev liblzma-dev
sudo apk add lld protoc protobuf-dev
# 安装 `buf` 工具
curl -sSL -o buf \
"https://github.com/bufbuild/buf/releases/download/latest/buf-Linux-$(uname -m)"
# 您可以用自己喜欢的目录替换 `/usr/local/bin`,并确保将其添加到 `PATH` 中。
sudo install -Dm755 buf /usr/local/bin/buf