Files
subconverter-go/docs/compatibility.md
Rogee 7fcabe0225
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
first commit
2025-09-28 10:05:07 +08:00

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 standard vmess:// 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 ipv6 query parameter is honoured by the conversion pipeline and generator layer. Supplying ?ipv6=true enables IPv6 sections in supported outputs without forcing a global default.

Manual Verification Checklist

  1. go test ./internal/conversion -run LegacyProtocols
  2. go test ./...
  3. Start the server (e.g. go run ./main.go --config config.yaml.example) and request curl "http://localhost:25500/api/convert?target=clash&url=<sub-url>&ipv6=true" to confirm the response reports request_options.ipv6=true.
  4. Inspect the logs while submitting a subscription that includes socks:// and vmess1:// entries to ensure they are parsed successfully and appear in the generated profile.