Terminal_tool / app.py
Samiran757's picture
Update app.py
398a327 verified
Raw
History Blame Contribute Delete
954 Bytes
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
import subprocess
app = FastAPI()
@app.get("/")
def root():
return {"status": "ok", "message": "Terminal API is running"}
@app.post("/terminal")
async def run_terminal(req: Request):
data = await req.json()
cmd = data.get("cmd")
if not cmd:
return JSONResponse(
status_code=400,
content={"error": "cmd field is required"}
)
try:
result = subprocess.run(
cmd,
shell=True,
capture_output=True,
text=True,
timeout=1000000000
)
return {
"command": cmd,
"stdout": result.stdout,
"stderr": result.stderr,
"returncode": result.returncode
}
except Exception as e:
return JSONResponse(
status_code=500,
content={"error": str(e)}
)