Skip to content

Releases: tindy2013/subconverter

v0.8.1

12 Oct 02:32
e7380d8
Compare
Choose a tag to compare

This version updates the libcurl library to 8.4.0, for mitigating a high severity vulnerability in this library.

v0.8.0

09 Oct 10:14
e847df3
Compare
Choose a tag to compare

This version contains fixes for a possible remote code execution (RCE) vulnerability, all users are strongly recommended to update.

Changes:
Add authorization check before loading scripts.
Add detailed logs when loading preference settings.
Fix bad request header (#472).
Update emoji rules (#493).
Fix load-balance in Surge configuration not being generated correctly.
Add persistent and evaluate-before-use options to Surge proxy-groups.
Add support for SOCKS5 nodes in Quantumult X configs.
Fix HEAD method to /sub not working.
Remove unused interfaces.
Fix not loading local rulesets.
Fix posting form to /updateconf (#506).
Remove VMess aead option in Quantumult X (#538).
Make indentation in Clash profile consistent (#559).
Fix support for generating Loon configs.
Do not add obfs-host to Surge Snell node if empty (#626).
Fix client parse errors with '=' in remark strings (#632).
UDP is not supported yet in clash when using snell (#627).
Add new proxy group options for Loon and Quantumult X.
Add support for SOCKS5 nodes in Loon configs.
Refresh cron schedule after loading TOML preferences (#629).
Keep line order of Plugin section in Loon configs.
Add Snell version to Surge configs.
Add img-url support for Loon proxy groups.

v0.7.2

02 Apr 18:36
7703d55
Compare
Choose a tag to compare

Bugs fixed:
Fix typo in default configuration.
Fix example preference file.
Fix error when template include path is not set.
Fix crash when adding SSID group to Loon configurations.
Fix error in parsing ShadowsocksR configurations.
Fix cache system not working properly.
Don't add tls-verification to Quantumult X nodes if not over-tls (#413).
Fix max_allowed_download_size option has no effect (#409).
Fix some client does not recognize integer port or alter id (#371)
Fix skip-cert-verify option not correctly added to Surge subscriptions.
Fix matching not-range does not work (#428).
Fix parsing and generating of HTTPS nodes (#450).
Fix incorrect order of tolerance and timeout field in custom group config.
Fix Content-Disposition header for better support on browsers.
Fix parsing of some Shadowrocket links.
Fix parsing of some Trojan share links.

Newly added:
Use url-latency-benchmark type for Quantumult X URL-Test group.
Add support for Trojan-WebSocket protocol.
Add support for new format of Clash VMess WebSocket options.
Add support for version field of Snell nodes.
Add servername field for Clash VMess nodes (#449 #451).
Add VMess AEAD option for Surge and Quantumult X configs.
Support HEAD request that only return Subscription-UserInfo (#434).
Add more detail info to crash report.
Add support for latest Surfboard config.

Other changes:
Update local rulesets and configs.
Update Emoji.
Optimize codes.

v0.7.1

30 Sep 07:26
7eb4abe
Compare
Choose a tag to compare

ARM releases has been restored. ARMHF build is replaced by ARMv7.

Bugs fixed:
Fix failed to load external TOML config when surge_rule_base is set.
Fix typo in default profile.
Fix some generated VMess nodes have incomplete config
Revert to legacy Clash VMess-WS node format for backward compatibility.

Other changes:
Update local rulesets.

v0.7.0

20 Sep 15:42
5aaa0f2
Compare
Choose a tag to compare

The CI environment for building releases has been moved from Travis CI to GitHub Actions. For now ARM releases will be available only via Docker images.

Bugs fixed:
Fix not correctly handle SOCKS5 nodes in Clash subscriptions.
Fix some global preferences has no effect.
Fix detection of loop request (#284).
Fix incorrect handing of default node parameters in SSD subscription.
Fix unable to parse some Clash rule-providers (#289).
Fix not filtering inline comments in some Surge rulesets (#285).
Fix broken generation of Clash subscription.
Fix wrong type of alterId in Clash VMess nodes (#325).
Fix broken parsing of ShadowsocksR subscription.
Fix possible crash when running scripts.
Fix server_port fields become 0 in SIP008 and ShadowsocksD subscriptions.
Fix parsed target not being passed to template argument.
Fix missing TLS setting in VMess nodes.
Fix subscription info not being passed to the response.
Fix inconsistence Shadowsocks plugin name.
Fix parser may not recognize some SIP008 format (#367).
Fix Gist upload and other web operation may fail to post data.

Newly added:
Add force refresh rulesets after /readconf call.
Add specifying filter script from URL arguments.
Add support for using matchers in include/exclude options.
Add dummy cipher for ShadowsocksR nodes in Clash (#312).
Add Cron task options.
Add clean context option for persisting a JS context across the whole request.
Add basic support for VMess h2 & grpc protocols.
Add support for using TOML as configuration file format.
Add basic support for trojan-grpc nodes.

Other changes:
Print error when failed to load rule base.
Rename default configuration files for easier upgrade.
Complete refactor of project file structure.
Replace JS engine with QuickJS.
Use stable sort for sorting nodes.
Refactor codes.

v0.6.4

19 Sep 17:34
ab4d754
Compare
Choose a tag to compare

Bugs fixed:
Fix target auto not working properly.
Fix crash when trying to convert SSR subscriptions to SSD subscriptions.
Fix conversion of some logical rules in Surge configurations.
Fix incorrect order of options in Quantumult nodes.

Newly added:
Add support for parsing standard VMess links.
Add support for simple web server.
Add PROCESS-NAME rule type to Clash subscriptions.
Add POST support to fetch() in scripts.
Add /flushcache for cleaning up all caches.
Add type fallback for exported v2rayN subscription.
Add skipping loading groups, rulesets and unrelated rule_base for simple subscriptions.

Other changes:
Optimize codes.
Use a higher performance implementation of cache read/write locks.
Update User-Agent match pattern for Loon.
Update local rulesets and configs.
Remove ConnersHua rules repository and replace all examples with DivineEngine repository.

v0.6.3

15 Aug 16:08
66f6c6f
Compare
Choose a tag to compare

Bugs fixed:
Fix compatibility with some non-standard subscriptions.
Fix group option not detected in Trojan links.
Fix compatibility when parsing Clash ShadowsocksR nodes.
Fix potential crash when using nullnode as URL.
Fix compatibility with Electron-SSR configurations.
Fix failed to download subscriptions, configs and rulesets due to bad implementation of download size checker.
Fix /updateconf replacing configuration file with an empty file.
Fix /render throws Not found while the template exists.

Newly added:
Forward request User-Agent for download instead of using internal one.
Add support for specifying max allowed download size.
Add support for converting some groups to proxies in Surge subscriptions.
Add option to change style of proxies section in Clash subscriptions.
Add support for setting profile-update-interval for Clash subscriptions.
Add UrlEncode as template function.

Other changes:
Optimize codes.
Update local rulesets and configs.
Add DivineEngine local ruleset repository.
Remove base pre-generation function.
Remove Clash rule-providers from ACL4SSR repository.
inja: Using a better implementation for stripping blanks for expressions.
inja: Update library to latest.
Optimize memory usage.

v0.6.2

29 Jul 12:12
f54160c
Compare
Choose a tag to compare

Bugs fixed:
Fix implementation of using Clash rule-providers as rule sources.
Fix implementation of scripts in renaming/adding Emoji.
Fix compatibility problem with some non-standard v2rayN subscription.
Fix running program from directory other than program folder may cause not using pref.yml as default.
Fix logic error in generating Clash Script.

Newly added:
Add option for whether to try to resolve hostnames when generating ShadowsocksR nodes in Surge configurations.
Add fallback support for different names of Shadowsocks plugins.
Add case for when no net type is set for VMess nodes.
Add support for more types of nodes to exported Mellow subscriptions.
Add "auto" target to automatically determine target and other options by User-Agent.
Add option to allow continue when failed to parse an subscription link.
Add update-interval option to exported Surge RULE-SET.
Add support for ShadowsocksR nodes in Clash subscriptions.

Other changes:
Change behavior of using proxy-providers in Clash proxy groups to allow both providers and proxies to exist.
Update local rulesets.
Optimize codes.
inja: Update to latest version.

v0.6.1

10 Jul 10:27
591f9ef
Compare
Choose a tag to compare

Bugs fixed:
Fix VMess HTTP nodes missing in exported Clash configurations.
Fix implementation of processing escape character in INIReader.
Fix some keys might be missing when parsing some Clash subscriptions.
Fix bad implementation of regex library for include/exclude.
Fix bad implementation of request header forwarding.
Fix implementation of v2ray-plugin in Quantumult X subscriptions.
INIReader: Fix key value trimming error.
INIReader: Fix not processing escape character when dumping.

Newly added:
Add support for parsing VMess HTTP nodes in Clash configurations.
Add support for adding update interval to Clash rule-providers.
Add support for using \uhhhh to match characters with regex.
Add basic support for tls13 flag.

Other changes:
Add example for using Clash proxy-provider.
Clean up codes.
Optimize performance.
Update local rulesets.

v0.6.0

02 Jul 15:39
ff9820b
Compare
Choose a tag to compare

MAJOR CHANGES:
Add experimental JavaScript support for providing subscriptions, filtering nodes, sorting nodes, generating groups, renaming nodes, adding Emojis.
Change section and key names in configuration files.

Bugs fixed:
Fix Emoji settings not working in external configs in YAML format.
Fix broken SSID group exported to Quantumult X configurations. (#167)
Fix compatibility with some V2Ray-Core configurations.
Fix GROUP/GROUPID/INSERT matcher not correctly handle empty rules.
Fix support for parsing Surge HTTP / SOCKS5 nodes.
Fix not correctly handle nodes with only Emojis as remarks.
Fix not correctly handle nodes with port 0.
Fix not correctly handle rename patterns that may make remarks empty.
Fix data URIs not correctly parsed.
Fix downloading files may be caught in infinite redirect loops.
Fix support for some non-standard Shadowsocks subscriptions.
Fix exporting useless info in Clash HTTP/SOCKS 5 nodes.
Fix keeping UDP/TFO/Skip Cert Verify flags from original subscriptions not working.
Fix support for parsing keyword type in Clash domain rule-provider.
Fix potential error on reading configuration files.
Fix not processing remarks with comma when exporting some subscriptions.
Fix rename/emoji scripts not working with INI.
Fix examples in pref.ini
Fix ruleset types other than Surge Ruleset not correctly expanded to rules.
Fix trying to limit upload file size.
Fix when no GEOIP rule is added, the Clash Script will not be able to generate.
Fix download fail when cache is disabled.
Fix support for converting Quantumult X rulesets to Surge format.
Fix not adding local rulesets as Clash rule-providers.
Fix potential crash when parsing broken Surge subscription。
Fix crash when providing a folder name to fileGet.
Fix error in generated Clash scripts.
Fix missing classical providers when exporting Clash rule-providers.
Fix not correctly process some rulesets when generating Clash scripts.
Fix typo in pref.ini.

Newly added:
Add support for using CORS proxy in downloading.
Add max rulesets/rules limit option.
Add tag support for adding group name to a specific link.
Add complete matcher support for Emoji and rename match rule.
Add support for tolerance option in Clash proxy groups.
Add options for specifying maximum allowed rulesets in external configs and generated rules.
Add support for suffix tag in Clash rule provider.
Add request._args variable to templates to read all arguments passed from URL.
Add reporting HTTP status code when failed to upload to Gist.
Add support for parsing Clash subscriptions in JSON format.
Add retry for downloading files.
Add support for exporting Clash classical rule-provider.
Add support for adding proxy provider to custom group in Clash configurations.
Add getLink, and, or, bool, string, startsWith, endsWith as template functions.
Add support for any amount of argument for template function join.
Add independent option for adding/removing Emojis in URL argument.
Add support for reading API_MODE/API_TOKEN/MANAGED_PREFIX from environment variables.
Add support for using Quantumult X rulesets/Clash rule-providers as rule sources.
Add geoip as script function.
Add support for using script to rename nodes and add Emojis to remarks.
Add "mixed" target to generate subscriptions with all types of standard subscriptions.
Add passing X-User-Agent and X-Client-IP header to subscription downloader.
Add support for exporting Trojan nodes to Loon configurations.
Add "nullnode" as node placeholder to export configurations without adding any real node.
Add support for using !!import in source subscription URLs.
Add support for allowInsecure and tfo argument in Trojan links.

Other changes:
Raise download file size limit to 1MB.
Move node renaming after removing Emojis.
Use internal MD5 calculation.
Update local rulesets and configs.
inja: Implement a better white space control system.
inja: Add variadic function callback support.