← Back to Skills Marketplace
icenoodle

Clash Controller

by LostOmato · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
242
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install openclaw-clash-forwindows-controller
Description
控制 Clash for Windows 代理:启动、关闭、查看状态、切换节点。触发词:Clash、代理、代理开关、开启代理、关闭代理、代理状态、切换节点、Clash for Windows。
Usage Guidance
This skill mostly does what it says (controls Clash via the local REST API) but you should be cautious before installing: - The repository contains a hard-coded API secret. That secret is sent to the local controller; remove or replace it and instead configure the skill to read your actual Clash external-controller secret from the config file or from an environment variable. - SKILL.md mentions starting/stopping the Clash process and reading the config file, but the code does not do process control or file reads — expect only REST API calls. If you need process control, request or review additional code. - Test on a non-production machine first: enable External Controller in Clash, verify the controller host/port/secret, and try the skill locally. - If you do not want any reusable tokens stored in the skill, edit skill.js so it reads the secret from an environment variable (or from the local config) rather than using the baked-in token. - Because the skill communicates with a local service using an auth token, ensure the token in your Clash config is private and the machine is secure; the skill does not appear to exfiltrate data externally, but exposing any token in a public registry is a privacy risk. If you want higher assurance, request the author to remove hard-coded secrets and to document exactly how the skill obtains the correct secret (env var or config path) and whether it requires OS-level process control and how that will be implemented.
Capability Analysis
Type: OpenClaw Skill Name: openclaw-clash-forwindows-controller Version: 1.0.0 The skill bundle is designed to control a local Clash for Windows proxy client via its REST API. The code in `skill.js` performs standard HTTP requests to `127.0.0.1` to toggle proxy settings and list nodes based on user commands. While it contains a hardcoded API secret and references a specific Windows path (`C:\Users\Administrator`), these are functional requirements for interacting with the Clash API and appear to be configuration defaults rather than indicators of malice. No evidence of data exfiltration, remote code execution, or unauthorized system access was found.
Capability Assessment
Purpose & Capability
The name/description and code align on controlling Clash for Windows via the External Controller API (querying status, switching proxies). However the SKILL.md claims 'process control' (start/stop the Clash process) and file-path-based configuration awareness; the provided skill.js does not perform OS-level process management nor does it read the config file — it only calls the local REST API. This mismatch could be benign (documentation drift) but is inconsistent.
Instruction Scope
SKILL.md asks the user to enable Clash's External Controller and points to the config file and secret; runtime code uses only local HTTP calls to 127.0.0.1:61222 and does not read any files or environment variables. The instructions do not direct the agent to access unrelated files or remote endpoints — scope is mostly limited to the local Clash API — but the doc and implementation diverge about reading config or managing the process.
Install Mechanism
There is no install spec and no external downloads. The package is instruction-only with a small skill.js and package.json; it uses only Node's built-in http module. Low install risk.
Credentials
The skill requests no environment variables, yet skill.js contains a hard-coded API secret ('ff62c2da-...') which it sends in an Authorization header to the local controller. SKILL.md refers to a secret in the Clash config but the code ignores the user's config and uses the baked-in token. Embedding a secret in the code is poor practice (exposes the token in the repo/registry) and may cause failed operation or unexpected behavior if the token doesn't match the user's setup.
Persistence & Privilege
The skill does not request persistent or elevated platform privileges, is not always-enabled, does not alter other skills or global agent settings, and makes only local HTTP requests to 127.0.0.1. Autonomous invocation is allowed (default) but is not combined with broad credential access.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install openclaw-clash-forwindows-controller
  3. After installation, invoke the skill by name or use /openclaw-clash-forwindows-controller
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
clash-forwindows-controller v1.0.0 - Initial release of the Clash for Windows Controller skill. - Supports starting, stopping, checking status, and switching nodes for Clash for Windows via REST API. - Recognizes multiple trigger phrases such as "开启代理", "关闭代理", and "切换节点". - Requires Clash for Windows with external controller enabled and default ports configured.
Metadata
Slug openclaw-clash-forwindows-controller
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Clash Controller?

控制 Clash for Windows 代理:启动、关闭、查看状态、切换节点。触发词:Clash、代理、代理开关、开启代理、关闭代理、代理状态、切换节点、Clash for Windows。 It is an AI Agent Skill for Claude Code / OpenClaw, with 242 downloads so far.

How do I install Clash Controller?

Run "/install openclaw-clash-forwindows-controller" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Clash Controller free?

Yes, Clash Controller is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Clash Controller support?

Clash Controller is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Clash Controller?

It is built and maintained by LostOmato (@icenoodle); the current version is v1.0.0.

💬 Comments