Commit Graph
918 Commits
Author SHA1 Message Date
antergone df535990fa feat: support pinSHA256 fingerprint for hysteria2
Parse the pinSHA256 query parameter from hysteria2 URIs into the node
fingerprint, emit it as the fingerprint field in Clash output, read it
back from Clash YAML and sing-box certificate_public_key_sha256 input,
and round-trip it back to pinSHA256 when exporting the URI.
2026-08-10 14:27:00 +08:00
asdlokj1qpi23 6e94f496d1 Merge pull request #98 from 0honus0/quanx-vless-reality-pr
feat: support QuanX VLESS Reality export
2026-07-10 14:17:22 +08:00
asdlokj1qpi23 b76276746f Merge pull request #97 from zhangsmallchi/master
feat: support explicit rule-provider format in rulesets
2026-07-10 14:17:07 +08:00
asdlokj1qpi23 bd0870205b Merge pull request #91 from fortressme/master
支持 Clash proxy group 扩展字段
2026-07-10 14:16:49 +08:00
fortressme 344ad270fc Implement code changes to enhance functionality and improve performance 2026-07-10 14:04:35 +08:00
fortressme 086ced011f fix: reset yamlnode in explodeSub function for proper proxy sequence handling 2026-07-10 13:44:25 +08:00
fortressme 723071d8cb feat: enhance explodeSub function to support Clash proxy sequences 2026-07-10 13:27:37 +08:00
fortressme c34916493c feat: add function to read Clash TUIC ALPN configuration 2026-07-10 13:13:52 +08:00
fortressme e60ff5fcb1 feat: improve clash configuration parsing in explodeSub function 2026-07-10 12:43:38 +08:00
Hermes Agent bfb6ca31a4 feat: support QuanX VLESS Reality export 2026-06-17 09:20:23 +00:00
Chi Zhang e2a2348529 feat: support explicit rule-provider format in rulesets
Add support for an optional `format` field in external ruleset
definitions so Clash/Mihomo rule-providers can declare their source
format explicitly.

Previously, `type = "clash-domain"`, `type = "clash-ipcidr"`, and
`type = "clash-classic"` only described the provider behavior, while the
provider format was implicitly left as the Clash/Mihomo default YAML
format. This worked for YAML rule-provider files with a top-level
`payload` field, but failed for valid text-format providers such as
domainset files that contain plain domain entries without a `payload`
wrapper.

This change allows users to configure:

    [[rulesets]]
    group = "Apple CDN"
    ruleset = "https://ruleset.skk.moe/Clash/domainset/apple_cdn.txt"
    type = "clash-domain"
    format = "text"

The generated rule-provider will now include:

    format: text

Supported values are:

    yaml
    text
    mrs

The new `format` option is only accepted for Clash/Mihomo native
rule-provider types:

    clash-domain
    clash-ipcidr
    clash-classic

For compatibility, omitting `format` preserves the previous behavior and
does not emit a `format` field, allowing Clash/Mihomo to continue using
its default YAML format.

Validation is also added to reject unsupported format values and to
prevent `format = "mrs"` from being used with `clash-classic`, since MRS
rule-sets only support domain and IP-CIDR behaviors.
2026-06-17 14:35:19 +08:00
asdlokj1qpi23 7640244536 Merge pull request #96 from besire/snell-mihomo
Allow Snell v4 and v5 in Clash output
2026-06-16 15:45:34 +08:00
asdlokj1qpi23 4d7921eed4 Merge pull request #95 from zhangsmallchi/master
fix(clash): quote VLESS Reality short-id in YAML output
2026-06-16 15:45:21 +08:00
asdlokj1qpi23 bf50712372 Merge pull request #94 from xuanmou/fix/vless
fix(subparser): Decode the serviceName value of gRPC from the URL
2026-06-16 15:44:40 +08:00
asdlokj1qpi23 9b56a637ca Merge pull request #92 from sczheng189/feat/xhttp
fix(subparser): map VLESS xhttp extra options to mihomo fields
2026-06-16 15:44:19 +08:00
besire 149a80a29f Allow Snell v4 and v5 in Clash output 2026-06-16 00:43:45 +00:00
Chi Zhang ca0921c58f fix(clash): quote VLESS Reality short-id in YAML output 2026-06-13 11:28:45 +08:00
xuanmou233 74c5ec00c7 fix(subparser): Decode the serviceName value of gRPC from the URL 2026-06-10 20:17:49 +08:00
zhengyubai 8c7b1ede4d fix(subparser): map VLESS xhttp extra options to mihomo fields 2026-06-09 18:44:30 +09:00
fortressme 157728319b feat: add support for extra key-value pairs in ProxyGroupConfig extras 2026-06-09 12:47:31 +08:00
fortressme 2ec39ecc80 feat: add support for extra configuration options in ProxyGroupConfig 2026-06-09 12:36:39 +08:00
asdlokj1qpi23 948f049d1c Merge pull request #90 from sczheng189/feat/xhttp
feat(xhttp): add XHTTP proxy support and related parsing fixes
2026-06-08 14:36:19 +08:00
asdlokj1qpi23 2eb4c199be Merge pull request #88 from feisan/master
feat: add shadow-tls filtering and AnyTLS Surge INI import
2026-06-08 14:34:02 +08:00
zhengyubai 0f9f6f0021 fix: decode ALPN values from URL links 2026-06-07 18:17:19 +09:00
zhengyubai adfc7b4445 fix(subparser): prevent remark fragments from leaking into query params 2026-06-07 18:03:26 +09:00
zhengyubai a34ac8d91b feat(xhttp): add support for xhttp proxy type and related options 2026-06-07 17:50:32 +09:00
feisan 781f06a8ed fix: preserve base64 passwords with embedded '=' in Surge SS parser
split(configs[i], "=") splits on ALL '=' characters, truncating
SS 2022-blake3 passwords that contain base64 padding (==) +
colon-delimited IMK. Replaced with split_first() which splits
only on the first '=', keeping the full password intact.

