3x-ui/internal/sub
MHSanaei cb4f2ec92f fix(sub): export Hysteria2 Gecko obfs in Clash/Mihomo subscriptions
A salamander finalmask carrying a packetSize range is Gecko obfs. The
hysteria2:// link generators already export it, but buildHysteriaProxy
copied only the password, so Clash/Mihomo received plain salamander and
could never complete the handshake against a Gecko server.

Emit mihomo's gecko form instead: obfs: gecko plus integer
obfs-min-packet-size / obfs-max-packet-size, validated by the same
parseHysteriaPacketSize bounds the URI export uses. A password-only mask
keeps the plain salamander output.

Closes #6822
2026-10-14 14:42:00 +02:00
..
build_urls_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
calendar_expire.go feat(sub): add opt-in month-end expiry presentation (#6517) 2026-09-14 12:10:25 +02:00
calendar_expire_test.go feat(sub): add opt-in month-end expiry presentation (#6517) 2026-09-14 12:10:25 +02:00
characterization_test.go
clash_external.go fix(sub): preserve external VLESS encryption in Clash subscriptions (#6576) 2026-09-26 20:31:50 +02:00
clash_external_quota_test.go fix(sub): drop external Clash shadowsocks nodes the panel cannot express (#6508) 2026-09-13 20:01:58 +02:00
clash_external_shadowsocks_test.go fix(sub): drop external Clash shadowsocks nodes the panel cannot express (#6508) 2026-09-13 20:01:58 +02:00
clash_external_vless_test.go fix(sub): preserve external VLESS encryption in Clash subscriptions (#6576) 2026-09-26 20:31:50 +02:00
clash_info_node_test.go
clash_service.go fix(sub): export Hysteria2 Gecko obfs in Clash/Mihomo subscriptions 2026-10-14 14:42:00 +02:00
clash_service_test.go fix(sub): emit Hysteria certificate pin for Mihomo (#6651) 2026-09-26 20:31:42 +02:00
clash_yaml.go
clash_yaml_test.go
controller.go fix(sub): isolate Incy subscription routing from Happ headers (#6810) 2026-10-13 16:01:32 +02:00
controller_test.go fix(sub): isolate Incy subscription routing from Happ headers (#6810) 2026-10-13 16:01:32 +02:00
default.json fix(sub): drop legacy freedom.domainStrategy from JSON sub template (#6609) 2026-09-26 21:13:39 +02:00
default_json_test.go fix(sub): drop legacy freedom.domainStrategy from JSON sub template (#6609) 2026-09-26 21:13:39 +02:00
dist.go
endpoint.go fix(sub): carry REALITY ML-KEM hint in VLESS links (#6712) 2026-10-02 15:44:41 +02:00
endpoint_test.go feat(sub): refine Happ routing presets, serverDescription escaping, and auto-detect placement (#6488) 2026-09-13 12:53:57 +02:00
export_all_links_test.go
external_config.go fix(sub): keep serverDescription literal in external link fragments (#6580) 2026-09-26 22:00:09 +02:00
external_config_test.go
external_hwid_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
external_only_sub_test.go
external_remark_test.go fix(sub): keep serverDescription literal in external link fragments (#6580) 2026-09-26 22:00:09 +02:00
external_subscription.go feat(sub): make external subscription fetch User-Agent configurable (#6613) 2026-09-26 23:36:33 +02:00
external_subscription_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
forwarded_trust.go
forwarded_trust_test.go fix(sub): never use X-Real-IP as the subscription host (#6608) 2026-09-26 21:13:46 +02:00
happ.go fix(sub): make Happ require auth on its local SOCKS/HTTP proxy (#6628) 2026-09-26 22:03:20 +02:00
happ_test.go fix(sub): make Happ require auth on its local SOCKS/HTTP proxy (#6628) 2026-09-26 22:03:20 +02:00
host_sub.go fix(sub): keep serverNames out of a reality host's JSON client config (#6691) 2026-10-03 00:32:35 +02:00
host_sub_test.go fix(sub): emit host TLS verification at xray level in JSON subscription 2026-10-05 22:26:04 +02:00
hwid_controller_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
hysteria_geco_uri_test.go fix(sub): export Hysteria2 Gecko obfs in Clash/Mihomo subscriptions 2026-10-14 14:42:00 +02:00
hysteria_server_description_test.go fix(sub): append host serverDescription to hysteria links (#6740) 2026-10-05 19:05:13 +02:00
inactive_external_sub_test.go
incy.go feat(sub): add Incy app-management parameters (#6650) 2026-09-27 01:06:17 +02:00
incy_test.go feat(sub): add Incy app-management parameters (#6650) 2026-09-27 01:06:17 +02:00
info_endpoint_test.go feat(sub): redesign the subscription page around usage, tabs and app imports 2026-09-16 01:55:56 +02:00
json_dns.go feat(sub): let the panel set the JSON subscription DNS servers (#6485) 2026-09-13 11:51:56 +02:00
json_dns_controller_test.go feat(sub): let the panel set the JSON subscription DNS servers (#6485) 2026-09-13 11:51:56 +02:00
json_dns_test.go feat(sub): let the panel set the JSON subscription DNS servers (#6485) 2026-09-13 11:51:56 +02:00
json_flow_gate_test.go
json_info_node_test.go
json_routing.go
json_routing_baked_test.go
json_routing_test.go
json_service.go fix(sub): default VLESS client encryption to none when the inbound has none stored (#6781) 2026-10-12 11:03:47 +02:00
json_service_test.go fix(sub): default VLESS client encryption to none when the inbound has none stored (#6781) 2026-10-12 11:03:47 +02:00
links.go
links_test.go
masque_test.go fix(finalmask): keep a single udphop mask last in every client finalmask 2026-10-11 18:02:12 +02:00
mutation_audit_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
page_data_test.go
placeholders.go fix(sub): prevent default profile page URL disclosure (#6538) 2026-09-15 21:13:29 +02:00
placeholders_test.go fix(sub): prevent default profile page URL disclosure (#6538) 2026-09-15 21:13:29 +02:00
profile_mode_test.go fix(sub): prevent default profile page URL disclosure (#6538) 2026-09-15 21:13:29 +02:00
remark_vars.go
remark_vars_test.go
remote_routing.go
remote_routing_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
salamander_uri_test.go
service.go fix(sub): default VLESS client encryption to none when the inbound has none stored (#6781) 2026-10-12 11:03:47 +02:00
service_amneziawg_test.go fix(sub): preserve per-inbound tunnel identity in subscriptions (#6653) 2026-09-26 20:31:47 +02:00
service_dedup_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
service_exclude_from_sub_test.go feat(inbound): excludeFromSub hides links without disabling (#6463) 2026-09-27 12:26:37 +02:00
service_flow_test.go fix(xray): keep XDRIVE storage and Vision flow within what xray-core runs 2026-10-12 00:49:11 +02:00
service_info_node_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
service_mtproto_test.go
service_orphaned_stats_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
service_property_test.go
service_sharelink_test.go fix(sub): keep the spider settings in a reality spiderX seed's query (#6694) 2026-10-03 00:31:52 +02:00
service_sort_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
service_test.go fix(finalmask): keep a single udphop mask last in every client finalmask 2026-10-11 18:02:12 +02:00
service_tuic_test.go feat(tuic): implement native in-process Go TUIC v5 server (#6577) 2026-10-03 02:56:02 +02:00
service_tunnel_hosts_test.go fix(hosts): advertise Hosts in every WireGuard, AmneziaWG and TUIC config 2026-09-30 15:03:16 +02:00
service_userinfo_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
service_wireguard_test.go fix(sub): preserve per-inbound tunnel identity in subscriptions (#6653) 2026-09-26 20:31:47 +02:00
shadowsocks_plugin_import_test.go fix(link): rebuild shadowsocks tcp/http obfuscation on import (#6505) 2026-09-13 19:58:27 +02:00
sub.go feat(sub): add Incy app-management parameters (#6650) 2026-09-27 01:06:17 +02:00
sub_balancer_protocol_tag_test.go
sub_balancer_test.go
sub_fetch_test.go
sub_json_observatory_test.go
sub_panic_test.go
sub_scale_test.go perf(tests): copy a migrated template DB instead of migrating per test 2026-09-27 03:04:50 +02:00
vless_route.go
vless_route_sub_test.go
vless_route_test.go
vmess_tls_import_test.go fix(link): read the vmess certificate checks on import (#6507) 2026-09-13 19:58:10 +02:00
xdrive_test.go feat(xray): add the XDRIVE transport 2026-10-11 08:21:08 +02:00