Script-Server 脚本Web化管理工具​​

1.Script-Server介绍

1.1 核心定位​​

Script-Server 是一个轻量级开源工具,为命令行脚本(如 Python/Shell)提供直观的 ​​Web 操作界面​​。管理员无需修改脚本代码,通过简单配置即可将脚本转化为安全的 Web 应用,使非技术人员也能通过浏览器执行脚本任务。

1.2 核心功能​​

1.脚本参数可视化​​
自动生成包含文本输入、下拉菜单、开关、文件上传等控件的 Web 表单,支持参数验证(如正则表达式、必填项)。

2.实时交互与输出​​
用户可实时查看脚本执行日志(支持 ANSI 颜色、光标定位等格式化输出),并在脚本运行时动态输入数据。

3.权限与审计​​
支持 LDAP、Google OAuth、htpasswd 等多种认证方式,可细粒度控制脚本访问权限(如限定用户/用户组)。
所有操作记录保存至日志文件(格式:{脚本名}_{用户IP}_{时间}.log),便于审计追踪。

4.安全防护​​
用户输入参数直接传递至脚本(非命令拼接),防范 Shell 注入攻击(Linux 全支持,Windows 部分支持)。
支持 XSRF 防护令牌(v1.17+),降低跨站攻击风险。

1.3 技术架构​​

​​服务端​​:基于 Python 3.5+ 和 ​​Tornado 异步框架​​,支持 Linux(主平台)、Windows、macOS。
​​客户端​​:现代浏览器(Chrome/Firefox/Edge)即可操作,无需额外插件。

1.4 典型应用场景​​

1.IT 运维​​:为非技术人员提供服务器监控、日志清理等脚本的 Web 入口。

2.数据分析​​:分析师上传 CSV 文件并选择处理模式,网页下载结果报表。

3.教育培训​​:学生通过浏览器运行编程示例,实时查看输出。

4.自动化测试​​:测试团队统一管理测试脚本,生成带参数的可复用测试套件。

2.script-server下载地址

  • github地址
https://github.com/bugy/script-server
  • docker镜像地址
https://hub.docker.com/r/bugy/script-server

3.script-server 部署

3.1 创建基础部署目录

mkdir /data/script-server

3.2 下载script-server包,获取conf目录映射docker容器

https://github.com/bugy/script-server/releases/download/1.18.0/script-server.zip

3.3 解压script-server.zip,拷贝conf目录到 /data/script-server/下

cp -rf conf /data/script-server

3.4 创建docker-compose.yaml文件

# cat docker-compose.yaml 
version: '3.8'  
services:
  script-server:
    image: bugy/script-server:latest
    container_name: script-server
    ports:
      - "25000:5000"  # 端口映射(宿主机:容器)
    volumes:
      - //data/script-server/conf/logging.json:/app/conf/logging.json  # 配置文件挂载(单文件)
      - /data/script-server/conf/runners/:/app/conf/runners  # 运行器配置目录挂载
      - /data/script-server/scripts/:/app/scripts/  # 脚本目录挂载
    restart: unless-stopped
    privileged: true # 特权模式,否则启动失败

3.5 运行script-server

docker-compose up -d

4.访问web

http://172.16.4.81:25000

image

 

posted @ 2025-08-16 15:13  Leonardo-li  阅读(128)  评论(0)    收藏  举报