- Added split_first() utility to string.h/string.cpp
- Replaced all 15 key=value split() calls in subparser.cpp
- Verified with Docker build + Surge/Clash output test
2026-06-02 09:49:05 +08:00
feisan 3c640b1976 feat: add shadow-tls filtering and AnyTLS Surge INI import
- Filter shadow-tls nodes by setting port to '0' (triggers existing skip logic)
- Add AnyTLS proxy type support in Surge INI-style config import
- Supports password, sni, skip-cert-verify, fingerprint, tls13 fields
2026-05-26 13:48:05 +08:00
asdlokj1qpi23 633ecd5a3b Merge pull request #84 from gengjiawen/feature/anytls-surge-export
feat(surge): export AnyTLS proxies for Surge 4+
2026-05-19 16:49:50 +08:00
asdlokj1qpi23 e451456331 Merge pull request #80 from AkariiinMKII/fix-short-id
[fix] Format `short-id` for yaml node list
2026-05-19 16:49:26 +08:00
gengjiawen 801450a2c0 feat(surge): export AnyTLS proxies for Surge 4+
Generate anytls policy lines with password, optional sni, skip-cert-verify,
server-cert-fingerprint-sha256, and tls13, matching Surge manual syntax.

Assisted-by: Cursor (GPT-5.4)
Made-with: Cursor
2026-04-16 06:47:56 +00:00
AkariiinMKII a9183c27ad Format short-id in node list 2026-03-30 14:22:53 +08:00
asdlokj1qpi23 cd74f4dc22 Merge pull request #77 from fortressme/master
keep dialer-proxy when converting Clash subscriptions
2026-03-18 16:16:13 +08:00
asdlokj1qpi23 eaf860f12e Merge pull request #73 from greatcoolge/master1
explodeClash 函数在解析阶段ss格式拼接mux参数错误,导致转换其他格式时会重复添加,报错initialize outbound[1]: parse plugin_opts: empty key in ""
2026-03-18 16:15:16 +08:00
p0w0q 877a1291a0 keep dialer-proxy when converting Clash subscriptions 2026-03-14 04:10:20 +00:00
greatcoolge 79369b0e76 Update subparser.cpp 2026-03-04 20:06:14 +08:00
greatcoolge 1ea552ac60 Merge branch 'asdlokj1qpi233:master' into master1 2026-02-04 12:49:06 +08:00
asdlokj1qpi233 cf2afd0eaf Compatible with both new and legacy WebSocket configurations 2026-02-04 10:54:14 +08:00
asdlokj1qpi233 bca37c7436 Enhance proxy configuration to support the WebSocket transport protocol and custom headers. 2026-02-04 09:48:10 +08:00
greatcoolge ca209069be Update subparser.cpp 2026-02-03 19:55:55 +08:00
asdlokj1qpi233 7fbb5215cc add vless encryption field support.(#59)
fix AnyTLS and TUIC IPV6 filed parse and some AnyTLS.(#58)
fix macos arm build.
v0.9.9
2026-02-03 17:02:37 +08:00
asdlokj1qpi233 c6b9661088 add vless encryption field support.(#59)
fix AnyTLS and TUIC IPV6 filed parse and some AnyTLS.(#58)
fix macos arm build.
2026-02-03 17:00:00 +08:00
asdlokj1qpi23 a46dc8a9da Merge pull request #66 from ionull/master
Fix trojan and vmess convert on loon
2026-02-03 16:41:48 +08:00
asdlokj1qpi23 c7e7731221 Merge pull request #70 from greatcoolge/master1
Update s修复ss格式转singbox格式报错initialize outbound[x]: plugin not found ubexport.cpp
2026-02-03 16:38:17 +08:00
greatcoolge 978c8e8e2a Update subexport.cpp 2026-02-02 17:34:34 +08:00
greatcoolge 4f5ff84a07 Update subexport.cpp 2026-02-02 16:59:32 +08:00
Tsung Wu 449cafa665 fix: vmess, trojan on loon 2025-12-12 03:42:53 +08:00
Tsung Wu 458e0a0d6e fix: vmess, trojan on loon 2025-12-12 03:28:48 +08:00
asdlokj1qpi23 75442461f4 Merge pull request #60 from greatcoolge/master
Update subexport.cpp
2025-11-11 09:18:18 +08:00
greatcoolge 056c1ff66b Update singbox.json 2025-11-09 22:53:27 +08:00