本教程适用于已经购买 Just My Socks 服务、需要在 Windows 或 macOS 上用 Clash 系客户端导入订阅的用户。文章不提供订阅链接——订阅地址需要你自己从 Just My Socks 用户中心获取。
购买注册教程:Just My Socks 注册购买教程
一、Just My Socks 支持哪些 Clash / Mihomo 客户端
- Mihomo(Clash Meta):是目前常用的 Clash Meta 内核项目。它是内核,不是图形界面。
- Clash Verge Rev:基于 Mihomo 的图形客户端,支持 Windows、macOS 和 Linux,仍在积极维护,是本文推荐的首选。
二、Clash Verge Rev 导入 Just My Socks 订阅
1.打开 Clash Verge Rev,进入左侧"订阅",在订阅输入框粘贴 Mihomo / Clash.Meta YAML 订阅地址。

2.点击** 导入**,等待配置文件下载,右击下载好的配置文件,点击拓展脚本 粘贴下方分流规则脚本到拓展脚本里面,点击保存。


Just My Socks 目前下发的clash订阅很简洁,会导致所有流量包括国内网站流量走代理,添加拓展脚本可以分流,并且可以单独分配 ChatGPT、Claude、流媒体使用的节点。
// Just My Socks Clash/Mihomo 订阅 —— 补齐分流规则 + 服务分组
// 适用:Clash Verge Rev v1.7+(含 v2.x);用途:右键订阅卡片 →「编辑扩展脚本」整段粘贴
// 核查日期 2026-09-12
// 特点:ChatGPT / Claude / 流媒体 各自独立成组,组内可手动挑任意节点,也可选 JMS Auto 自动挑延迟最低的
// 规则集走 jsDelivr 镜像;订阅自带的分流规则保留,兜底 MATCH 由本脚本接管
const MAIN_GROUP = "🚀 节点选择"; // 总策略组(订阅里没有则自动创建)
const SERVICE_GROUPS = [
{ name: "🤖 ChatGPT", providers: ["openai"] },
{ name: "🧠 Claude", providers: ["claude"] },
{ name: "🎬 流媒体", providers: ["netflix", "disney", "youtube", "tiktok", "spotify", "hbo", "primevideo"] },
];
function main(config) {
const groups = config["proxy-groups"] || (config["proxy-groups"] = []);
const nameList = groups.map((g) => g && g.name);
const has = (n) => nameList.includes(n);
const norm = (s) => String(s).replace(/[\s_-]+/g, "").toLowerCase();
// --- 1. 识别订阅自带的策略组:JMS Auto(按延迟自动选)/ JMS(手动选服务器)---
const autoGroup = nameList.find((n) => norm(n).includes("jmsauto")) || nameList.find((n) => norm(n).includes("auto"));
const manualGroup = nameList.find((n) => /^jms$/i.test(String(n).trim()));
// 每个组内可选项:JMS Auto → 总策略组 → JMS → 直连;include-all 再把全部节点补进来供手动挑选
const dedupe = (list) => list.filter((n, i) => n && list.indexOf(n) === i);
// 服务组可以包含总组;总组不能包含自己(否则内核报 "loop is detected in ProxyGroup")
const serviceProxies = dedupe([autoGroup, MAIN_GROUP, manualGroup, "DIRECT"]);
const mainProxies = dedupe([autoGroup, manualGroup, "DIRECT"]);
// --- 2. 总策略组:默认 JMS Auto,也可手动指定某个节点 ---
if (!has(MAIN_GROUP)) {
groups.unshift({ name: MAIN_GROUP, type: "select", "include-all": true, proxies: mainProxies });
}
// --- 3. 服务分组:ChatGPT / Claude / 流媒体 ---
for (const service of SERVICE_GROUPS) {
if (has(service.name)) continue;
groups.push({ name: service.name, type: "select", "include-all": true, proxies: serviceProxies });
}
// --- 4. 规则集 ---
const loyal = "https://fastly.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/";
const bm7 = "https://fastly.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/";
const common = { type: "http", format: "yaml", interval: 86400 };
const definitions = {
reject: { ...common, behavior: "domain", url: loyal + "reject.txt", path: "./ruleset/reject.yaml" },
private: { ...common, behavior: "domain", url: loyal + "private.txt", path: "./ruleset/private.yaml" },
direct: { ...common, behavior: "domain", url: loyal + "direct.txt", path: "./ruleset/direct.yaml" },
gfw: { ...common, behavior: "domain", url: loyal + "gfw.txt", path: "./ruleset/gfw.yaml" },
lancidr: { ...common, behavior: "ipcidr", url: loyal + "lancidr.txt", path: "./ruleset/lancidr.yaml" },
cncidr: { ...common, behavior: "ipcidr", url: loyal + "cncidr.txt", path: "./ruleset/cncidr.yaml" },
};
for (const [key, file] of Object.entries({
openai: "OpenAI/OpenAI.yaml",
claude: "Claude/Claude.yaml",
netflix: "Netflix/Netflix.yaml",
disney: "Disney/Disney.yaml",
youtube: "YouTube/YouTube.yaml",
tiktok: "TikTok/TikTok.yaml",
spotify: "Spotify/Spotify.yaml",
hbo: "HBO/HBO.yaml",
primevideo: "PrimeVideo/PrimeVideo.yaml",
})) {
definitions[key] = { ...common, behavior: "classical", url: bm7 + file, path: "./ruleset/" + key + ".yaml" };
}
config["rule-providers"] = Object.assign(config["rule-providers"] || {}, definitions);
// --- 5. 规则:服务 → 直连 → 被墙;订阅自带规则保留,兜底 MATCH 重新拼在最后 ---
const rules = [
"RULE-SET,reject,REJECT",
"RULE-SET,private,DIRECT",
"RULE-SET,lancidr,DIRECT,no-resolve",
];
for (const service of SERVICE_GROUPS) {
for (const provider of service.providers) {
const noResolve = provider.endsWith("cidr") ? ",no-resolve" : "";
rules.push(`RULE-SET,${provider},${service.name}${noResolve}`);
}
}
rules.push("RULE-SET,direct,DIRECT", "RULE-SET,cncidr,DIRECT,no-resolve", "GEOIP,CN,DIRECT,no-resolve");
rules.push(`RULE-SET,gfw,${MAIN_GROUP}`);
const kept = (config.rules || []).filter(
(r) => typeof r === "string" && !/^MATCH/i.test(r) && !rules.includes(r),
);
config.rules = rules.concat(kept, ["MATCH," + MAIN_GROUP]);
return config;
}
3.回到首页,选择代理组和节点,打开虚拟网卡模式(显示灰色需要先点击小扳手安装服务)

可以使用 https://ip.skk.moe/split-tunnel 查看分流是否生效