{"id":37801264,"url":"https://github.com/wgpsec/redc","last_synced_at":"2026-03-16T07:37:02.876Z","repository":{"id":327564160,"uuid":"773585379","full_name":"wgpsec/redc","owner":"wgpsec","description":"Next-generation IaC tools | 下一代基础设施管理工具","archived":false,"fork":false,"pushed_at":"2026-02-27T12:13:50.000Z","size":42465,"stargazers_count":119,"open_issues_count":1,"forks_count":16,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-02-27T14:30:30.730Z","etag":null,"topics":["aliyun","cloud","cybersecurity","iac","iac-terraform","infrastructure","multi-cloud","pentesting","red-team-tools","redteam"],"latest_commit_sha":null,"homepage":"https://redc.wgpsec.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wgpsec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-18T02:42:12.000Z","updated_at":"2026-02-27T12:13:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"9e5b5425-f828-4ffc-9e91-a5286fd2931d","html_url":"https://github.com/wgpsec/redc","commit_stats":null,"previous_names":["wgpsec/redc"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/wgpsec/redc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Fredc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Fredc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Fredc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Fredc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wgpsec","download_url":"https://codeload.github.com/wgpsec/redc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Fredc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29974429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T15:41:30.362Z","status":"ssl_error","status_checked_at":"2026-03-01T15:37:07.343Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aliyun","cloud","cybersecurity","iac","iac-terraform","infrastructure","multi-cloud","pentesting","red-team-tools","redteam"],"created_at":"2026-01-16T15:26:26.949Z","updated_at":"2026-03-16T07:37:02.830Z","avatar_url":"https://github.com/wgpsec.png","language":"Go","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/wgpsec/redc\"\u003e\n    \u003cimg src=\"./img/banner.jpg\" width=\"100%\" alt=\"redc\"\u003e\n  \u003c/a\u003e\n  \u003cp align=\"center\"\u003e\n    Red Team Infrastructure Multi-Cloud Automated Deployment Tool\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n\u003ca href=\"https://github.com/wgpsec/redc/stargazers\"\u003e\u003cimg alt=\"GitHub stars\" src=\"https://img.shields.io/github/stars/wgpsec/redc\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/wgpsec/redc/releases\"\u003e\u003cimg alt=\"GitHub releases\" src=\"https://img.shields.io/github/release/wgpsec/redc\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/wgpsec/redc/blob/main/LICENSE\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/wgpsec/redc/releases\"\u003e\u003cimg alt=\"Downloads\" src=\"https://img.shields.io/github/downloads/wgpsec/redc/total?color=brightgreen\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://goreportcard.com/report/github.com/wgpsec/redc\"\u003e\u003cimg alt=\"Go Report Card\" src=\"https://goreportcard.com/badge/github.com/wgpsec/redc\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://twitter.com/wgpsec\"\u003e\u003cimg alt=\"Twitter\" src=\"https://img.shields.io/twitter/follow/wgpsec?label=Followers\u0026style=social\" /\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ca href=\"https://redc.wgpsec.org/\"\u003e\u003cstrong\u003eExplore More Templates »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr/\u003e\n    \u003cbr /\u003e\n      \u003ca href=\"https://github.com/wgpsec/redc?tab=readme-ov-file#quick-start\"\u003e🧐How to Use\u003c/a\u003e\n      ·\n    \u003ca href=\"https://github.com/wgpsec/redc/releases\"\u003e⬇️Download\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/wgpsec/redc/issues\"\u003e❔Report Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/wgpsec/redc/discussions\"\u003e🍭Request Feature\u003c/a\u003e\n  \u003c/p\u003e\n\n[中文](README_CN.md) | English\n\n---\n\n## Documentation\n\n- **[User Guide](README.md)** - Complete installation and usage guide\n- **[AI Operations Skills](.claude/skills/useage/SKILL.md)** - Comprehensive guide for AI agents and automation tools\n- **[MCP Protocol Support](doc/MCP.md)** - Model Context Protocol integration for AI assistants\n- **[Compose Orchestration Guide](doc/Compose.md)** - Best practices for multi-service orchestration\n- **[Template Repository](https://github.com/wgpsec/redc-template)** - Pre-configured infrastructure templates\n- **[Online Templates](https://redc.wgpsec.org/)** - Browse and download templates\n\n---\n\nRedc is built on Terraform, further simplifying the complete lifecycle (create, configure, destroy) of red team infrastructure.\n\nRedc is not just a machine provisioning tool, but an automated cloud resource scheduler!\n\n- **One-command deployment**, from purchasing machines to running services, fully automated without manual intervention\n- **Multi-cloud support**, compatible with Alibaba Cloud, Tencent Cloud, AWS and other mainstream cloud providers\n- **Pre-configured scenarios**, red team environment ready-to-use templates, no more hunting for resources\n- **State resource management**, locally saves resource state, destroy environments anytime, eliminate wasted resource costs\n\n---\n\n## GUI Features\n\nThe redc GUI provides a comprehensive graphical management interface covering the entire workflow from deployment to operations.\n\n### 📊 Dashboard\n\n- Scenario statistics (total/running/stopped/error)\n- Network diagnostics (Terraform endpoint connectivity)\n- Account balance and monthly bill queries\n- Recent AI conversations, recent tasks, MCP status\n- Quick navigation links\n\n![gui](./img/gui_en.png)\n\n**Pre-configured Scenarios**\n\n![gui2](./img/gui2.png)\n\n### 🤖 AI Chat\n\nMulti-turn conversational AI assistant with 7 modes:\n\n- **Free Chat** — General Q\u0026A\n- **Agent** — Autonomously calls tools to complete complex tasks (create scenarios, execute commands, analyze status)\n- **Deploy Assistant** — Describe your needs in one sentence, AI deploys automatically and returns results\n- **Template Generation** — Generate Terraform templates from requirements\n- **Scenario Recommendation** — Recommend optimal scenario plans based on objectives\n- **Cost Optimization** — Analyze current resource usage and provide cost-saving suggestions\n- **Error Analysis** — Paste error logs, AI analyzes causes and provides fixes\n\nSupports streaming output, tool call visualization, ask_user human-in-the-loop decisions, conversation history persistence, and chat export.\n\n**Automated Attack Testing with Security Tools**\n\n\u003e Launch an AWS instance with nuclei installed, then scan a dedicated vulnerability testing site http://testfire.net/\n\n![ai1](./img/ai1.png)\n\n![ai2](./img/ai2.png)\n\n**Multi-Region + Compose Orchestration**\n\n\u003e Spin up 2 proxy pool machines on both Aliyun and AWS, then generate a Clash config for me\n\n![proxy1](./img/proxy1.png)\n\n![proxy2](./img/proxy2.png)\n\n![proxy3](./img/proxy3.png)\n\n![proxy4](./img/proxy4.png)\n\n**Zero-Friction Vulnerability Reproduction Environment**\n\n\u003e Deploy a vulhub CVE-2017-7504 vulnerability testing environment, enable SSH access and send me the credentials.\n\n![vulhub1](./img/vulhub1.png)\n\n![vulhub2](./img/vulhub2.png)\n\n![vulhub3](./img/vulhub3.png)\n\n### 💻 SSH Terminal\n\nBuilt-in multi-session SSH terminal manager:\n\n- Multi-tab management for multiple SSH connections\n- One-click SSH from scenario instances (multi-instance selection support)\n- Manual connection to external hosts\n- Command snippet quick input\n- File manager (upload/download/browse)\n- Port forwarding management\n\n![ssh1](./img/ssh1.png)\n\n![ssh2](./img/ssh2.png)\n\n### 🛒 Software Store\n\nOne-stop tool installation platform based on [f8x](https://github.com/ffffffff0x/f8x):\n\n- 80+ pentest/dev/ops tools with category browsing\n- Keyword search, batch selection install\n- Quick presets (Full Pentest/Dev Environment/Blue Team/C2 Setup, etc.)\n- Install via SSH terminal with interactive support\n- Online catalog auto-sync (dynamically loaded from f8x repository)\n- Installation history and status tracking\n\n![f8x](./img/f8x.png)\n\n### ⏰ Task Center\n\nScheduled task management:\n\n- Schedule scenario start/stop\n- Schedule SSH command execution\n- Repeat types: once/daily/weekly/interval\n- Task execution history\n\n![cron](./img/cron.png)\n\n### 🧠 Agent Memory\n\nAI Agent automatically remembers operational experience and user preferences, persisted across conversations. Manageable via the Agent Memory page.\n\n### 🌐 Web Service\n\nBuilt-in HTTP API service for remote management:\n\n- Admin/Operator/Viewer three-tier role control\n- Operation audit logs\n- Token authentication\n\n![web](./img/web.png)\n\n### 🔌 Plugin System\n\nSupports scenario lifecycle hook plugins that automatically execute custom logic on scenario start/stop.\n\n---\n\n## GUI Development \u0026 Debugging\n\nThe redc GUI is built with Wails + Svelte + Vite.\n\n### Prerequisites\n\n1. Install Go (recommended 1.21+)\n2. Install Node.js (recommended 18+)\n3. Install Wails CLI\n\n```bash\ngo install github.com/wailsapp/wails/v2/cmd/wails@latest\n```\n\n### Start Dev Mode\n\nFrom the project root:\n\n```bash\nwails dev\n```\n\nTroubleshooting:\n\n- Frontend deps missing: run `npm install` in [frontend/](frontend/)\n- HMR issues: delete [frontend/node_modules](frontend/node_modules) and reinstall\n\n---\n\n## GUI Build \u0026 Release\n\nFrom the project root:\n\n```bash\nwails build\n\n# windows\nwails build -platform windows/amd64\n\n# linux\nwails build -platform linux/amd64\n```\n\nArtifacts are output to [build/bin](build/bin).\n\n\u003e The GUI version is currently available for download from [releases](https://github.com/wgpsec/redc/releases).\n\nFor platform/arch options, see Wails docs:\nhttps://wails.io/docs/guides/building/\n\n---\n\n## CLI Installation and Configuration\n\n### redc Engine Installation\n#### Download Binary Package\n\nREDC download address: https://github.com/wgpsec/redc/releases\n\nDownload the compressed file for your system, extract it and run it from the command line.\n\n#### HomeBrew Installation (WIP)\n\n**Install**\n\n```bash\nbrew install wgpsec/tap/redc\n```\n\n**Update**\n\n```bash\nbrew update\nbrew upgrade redc\n```\n\n#### Build from Source\n\n**goreleaser**\n```bash\ngit clone https://github.com/wgpsec/redc.git\ncd redc\ngoreleaser --snapshot --clean\n\n# Build artifacts are generated under the dist directory\n```\n\n### Template Selection\n\nBy default, redc reads the template folder at `~/redc/redc-templates`; the folder name is the scenario name when deploying.\n\nYou can download template scenarios yourself; scenario names correspond to the template repository https://github.com/wgpsec/redc-template\n\nOnline address: https://redc.wgpsec.org/\n\n```bash\nredc pull aliyun/ecs\n```\n\n![redc pull](./img/image9.png)\n\nFor specific usage and commands for each scenario, please check the readme of the specific scenario in the template repository https://github.com/wgpsec/redc-template\n\n### Engine Configuration File\n\nredc needs AK/SK credentials to start machines.\n\nBy default, redc reads the config.yaml configuration file from your home directory at `~/redc/config.yaml`. Create it if missing:\n```\nvim ~/redc/config.yaml\n```\n\nExample content:\n```yaml\n# Multi-cloud credentials and default regions\nproviders:\n  aws:\n    AWS_ACCESS_KEY_ID: \"AKIDXXXXXXXXXXXXXXXX\"\n    AWS_SECRET_ACCESS_KEY: \"WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\"\n    region: \"us-east-1\"\n  aliyun:\n    ALICLOUD_ACCESS_KEY: \"AKIDXXXXXXXXXXXXXXXX\"\n    ALICLOUD_SECRET_KEY: \"WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\"\n    region: \"cn-hangzhou\"\n  tencentcloud:\n    TENCENTCLOUD_SECRET_ID: \"AKIDXXXXXXXXXXXXXXXX\"\n    TENCENTCLOUD_SECRET_KEY: \"WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\"\n    region: \"ap-guangzhou\"\n  volcengine:\n    VOLCENGINE_ACCESS_KEY: \"AKIDXXXXXXXXXXXXXXXX\"\n    VOLCENGINE_SECRET_KEY: \"WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\"\n    region: \"cn-beijing\"\n  huaweicloud:\n    HUAWEICLOUD_ACCESS_KEY: \"AKIDXXXXXXXXXXXXXXXX\"\n    HUAWEICLOUD_SECRET_KEY: \"WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\"\n    region: \"cn-north-4\"\n  google:\n    GOOGLE_CREDENTIALS: '{\"type\":\"service_account\",\"project_id\":\"your-project\",...}'\n    project: \"your-project-id\"\n    region: \"us-central1\"\n  azure:\n    ARM_CLIENT_ID: \"00000000-0000-0000-0000-000000000000\"\n    ARM_CLIENT_SECRET: \"your-client-secret\"\n    ARM_SUBSCRIPTION_ID: \"00000000-0000-0000-0000-000000000000\"\n    ARM_TENANT_ID: \"00000000-0000-0000-0000-000000000000\"\n  oracle:\n    OCI_CLI_USER: \"ocid1.user.oc1..aaaaaaa...\"\n    OCI_CLI_TENANCY: \"ocid1.tenancy.oc1..aaaaaaa...\"\n    OCI_CLI_FINGERPRINT: \"aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99\"\n    OCI_CLI_KEY_FILE: \"~/.oci/oci_api_key.pem\"\n    OCI_CLI_REGION: \"us-ashburn-1\"\n  cloudflare:\n    CF_EMAIL: \"you@example.com\"\n    CF_API_KEY: \"your-cloudflare-api-key\"\n```\n\nIf the configuration file fails to load, it will attempt to read system environment variables, please configure them before use.\n\n**AWS environment variables**\n- Docs: https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html\n\nLinux/macOS example:\n```bash\nexport AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE\nexport AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\n```\n\nWindows example:\n```powershell\nsetx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE\nsetx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\n```\n\n**Alibaba Cloud environment variables**\n- Docs: https://help.aliyun.com/zh/terraform/terraform-authentication\n\nLinux/macOS example (use a shell init file like .bash_profile or .zshrc to persist):\n```bash\nexport ALICLOUD_ACCESS_KEY=\"\u003cAccessKey ID\u003e\"\nexport ALICLOUD_SECRET_KEY=\"\u003cAccessKey Secret\u003e\"\n# If you use STS credentials, also set security_token\nexport ALICLOUD_SECURITY_TOKEN=\"\u003cSTS Token\u003e\"\n```\n\nWindows example:\n```\nIn System Properties \u003e Advanced \u003e Environment Variables, add ALICLOUD_ACCESS_KEY, ALICLOUD_SECRET_KEY, and ALICLOUD_SECURITY_TOKEN (optional).\n```\n\n**Tencent Cloud environment variables**\n- Docs: https://cloud.tencent.com/document/product/1278/85305\n\nLinux/macOS example:\n```bash\nexport TENCENTCLOUD_SECRET_ID=\u003cYourSecretId\u003e\nexport TENCENTCLOUD_SECRET_KEY=\u003cYourSecretKey\u003e\n```\n\nWindows example:\n```powershell\nset TENCENTCLOUD_SECRET_ID=\u003cYourSecretId\u003e\nset TENCENTCLOUD_SECRET_KEY=\u003cYourSecretKey\u003e\n```\n\n**Volcengine environment variables**\n- Docs: https://www.volcengine.com/docs/6291/65568\n\nLinux/macOS example:\n```bash\nexport VOLCENGINE_ACCESS_KEY=\u003cYourAccessKey\u003e\nexport VOLCENGINE_SECRET_KEY=\u003cYourSecretKey\u003e\n```\n\nWindows example:\n```powershell\nset VOLCENGINE_ACCESS_KEY=\u003cYourAccessKey\u003e\nset VOLCENGINE_SECRET_KEY=\u003cYourSecretKey\u003e\n```\n\n---\n\n## Quick Start\n\nredc is designed with Docker-like commands\n\nUse `redc -h` to view common command help\n\n**Initialize Template**\n\nRequired for first-time use of templates. To speed up template deployment, it's recommended to run init after modifying `redc-templates` content to speed up subsequent deployments\n\n````bash\nredc init\n````\n\n![Default init effect](./img/image.png)\n\nBy default, init sweeps all scenarios under `~/redc/redc-templates` to warm the Terraform provider cache.\n\n**List Template List**\n\n```bash\nredc image ls\n```\n\n![redc image ls](./img/image10.png)\n\n**Create and Start Instance**\n\necs is the template file name\n\n````bash\nredc plan --name boring_sheep_ecs  [template_name] # Plan an instance (this process validates the configuration but doesn't create infrastructure)\n# After plan completes, it returns a caseid which can be used with the start command to actually create infrastructure\nredc start [caseid]\nredc start [casename]\n````\n\nDirectly plan and start a case with template name ecs\n\n```\nredc run aliyun/ecs\n```\n\n![redc run aliyun/ecs](./img/image11.png)\n\n\u003e After starting, it will provide a case id, which is the unique identifier for the scenario, required for subsequent operations\n\u003e For example, 8a57078ee8567cf2459a0358bc27e534cb87c8a02eadc637ce8335046c16cb3c can use 8a57078ee856 with the same effect\n\nUse `-e` parameter to configure variables\n\n```\nredc run -e xxx=xxx ecs\n```\n\nStop instance\n\n````bash\nredc stop [caseid] # Stop instance\nredc rm [caseid] # Delete instance (confirm the instance is stopped before deleting)\nredc kill [caseid] # After init template, stop and delete instance\n````\n\n![redc stop [caseid]](./img/image7.png)\n\n**View case status**\n\n````\nredc ps\n````\n\n![redc ps](./img/image8.png)\n\n**Execute commands**\n\nDirectly execute command and return result\n\n````\nredc exec [caseid] whoami\n````\n\n![redc exec [caseid] whoami](./img/image3.png)\n\nEnter interactive command mode\n\n````\nredc exec -t [caseid] bash\n````\n\n![redc exec -t [caseid] bash](./img/image4.png)\n\nCopy files to server\n\n```\nredc cp test.txt [caseid]:/root/\n```\n\n![redc cp test.txt [caseid]:/root/](./img/image5.png)\n\nDownload files to local\n\n```\nredc cp [caseid]:/root/test.txt ./\n```\n\n![redc cp [caseid]:/root/test.txt ./](./img/image6.png)\n\n**Change service**\n\nThis requires template support for changes, can switch elastic public IP\n\n````\nredc change [caseid]\n````\n\n## JSON Output\n\nAll CLI commands support `--output json` (short form `-o json`), producing structured JSON output for scripting and automation.\n\n**Basic Usage**\n\n```bash\n# List all cases in JSON format\nredc ps -o json\n\n# Start a case and get structured result\nredc run aliyun/ecs --output json\n\n# Check case status\nredc status [caseid] -o json\n\n# Search templates\nredc search aliyun -o json\n\n# List local templates\nredc image ls -o json\n```\n\n**Output Format**\n\nOn success:\n```json\n{\"data\": { ... }}\n```\n\nOn error:\n```json\n{\"error\": \"error message\"}\n```\n\n**Scripting Examples**\n\n```bash\n# Start a case and extract the case id\nCASE_ID=$(redc run aliyun/ecs -o json | jq -r '.data.id')\n\n# Query case output information\nredc status $CASE_ID -o json | jq '.data.outputs'\n\n# Batch stop all running cases\nredc ps -o json | jq -r '.data[] | select(.state==\"running\") | .id' | xargs -I{} redc stop {}\n```\n\n\u003e In JSON mode, all log output is suppressed — only a single line of JSON is written to stdout. Default text output behavior is unaffected.\n\n---\n\n## MCP (Model Context Protocol) Support\n\nredc now supports the Model Context Protocol, enabling seamless integration with AI assistants and automation tools.\n\n### Key Features\n\n- **Two Transport Modes**: STDIO for local integration and SSE for web-based access\n- **Comprehensive Tools**: Create, manage, and execute commands on infrastructure\n- **AI-Friendly**: Works with Claude Desktop, custom AI tools, and automation platforms\n- **Secure**: STDIO runs locally with no network exposure; SSE can be restricted to localhost\n\n### Quick Start\n\n**Start STDIO Server** (for Claude Desktop integration):\n```bash\nredc mcp stdio\n```\n\n**Start SSE Server** (for web-based clients):\n```bash\n# Default (localhost:8080)\nredc mcp sse\n\n# Custom port\nredc mcp sse localhost:9000\n```\n\n### Available Tools\n\n- `list_templates` - List all available templates\n- `list_cases` - List all cases in the project\n- `plan_case` - Plan a new case from template (preview resources without creating)\n- `start_case` / `stop_case` / `kill_case` - Manage case lifecycle\n- `get_case_status` - Check case status\n- `exec_command` - Execute commands on cases\n\n### Example: Integrate with Chrerry stdio\n\nTaking Chrerry stdio as an example, simply fill in http://localhost:9000/sse to get the tool information\n\n![mcp](./img/image12.png)\n\nUsage examples:\n- Test\n\n  ![Test](./img/image13.png)\n\n- Start machine\n\n  ![Start machine](./img/image14.png)\n\n- Execute command\n\n  ![Execute command](./img/image15.png)\n\n- Stop machine\n\n  ![Stop machine](./img/image16.png)\n\n### Example: Integrate with Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n```json\n{\n  \"mcpServers\": {\n    \"redc\": {\n      \"command\": \"/path/to/redc\",\n      \"args\": [\"mcp\", \"stdio\"]\n    }\n  }\n}\n```\n\nFor detailed documentation, see **[MCP.md](doc/MCP.md)**.\n\n---\n\n## Compose Orchestration Service\n\nredc provides an orchestration service that allows you to manage multiple cloud service instances simultaneously through YAML configuration files, enabling complex infrastructure deployments.\n\n### Quick Start\n\n**Configuration File Example** ([Full Example](doc/redc-compose.yaml))\n\n```yaml\nversion: \"3.9\"\n\n# Service definitions\nservices:\n  # Alibaba Cloud ECS instance\n  aliyun_server:\n    image: aliyun/ecs\n    container_name: my_aliyun_ecs\n    command: |\n      echo \"Alibaba Cloud ECS initialized\"\n      uptime\n  \n  # Volcengine ECS instance\n  volcengine_server:\n    image: volcengine/ecs\n    container_name: my_volcengine_ecs\n    command: |\n      echo \"Volcengine ECS initialized\"\n      uptime\n\n# Post-deployment tasks\nsetup:\n  - name: \"Check Alibaba Cloud instance\"\n    service: aliyun_server\n    command: hostname \u0026\u0026 ip addr show\n\n  - name: \"Check Volcengine instance\"\n    service: volcengine_server\n    command: hostname \u0026\u0026 ip addr show\n```\n\n**Common Commands**\n\n```bash\n# Preview configuration\nredc compose config redc-compose.yaml\n\n# Start orchestration\nredc compose up redc-compose.yaml\n\n# Stop orchestration\nredc compose down redc-compose.yaml\n```\n\n**Detailed Documentation**\n\nFor complete usage guide, advanced features, and best practices, see **[Compose Orchestration Guide](doc/Compose.md)**.\n\n---\n\n## Configure Cache and Acceleration\n\nConfigure cache address only:\n\n```bash\necho 'plugin_cache_dir = \"$HOME/.terraform.d/plugin-cache\"' \u003e ~/.terraformrc\n```\n\nConfigure Alibaba Cloud acceleration, modify `~/.terraformrc` file\n\n```\nplugin_cache_dir  = \"$HOME/.terraform.d/plugin-cache\"\ndisable_checkpoint = true\nprovider_installation {\n  network_mirror {\n    url = \"https://mirrors.aliyun.com/terraform/\"\n    # Restrict only Alibaba Cloud related Providers to download from domestic mirror source\n    include = [\"registry.terraform.io/aliyun/alicloud\",\n               \"registry.terraform.io/hashicorp/alicloud\",\n              ]\n  }\n  direct {\n    # Declare that except for Alibaba Cloud related Providers, other Providers keep original download link\n    exclude = [\"registry.terraform.io/aliyun/alicloud\",\n               \"registry.terraform.io/hashicorp/alicloud\",\n              ]\n  }\n}\n```\n\n---\n\n## Design Plan\n\n1. Create a new project first\n2. Creating a scenario under a specified project will copy a scenario folder from the scenario library to the project folder\n3. Creating the same scenario under different projects will not interfere with each other\n4. Creating the same scenario under the same project will not interfere with each other\n5. Multiple user operations will not interfere with each other (local authentication is done, but this should actually be done on the platform)\n\n- redc configuration file (`~/redc/config.yaml`)\n- Project1 (./project1)\n    - Scenario1 (./project1/[uuid1])\n        - main.tf\n        - version.tf\n        - output.tf\n    - Scenario2 (./project1/[uuid2])\n        - main.tf\n        - version.tf\n        - output.tf\n    - Project status file (project.ini)\n- Project2 (./project2)\n    - Scenario1 (./project2/[uuid1])\n        - main.tf\n        - version.tf\n        - output.tf\n    - Scenario2 (./project2/[uuid2])\n        - ...\n    - Project status file (project.ini)\n- Project3 (./project3)\n    - ...\n\n## Article Introduction\n\n- https://mp.weixin.qq.com/s/JH-IlL_GFgZp3xXeOFzZeQ\n\n## FAQ\n\n### macOS Installation Issues\n\nWhen using the compiled app package, you may encounter the following issues:\n- \"xxx is damaged and can't be opened. You should move it to the Trash.\"\n- \"Cannot open xxx because Apple cannot check it for malicious software.\"\n- \"Cannot open xxx because it is from an unidentified developer.\"\n\nmacOS has a GateKeeper protection mechanism. Files downloaded from the internet are automatically tagged with the `com.apple.quarantine` attribute, which can be understood as \"quarantine isolation.\" The system applies restrictions to the file based on this attribute.\n\nAs macOS versions evolve, the restrictions on `com.apple.quarantine` have become increasingly strict. In newer versions of macOS, you may see aggressive warnings like \"image damaged\" or \"application damaged.\"\n\nYou can resolve this issue by manually removing the quarantine attribute. Execute the following command:\n\n```\nsudo xattr -r -d com.apple.quarantine /Applications/redc-gui.app\n```\n","funding_links":[],"categories":["Tools"],"sub_categories":["Community providers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgpsec%2Fredc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwgpsec%2Fredc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgpsec%2Fredc/lists"}