可尝试更换 dest
今天观测到一个之前没有的异常现象:
香港🐔使用 p11.douyinpic.com 节点测试超时
更换为 v9-dy.ixigua.com 恢复正常
- ❤️4
新增 mimic 集成,可将连接伪装成 TCP,用于限制 UDP 的网络环境(仅限 Linux,需另行安装 mimic)
提升 Chrome QUIC 指纹模仿的准确度
修复了小 MTU 下一个 BBR panic 问题,由 2.11.0 的 Chrome 指纹模仿引入
若干依赖更新
function operator(proxies, target, context) {
if ($options?._req) {
const { headers, url, path } = $options?._req || {};
// 获取 user-agent
const ua = headers?.["user-agent"] || headers?.["User-Agent"];
console.log(`User-Agent: ${ua}`);
let types = [];
if (target === "Surge") {
const isSurgeiOS = ua?.startsWith("Surge iOS/");
if (isSurgeiOS) {
// 获取 Surge 已解锁的功能
const features = (
headers?.["x-surge-unlocked-features"] ||
headers?.["X-Surge-Unlocked-Features"]
)?.split(/\s*,\s*/);
console.log(`Surge 已解锁的功能: ${features}`);
// 如果能取到 Surge 已解锁的功能 并且 里面没有 anytls, 就过滤掉 anytls
if (features && !features.includes("anytls")) {
types.push("anytls");
}
} else if (
ua?.startsWith("Surge Mac/") &&
ua?.match(/\/(\d+)/)?.[1] < 9860
) {
// 若 Surge Mac 版本小于 9860,就过滤掉 anytls
types.push("anytls");
}
} else if (target === "Egern") {
const build = ua?.match(/Build\/(\d+)/)?.[1];
console.log(`Egern Build: ${build}`);
// 更旧的版本里 user-agent 里没 build
// 判断旧版 就过滤掉 anytls
if (ua?.startsWith("egern/") && (!build || build < 718)) {
types.push("anytls");
}
}
return proxies.filter((proxy) => !types.includes(proxy.type));
}
return proxies;
}[General] 里 block-quic = per-policy (这是默认值)test-url 和 block-quic 示范 🇨🇳 免流 = smart, policy-path=https://a.com, external-policy-modifier="test-url=http://p11.douyinpic.com,block-quic=off" 其他的自己看着办(curl https://mise.run | shecho 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrcecho '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fishgomise use -g gogo install github.com/caddyserver/xcaddy/cmd/xcaddy@latestxcaddy build master 但是可能也有新鲜的 bug 🐶xcaddy build latest --with github.com/mholt/caddy-l4 --with github.com/caddy-dns/cloudflare --output /usr/bin/caddyCLOUDFLARE_API_TOKEN )/etc/caddy/CaddyfilepaddingScheme 是 vibe 的. 可以自定义. 顺便示范下如何 优先使用 IPv4. 其他配置省略, 自己加吧){ "name": "节点名", "type": "anytls", "server": "服务器", "port": 443, "password": "xYbpwdF9vIELWoLmdC", "udp": true, "sni": "a.foo.com" } 节点名=anytls,服务器,443,password="xYbpwdF9vIELWoLmdC",sni=a.foo.com{ "name": "节点名", "type": "anytls", "server": "服务器", "port": 443, "password": "0cdfe9f1b663", "client-fingerprint": "chrome", "udp": true, "sni": "bing.com", "skip-cert-verify": true }节点名=anytls,服务器,443,password="0cdfe9f1b663",sni=bing.com,skip-cert-verify=truesing-box
如果你喜欢使用 sing-box,可以尝试这个 fork。它包含了 anytls 协议的服务器和客户端。
https://github.com/anytls/sing-box
mihomo
https://github.com/MetaCubeX/mihomo
已合并至 Alpha 分支。它包含了 anytls 协议的服务器和客户端
if($server.type === 'trojan' && !$server.sni) {
$server.sni = $server.server
}target 都可能导致输出的节点不全.https://a.com/share/sub/share?token=123https://a.com/share/sub/share?token=123&includeUnsupportedProxy=truehttps://a.com/share/sub/share?token=123&includeUnsupportedProxy=true#noFlow
return ['2022-blake3-aes-128-gcm', '2022-blake3-aes-256-gcm'].includes($server.cipher)
return !['hysteria2', 'hysteria', 'tuic', 'juicity'].includes($server.type)