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


浙公网安备 33010602011771号