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

24 lines
1.4 KiB
Markdown

# 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.