Some checks failed
CI/CD Pipeline / Test (push) Failing after 22m19s
CI/CD Pipeline / Security Scan (push) Failing after 5m57s
CI/CD Pipeline / Build (amd64, darwin) (push) Has been skipped
CI/CD Pipeline / Build (amd64, linux) (push) Has been skipped
CI/CD Pipeline / Build (amd64, windows) (push) Has been skipped
CI/CD Pipeline / Build (arm64, darwin) (push) Has been skipped
CI/CD Pipeline / Build (arm64, linux) (push) Has been skipped
CI/CD Pipeline / Build Docker Image (push) Has been skipped
CI/CD Pipeline / Create Release (push) Has been skipped
1.4 KiB
1.4 KiB
Compatibility Notes
Input Normalisation
- Lines that begin with
#,;, or//are ignored before parsing, matching the legacy subconverter subscription behaviour. - UTF-8 byte order marks and common zero-width spacing characters are stripped so mixed-encoding lists no longer yield false negatives.
Legacy Scheme Support
- Subscription items prefixed with
vmess1://are normalised to standardvmess://links. socks://URIs and Telegram sharing links (tg://socks,https://t.me/socks) are accepted and converted into Socks5 nodes during parsing.- Existing
ss://,ssr://,trojan://, and HTTP subscription lines continue to work without modification.
API Flags
- A new
ipv6query parameter is honoured by the conversion pipeline and generator layer. Supplying?ipv6=trueenables IPv6 sections in supported outputs without forcing a global default.
Manual Verification Checklist
go test ./internal/conversion -run LegacyProtocolsgo test ./...- Start the server (e.g.
go run ./main.go --config config.yaml.example) and requestcurl "http://localhost:25500/api/convert?target=clash&url=<sub-url>&ipv6=true"to confirm the response reportsrequest_options.ipv6=true. - Inspect the logs while submitting a subscription that includes
socks://andvmess1://entries to ensure they are parsed successfully and appear in the generated profile.