通用远程执行js代码

github地址

https://github.com/ice-a/remote_run_js_code

Remote JavaScript Code Runner

这是一个用于远程执行JavaScript代码的后端服务。

功能特点

  • 远程执行JavaScript代码
  • 安全的代码执行环境(使用vm2)
  • RESTful API接口
  • 支持文件上传

安装步骤

  1. 克隆项目:

    git clone [repository-url]
    cd remote_run_js_code
    
  2. 安装依赖:

    npm install
    

使用方法

开发环境

npm run dev

生产环境

npm start

Docker部署

docker build -t remote-js-runner .
docker run -p 3000:3000 remote-js-runner

项目结构

├── server.js          # 主服务器文件
├── public/            # 静态文件
├── uploads/           # 上传文件目录
└── package.json       # 项目配置文件

依赖项

  • express: Web服务器框架
  • multer: 文件上传中间件
  • vm2: 安全的代码执行环境
  • nodemon: 开发环境自动重启(dev依赖)

API接口

1. 上传文件执行

  • 端点:POST /execute
  • 参数:文件上传,字段名为file
  • 返回:{"result": 执行结果}{"error": "错误信息"}

2. 直接执行代码

  • 端点:POST /execute-code
  • 参数:JSON格式 {"code": "JavaScript代码字符串"}
  • 返回:{"result": 执行结果}{"error": "错误信息"}

Python调用示例

examples/python_client.py中提供了完整的Python调用示例代码,包括:

  • 通过代码字符串执行JavaScript
  • 通过文件上传执行JavaScript

使用前请确保安装了requests库:

pip install requests

执行结果

执行结果

测试代码示例

以下是一个简单的测试代码示例:

// 筛选数组中的元素
function solution(arr) {
    let answer = []
    let min = 1;
    return answer = arr.filter((v) => v !== min);
}

solution([4,9,2,22])

执行结果:

在这里插入图片描述

注意事项

  • 确保Node.js版本 >= 18.0.0
  • 生产环境部署时注意配置安全策略
  • 建议设置代码执行超时限制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值