All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added real Clash / Mihomo YAML subscription parsing through top-level
proxies:lists. - Added support for newer sing-box outbound fields across VMess, VLESS, Trojan, Shadowsocks, and Hysteria2 conversions.
- Added support for Reality, uTLS fingerprints, ECH client options, WebSocket early data, HTTPUpgrade, HTTP/H2, gRPC, QUIC, SIP002 Shadowsocks plugins, UDP-over-TCP flags, and Hysteria2 port hopping.
- Added URL-safe Base64 subscription decoding support.
- Added IPv6 URI host handling for VLESS, Trojan, Shadowsocks, and Hysteria2 links.
- Added broader parser test coverage for Clash YAML, URL-safe Base64, duplicate tags, mixed parse failures, IPv6 hosts, missing credentials, Shadowsocks legacy links, and Hysteria2 port ranges.
- Updated parser validation to reject empty required URI credentials instead of generating invalid outbounds.
- Updated Hysteria2 Clash-style port ranges from
start-endto sing-box-compatiblestart:endoutput. - Updated
README.mdto document current input support, newer sing-box target compatibility, and unsupported transport behavior. - Updated build imports to use
deno.jsonimport mappings sodeno lintpasses with current Deno rules.
- Fixed Trojan URL parsing by using standard URL query handling for TLS and transport options.
- Fixed Shadowsocks parsing for SIP002 and legacy full-Base64 URI variants.
- Fixed malformed percent-escape handling in URI tags and credentials so parser failures are reported cleanly.
- Fixed unsupported transports such as
xhttp/splithttpbeing rejected explicitly instead of producing invalid sing-box transport output.
- Implemented a parser for the Hysteria2 protocol.
- Improved subscription parsing with better error handling and detailed parsing statistics.
- Updated
template.jsonto support thesing-box >=1.11.0standard. - Fixed a tag issue in the Shadowsocks parser and updated it to support more format variants.
- Renamed Shadowsocks protocol-related files from
ss*toshadowsocks*, using the full name instead of abbreviations in all cases. - Refined coding style for all parsers to improve professionalism and consistency.
- Updated
CHANGELOG.mdandREADME.mdto reflect these changes. - Improved GitHub workflows for better CI experience.
Remove default config file generation; use template JSON as the sole configuration method
- Added a Supported Versions section in
README.mdto explicitly state thatv2singsupportssing-box >=1.10.0.
- Updated the configuration system to use
template.jsonas the sole method for generating configuration files. - Modified the build process to include imported JSON objects directly in the final build file instead of using a separate JSON file.
- Updated
CHANGELOG.mdandREADME.mdto reflect these changes.
- Deprecated the default configuration file generation method.
Add support for configuration templates via URL for generating customized config files
- Support for configuration templates via URL for generating customized config files.
- A configuration template
config_template.jsonin thepublicdirectory for users to use as a reference.
- Refactored and simplified the codebase to improve structure and readability.
Initial project setup, optimized build process, enhanced configuration, and created CI/CD
- Initialized the project with essential setup and configuration files.
- Enhanced configuration functionality by introducing
serve,build,preview,format,lint, andtesttasks indeno.json. - Added and implemented parsers for VMess, VLESS, Shadowsocks, and Trojan protocols from v2/clash subscription formats to the sing-box format.
- Enhanced Base64 decoding with padding validation, error handling, and extraction of Base64 strings from lines.
- Improved outbound handling by removing duplicate tags and generating default tags for outbounds without explicit ones.
- Updated parser to ignore empty lines and lines starting with
#for comment support. - Added comprehensive tests for all protocols to ensure stability and coverage.
- Developed and integrated config generators for DNS, inbounds, outbounds, and routes.
- Added an esbuild script to generate a Cloudflare Workers script, optimizing it by removing
consoleanddebuggerstatements for cleaner production builds. - Provided a temporary fix for Cloudflare Workers by safely removing the BOM (Byte Order Mark) from text if present.
- Created GitHub Actions workflows to automate CI/CD processes.
- Added a
LICENSEfile to clarify project licensing. - Created project documentation, including
README.mdandCHANGELOG.md, with detailed information.