如果给你一个 shell,你可以干什么?

简介:

使用函数计算API 网关做了一个web shell: 随时随地打开一个 shell,用完即走。

screenshot

欢迎大家来玩,项目地址:

architecture

这个项目中我们用到了以下组件:

  1. 使用 nodejs 开发,通过 reactify 生成浏览器代码
  2. 根据用户输入的命令,把请求发送到 API 网关
  3. API 网关把请求发送到后端的函数计算,在函数中执行 shell 命令

函数的代码也非常简单:

'use strict';

var exec = require('child_process');

exports.handler = function(event, context, callback) {
  console.log('event: %s', event.toString());

  var evt = JSON.parse(event.toString());
  var cmd = evt['queryParameters']['cmd'];
  exec.exec(cmd, {}, function(err, stdout, stderr) {
    console.log(stdout, stderr);

    var body = '';
    if (err) {
      body = new Buffer(stderr).toString('base64');
    } else {
      body = new Buffer(stdout).toString('base64');
    }

    var resp = {
      statusCode: 200,
      isBase64Encoded: true,
      body: body,
    };
    callback(null, resp);
  });
};

欢迎大家来体验 serverless 构架的函数计算服务;
也欢迎有兴趣的同学加入一起开发函数计算:

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
172144 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
3月前
|
人工智能 搜索推荐 安全
企业如何搭建AI智能体工作流?从需求输入到人工审核的六层设计
企业落地AI智能体,难点不在调用大模型,而在构建稳定、可复用、可审核的业务流程。本文提出六层工作流模型:需求输入→信息整理→AI处理→人工审核→标准输出→数据复盘,覆盖内容运营、客服、销售等场景,助力个人与企业从“工具使用者”升级为“流程设计者”。(239字)
|
SQL 安全 关系型数据库
数据库安全管理新范式:DBKEEPER一体化数据库权限管控堡垒机解决方案
在数字化时代,数据库安全至关重要。DBKEEPER提供一站式数据库安全访问与权限管控解决方案,支持多种数据库,具备精细化权限管理、数据脱敏、高危操作拦截、全面审计等功能,助力企业实现智能、安全的数据治理,满足金融、医疗、互联网等行业合规需求。选择DBKEEPER,让数据库安全管理更高效!
数据库安全管理新范式:DBKEEPER一体化数据库权限管控堡垒机解决方案
|
运维 数据可视化 开发者
2025年 三个 Docker Compose 可视化管理器测评
本文对比了三款主流的 Docker Compose 可视化管理工具。随着 Docker 的普及,Compose 已成为多容器应用部署的标准,但 YAML 配置复杂、协作困难等问题也日益突出。三款工具各有侧重:Docker Desktop 适合个人本地开发,Portainer 适合小团队运维管理,而 Websoft9 则通过 GitOps 实现了强大的版本控制与团队协作能力。文章从可视化编辑、部署便捷性、版本管理等方面进行评测,为不同使用场景提供了推荐方案,展望了未来 Compose 管理向 GitOps 深度融合的发展趋势。
1567 1
2025年 三个 Docker Compose 可视化管理器测评
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
1996 58
空口资源 | 带你读《5G 空口设计与实践进阶 》之十四
NR对空口物理资源的划分包括 3 个维度,即时域、频域和空域。为了满足各种差异化应用场景的要求,NR 在对“时—频—空”物理资源的管理上,除继承 LTE 的基础外,也进行了大量的革新,包括自适应的波形、更为灵活的帧结构、可配置的参数集、部分带宽等。
空口资源 | 带你读《5G 空口设计与实践进阶 》之十四
pyqt6 绘图案例
本文介绍了三个使用 PyQt6 绘制图形的案例:绘制奥运图片、绘制五角星和绘制时钟。每个案例都提供了详细的代码示例和效果图,帮助读者更好地理解和实现这些图形绘制功能。
|
Shell
[Shell]获取当前正在执行脚本的绝对路径
1. pwd命令 我们看看使用pwd命令能否获取当前正在执行脚本的绝对路径。该命令的作用是“print name of current/working directory”,真实含义是当前工作目录,并不是正在执行脚本的目录。
2523 0
|
机器学习/深度学习 数据采集 存储
阿里云大数据分析师ACP考试内容是什么?需要准备什么?
作为目前市场占比最大的云计算厂商,阿里云旗下的认证也是相当具有含金量的,想通考证来提升自己的职业竞争力,那么选择阿里云的证书准没错了。
|
存储 C语言
C语言函数的返回值
C语言函数的返回值
549 0

热门文章

最新文章