LOCAL-FIRST NETWORK TOOL
Nodes in.
Clash config out.
Paste VMess, VLESS, Trojan, Shadowsocks or a decoded subscription. The conversion runs in this browser; MySkills does not store your nodes.
Convert nodes
Your generated YAML will appear here.
Why convert locally?
Proxy subscriptions contain credentials and server addresses. Keeping the conversion in the browser reduces unnecessary data sharing. The output is a standard YAML document; review it before importing it into a client.
What actually happens when you paste
Nothing is sent anywhere. The page loads a single small script, and the parsing runs in your own tab. That matters for a specific reason: a proxy subscription is effectively a set of credentials — a UUID, a password, a server address. Handing those to a converter running on someone else's machine means trusting that operator with a working connection.
The converter accepts four node formats. vmess:// links carry a base64 blob that decodes into a JSON object with the server, port, UUID, cipher and transport. vless://, trojan:// and ss:// links follow the URI convention where the host is the server and the credentials sit in the userinfo part. If the whole box is base64 and that base64 decodes into more :// links, it is decoded first, which is what most subscription providers hand out.
With the Claude / AI template unchecked, output uses an AUTO group and a single MATCH,AUTO rule. With the template enabled (the default), it uses PROXY, adds the selected domain rules, and sends remaining traffic through MATCH,PROXY. This is a usable starting profile, not a full rule set. Review it and test with your Clash Meta/mihomo version before importing.
Where the parser gives up
Some limitations are worth knowing before you blame the output:
- Shadowsocks links that use the legacy plain
method:passwordform, or the newer2022-blake3ciphers, come out with the defaultaes-256-gcmcipher instead of the real one. Check thecipherfield before importing. - VLESS Reality parameters (
reality,pbk,sid,flow) are dropped. The generated entry keeps the UUID, TLS flag and transport, but a Reality node needs those extra fields to connect. - Trojan
sniand gRPC settings are not carried over either. If your node depends on a specific server name, add it by hand. - Provider-specific subscription formats that are not plain base64 of
://links will produce "no supported node links found". Export the raw links from your provider instead.
None of this is a connection test. The tool parses a format; it cannot tell you whether a node is alive, fast or still valid.
Getting the subscription content in
You can paste a subscription URL directly into the box. Whether that works depends on your provider: the fetch happens from your browser, so the provider has to send permissive CORS headers. Most do not, and the page will tell you when the request was blocked.
When that happens, export the subscription from your provider's dashboard — usually a Clash or Base64 button — and paste the text. That path always works because it skips the network request entirely.
Two safety notes. First, the conversion is local, but your clipboard and the node provider's server still see the credentials; this page only removes one party from the chain. Second, review the generated YAML before importing it into a client you use daily, and test it in a throwaway profile first.
Claude / AI 修复模板
生成配置时默认启用。取消勾选即可只做原始节点转换;也可以通过 ?fix=claude 打开并定位此选项。生成结果仅是路由模板,请先审阅并按客户端版本验证。
模板会写入 ipv6: false,但这不能保证操作系统或网络层没有 IPv6 泄漏。若检测显示 IPv4 与 IPv6 出口不一致,请同时检查/关闭系统 IPv6,并重新测试。