- 受密码保护的WebShell,支持GET/POST执行命令,可选携带session保持工作目录与上下文
- 会话持久化当前工作目录、环境快照、首选shell、命令历史、用户/组、资源探测(CPU/内存/磁盘)与主机元数据(OS/arch/hostname/uname等)
- 前端一页式:命令输入、会话选择/新建、历史会话列表(详情/删除)、文件上传/下载(进度条、可取消)
- 文件上传(multipart,支持指定目标路径)与文件下载(支持中途取消),无大小限制
- API 纯文本/JSON 返回,便于脚本调用
# 启动服务(示例)
./SimpleWebShell -key 123456 -port 8878 -shell /bin/bash
# 浏览器访问
# http://<host>:8878/?key=123456
必须提供 -key。默认 shell 为 /bin/bash(Windows 推荐 cmd),默认端口 8878。
| 参数 |
默认值 |
说明 |
| -key |
(必填) |
访问密码 |
| -shell |
/bin/bash |
执行命令所用 shell 路径 |
| -port |
8878 |
监听端口 |
| 接口 |
方法 |
必要参数 |
说明 |
| / |
GET |
key |
返回前端页面(key 正确)或版本字符串(错误) |
| /get |
GET |
key, cmd,(session) |
执行命令;可选 session 保持目录/上下文 |
| /post |
POST |
key, cmd,(session) |
同上,支持 JSON/Form,session 可选 |
| /get_current_path |
GET |
key,(session) |
返回当前目录;session 可选,未提供则返回服务进程目录 |
| /file_send |
POST |
key |
multipart 上传,字段:file、path(可选) |
| /file_receive |
GET |
key, path |
下载指定文件,支持取消 |
| /session_create |
GET |
key |
新建 session,返回 session key |
| /session_list |
GET |
key |
列出 session(id 与当前目录) |
| /session_delete |
GET |
key, session |
删除指定 session |
| /session_get |
GET |
key, session |
返回 session 详细 JSON |
- 创建时自动探测:Owner/Groups、环境变量快照、首选 Shell、Git 分支、CPU/内存/磁盘容量、hostname/OS/arch/uname 等元数据,探测失败则跳过,不影响使用。
- 会话保存当前工作目录,cd 操作写入会话;命令执行成功后写入 History(限长 200 条)。
- 命令/路径类接口:传入 session 参数即在该会话目录下运行;不传则使用服务进程目录。
- 顶部会话栏:默认不使用session,可勾选“使用session”,点击“新建session”生成并自动启用;列表可查看详情/删除,详情以弹窗展示完整JSON。
- 命令区:输入命令,选择GET/POST(POST可选JSON/Form),回车或点“执行”。
- 上传:选择文件,可填目标全路径(默认当前目录),显示进度,可取消。
- 下载:输入文件全路径,显示进度,可取消。
- 仅供合法授权场景(远程运维/边缘计算热更新等),请妥善保管密码并限制网络可达性。
- 默认未启用HTTPS,如需公网暴露请自行加前置反向代理与访问控制。