Online Compiler
在线编译器简述一款简单的在线编译器后台, 支持c, c++, java, python和javascript, 后续会支持更多语言
原理
使用JNI时加载.so文件限制的执行 编译 和 运行
通过 seccomp限制syscall, 例如clone, fork, write, read, exit_group等
安装建议在docker中使用, 非docker环境中使用中会存在很多syscall限制问题
执行sandbox/src/main/c中的脚本, 生成sandbox.so文件到/usr/lib/sandbox/sandbox.so
后端使用springboot , 通过启动类启动
接口示例Run 提交代码URL: /just/run
Method: POST
Args:
language c = 1, c++ = 2, java = 3, python = 4, javascript = 5
code code
input 运行输入
Request示例:
12345{ "language": 2, "code&q ...